Linux嵌入式环境一键ISP烧录
参考博客:
stm32flash一键ISP烧录单片机
【keil备忘录】1.stm32 hex转bin
烧录工具源码下载:
https://sourceforge.net/p/stm32flash/code/ci/master/tree/
前言
博主手头有个jetson orin nano super的板子,连接了一块STM32F407的单片机设备,如下:

现在想通过jetson的板子,给STM32进行串口一键固件烧录,以此来实现对设备的远程升级。
步骤1:生成bin文件

打开我们的Keil项目,按照上面目录,添加如下配置:
fromelf --bin -o "$L@L.bin" "#L"
然后点击重新编译,就会在hex文件的目录下多生成一个bin文件,这个就是我们用来烧录用的。
步骤2:下载stm32flash工具与windows环境烧录bin文件
工具下载直接用网盘的:
https://pan.baidu.com/s/1XQl42YNZnCNDQpG5Fjy7PQ?pwd=8bm2
windows下的烧录指令如下:
stm32flash.exe -b 115200 -R -i -dtr,rts,dtr,rts -w 100.bin -v -g 0x08000000 COM8
效果如下:

这里要注意了:网盘里面有提供linux下的运行程序,我在jsetson环境下尝试运行过,不能用,最好的办法是直接用源码重新编译
步骤3:下载stm32flash工具源码
进入jetson开发板,找个目录,执行下面命令,进行源码下载:
git clone https://git.code.sf.net/p/stm32flash/code stm32flash-code
进入目录后,直接执行“make”,就能生成我们的执行文件了

步骤4:Linux环境烧录测试
将linux环境下的stm32flash文件拷贝出来,然后执行下面命令,就可以实现烧录了
stm32flash -b 115200 -R -i -dtr,rts,dtr,rts -w 100.bin -v -g 0x08000000 /dev/robot_update_hex
效果如下:

补充内容
如果烧录的地址不清楚的,可以看下FlyMcu工具的提示信息。
