FlyMcu是串口下载
STLINK Utility是STLINK下载
生成hex文件
打开hex文件,点击开始编程
在编程之前,需要配置BOOT引脚,让STM32执行BootLoader,否则点击开始编程,程序会一直卡住。第一步STM32板上有跳线帽,把BOOT0配线帽拔下来,配置BOOT1。第二步,按下复位键,程序重新启动,这样芯片就进入BootLoader程序了。
1.BOOT引脚是干嘛的,为什么这样配置,BootLoader是干嘛的,串口下载原理是什么?
串口下载的原理就是将程序通过串口传输给STM32并存放在Flash区,但是串口下载本身就是一段程序,更新过程中就会被顶替也就无法完成程序更新,而存储在ROM区系统存储器中的BootLoader就是ST公司写好的一段自举程序,用于辅助完成串口下载和程序更新,而更改跳线帽所插位置就是启动BootLoader的方式之一
启动配置
2.每次下载程序都要拔插跳线帽有没有解决方法
可以在串口的RTS和DTR口上接一个控制电路来控制BOOT0的值,串口电路搜索STM32一键下载电路,当具有一键下载电路时就不需要多次改变跳线帽了。
在没有一键下载电路的情况下,开启BootLoader后可以将FlyMcu中的 ”编程后执行” 勾选并将编程到Flash时写选项字节取消勾选,也可以直接运行程序,但是这样程序是一次性的,复位后停止运行。
程序下载之后自动执行配置
这些配置需要根据一键下载电路完成,最常用的就是DTR的低电平复位,RTS高电平进BootLoader。
FlyMCU软件其它操作
读Flash文件,程序文件以 .bin格式,里面记录了stm32从0800开始存储的程序数据。
.bin格式是没有地址信息的原始数据文件 ,之前生成.hex文件有地址信息
点击软件中的读FLASH按钮可以将芯片中的程序读取出来,所以以后自己做产品一定要开启读保护,点击清除芯片按钮会将芯片中的代码擦除,点击读器件信息就会将芯片的序列号等等信息读出。
读Flash文件
清除芯片
选项字节,用途是存储一些独立程序代码的配置参数。有哪些参数,作用是什么。
在这个界面中就可以设置读保护是否允许读出,注意如果选择阻止读出则在向芯片下载程序时就会失败,需要将其设置成允许读出,在取消读保护的同时会清空芯片程序,达成保护程序的目的。
选项字节中的参数不会随程序的更新而更新,选项字节也可以用上位机进行直接修改,可以用于某些用户配置的参数。
写保护字节:可以对Flash的每个页单独进行写保护,如在主程序的在最后几页写了一下自定数据,不想在下载的时候被擦除了,就可以把最后几页,写保护锁起来。注意一下,写保护后,再下载,如需要写入保护区,就会出错,如在前面几页写保护,下载一次再下载就会出错。
配置完成后,把 ”编程到Flash时写选项字节” 勾上,在执行正常下载流程,就能更新选项字节的配置了。
STLINK Utility软件
下载流程:硬件部分把STLINK接好,串口可不接,跳线帽恢复原来
选项字节配置
可以单独更改选项字节的参数
固件更新
点击Connect连接。这里提升重启,在硬件STLINK拔掉,重新插。