Keil-MDK编译完成后自动烧写下载

Keil-MDK编译完成后自动烧写下载

大多数人使用Keil调试程序都是先点编译工程(Build),然后等编译成功后再点下载(Download)或者调试(Debug)。Keil本身可以选择编译完成后自动开启调试,但是如果不想开启调试而是直接下载固件并运行就不行了,Keil并未直接提供该选项,还是要去点一下下载(Download)。这样对于我们这些“效率控“来说简直难以忍受!

但是Keil提供了运行自定义程序的设置界面,上篇文章介绍了Keil-MDK编译前后运行用户自定义程序,在这个基础上配合常用的J-link下载器可以实现编译完成后自动下载固件到MCU

keil-auto-download

像上面这样在”Run User Programs After Build/Rebuild“里添加一个DownloadHex.bat的脚本。然后在编译完成之后就会自动调用这个脚本,自动开始下载。

脚本内容如下:

1 echo Start Download Hex
2 "C:\Program Files (x86)\SEGGER\JLinkARM_V420p\JFlashARM.exe" -openprj"D:\STM32 Web Server\Code\STM32F103VE.jflash" -open"D:\STM32 Web Server\Code\Obj\WebServer.hex",0x0 -auto -exit

echo Start Download Hex:显示一个开始下载的提示。

“C:\Program Files (x86)\SEGGER\JLinkARM_V420p\JFlashARM.exe” -openprj”D:\STM32 Web Server\Code\STM32F103VE.jflash” -open”D:\STM32 Web Server\Code\Obj\WebServer.hex”,0x0 -auto -exit

“C:\Program Files (x86)\SEGGER\JLinkARM_V420p\JFlashARM.exe”:调用J-link的下载程序FlashARM.exe,由于路径中有空格所以在完整路径前后加双引号(下同)。

-openprj”D:\STM32 Web Server\Code\STM32F103VE.jflash” :加载工程文件,这个文件可以到J-link的安装目录下打开FlashARM.exe,然后新建一个工程,再设置好J-link工作模式、运行频率、CPU型号等参数,并验证可以正常下载目标固件文件后保存得到。

open”D:\STM32 Web Server\Code\Obj\WebServer.hex”,0x0:加载固件文件并设置固件在目标Flash中的起始地址,这个文件需设置Keil输出Hex,然后编译完成后可以在Keil的输出文件夹里找到。固件起始地址如无特殊需要一般都是设为0。

-auto:自动开始下载,这个指令的具体内容在J-link工程的设置界面里勾选需要执行哪些操作,如下图。

jlink-project-auto

-exit:关闭J-link下载界面。

附:J-flash完整命令行指令

jflash-cmd

weinxin
我的微信
一个码农、工程狮、集能量和智慧于一身的、DIY高手、小伙伴er很多的、80后奶爸。
Igor
  • 版权声明: 发表于 2020-07-2215:12:18
  • 转载注明:http://blog.tsingmac.com/prolions/creators/hardware/3898/
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: