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的脚本。然后在编译完成之后就会自动调用这个脚本,自动开始下载。

脚本内容如下:

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

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

 

发表评论

电子邮件地址不会被公开。

*