购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

6.3 STM32的在应用编程

STM32的在应用编程及BootLoader的使用非常简单,这里将给出完整的电路原理图,以及BootLoader使用步骤。

6.3.1 电路原理图

STM32的BootLoader应用电路原理图如图6-2所示。这个电路是在前面的STM32最小电路基础上,增加BootLoader启动模式选择及USART1串口通信电路来实现的。电路图中所使用的元器件如表6-1所示。

图6-2 STM32的BootLoader应用电路

表6-1 元器件列表

这里,P2和P3分别连接STM32的BOOT0引脚和BOOT1引脚,通过选择可以分别置芯片于不同的启动模式。BOOT1=0,BOOT0=1系统存储器被选为启动区,BootLoader便开始执行。USART1的TX引脚为PA9,RX引脚为PA10。我们便可以在计算机上通过串口来下载固件程序。

6.3.2 BootLoader固件下载步骤

有了电路支持后,还需要一个通过 BootLoader 下载固件的程序。意法半导体公司提供了一个 PC 端的免费程序供用户通过 BootLoader 升级固件,用户可以访问网站 www.st.com来获得。

这里便基于这个BootLoader的Flash加载程序来演示如何通过STM32的BootLoader来升级固件。下载固件的步骤如下:

关闭硬件电路的电源。

在电路上置BOOT1=0和BOOT0=1,此时系统内存被选为启动区。

打开电源,系统读取BOOT[1:0]引脚将启动BootLoader程序。

将串口数据线连接至计算机的RS232接口。

打开意法半导体提供的BootLoader加载程序“Flash Loader Demo”,如图6-3所示。这里,参数设置如下:

● Port Name 为所使用的串口号。

● Parity必须设置为Even,即偶校验。

● Band Rate 即波特率,可以任意选择,最高为 115200。

● Timeout一般设置为5s,可以根据系统配置的高度来适当选择。

单击“Next”按钮,正确认出STM32芯片的Flash容量,如图6-4所示。

图6-3“Flash Loader Demo”软件

图6-4 ARM芯片容量

单击“Next”按钮,正确识别出 STM32 芯片的类型,如图 6-5 所示。其中,各个部分的含义如下:

● Target表示了芯片的类型。

● PID表示了目标ID。

● Version表示了BootLoader的版本号。

● Flash区域表示了各个Flash页的起始地址、结束地址、大小及读写状态等。

单击“Next”按钮,进入主要功能区。这里可以完成固件下载、读取及擦除等操作。其中,各项的含义如下:

● Erase用于擦除STM32的Flash存储器,可以选择全部擦除或者部分擦除

● Download to device 用于下载固件。

● Upload fromdevice 用于读取 STM32 芯片内部的固件程序。

● Enable/Disable Flash protection 用于启用或者禁用 Flash 的读写保护。

● Editoption bytes 用于编辑选项字节。

这里,选择“Download to device”,并选择升级的固件文件,如图6-6所示。固件文件以hex为后缀。

图6-5 硬件类型

图6-6 选择固件文件

单击“Next”按钮,便开始依次执行固件下载和校验,如图6-7所示。在该页面还显示了目标芯片、固件文件名称、固件文件大小、升级进度及升级所使用的时间等。

最后,固件下载完成且校验无误后,显示下载成功,如图6-8所示。

此时,单击“Finish”按钮可以退出固件下载程序。

这时,用户的固件程序便下载到STM32芯片内部。用户重新更改BOOT1=x(x表示任意电平)和BOOT0=0,选择用户Flash闪存为启动区。然后,重新启动电路后便可以运行新的固件程序了。

图6-7 固件下载

图6-8 选择固件文件 leHaBuhF/xmcwQeaZh/b0IOc/ESBbZMhaMat+X7BrxWWO29bMBjs5hBHgXdqW1Vp

点击中间区域
呼出菜单
上一章
目录
下一章
×