本帖最后由 Aligagago 于 2023-9-7 09:25 编辑
最近在调试一款ARM内核的芯片,调试阶段需要不停的断电,配置,烧录。每次启动芯片都要重复配置,不仅繁琐还浪费时间,索性直接调用J-Link工具,自己做个批处理脚本,实现一键“启动”,快速开发。 目前使用ARM 内核的MCU都可以通过JLINK的工具进行烧录,JLINK提供了多种配套的软件工具,其中图形界面(JFlash.exe)和命令行(JLink.exe)的烧录方式比较常用,但无论使用哪种烧录方式,每次烧录都需要要重新操作,那将会很麻烦,所以我们可以采用批命令的方法来进行烧录。那我们就先看下JFlash的批处理脚本如何实现。JLINK官网:https://www.segger.com/ 目前最新版是V7.92c 本次使用的是V7.88e
如何查找JFlash指令,我们可以在软件界面查看网页版, 也可以在安装目录:xxx\SEGGER\JLink\Doc\Manuals\UM08003_JFlash.pdf查看PDF版。 打开帮助文档,我们可以找到第五章:命令行接口 找到5.2 Command line options 查看支持的命令: 其中常用的以下几个命令较为常用: -openprj<FILENAME>:jflash文件路径。 -open<FILENAME>[,<SADDR>]:bin文件路径,bin文件烧录地址。 -erasechip:擦除全片Flash。 -programverify:烧录校验。 -startapp:运行程序。 -exit:退出JFlash。
然后我们开始编写批命令: ECHO Open JFlash for LED2_3 cd C:\Program Files\SEGGER\JLink JFlash.exe -openprjC:\Users\geehy\Desktop\LED2_3.jflash –openC:\Users\geehy\Desktop\LED2_3.bin,0x08000000 -auto -startapp -exit IF ERRORLEVEL 1 goto ERROR goto END :ERROR ECHO J-Flash ARM: Error! pause :END
注意: 1. cd:添加JFlash.exe 路径,如果该exe文件已经添加到系统环境变量,就可以直接使用,不然就需要添加绝对路径。 2. -openprj和-open 后面紧跟文件,中间不能有空格。 3. bin文件和烧录地址之间用(,)间隔。
写完批命令后我们试着用APM32F407的开发板进行验证, 创建一个APM432F407的JFlash工程, 将SDK中Example工程编译生成bin文件, 双击上述写的批命令(.bat)。 烧录成功后,窗口关闭,否则出现Error错误提示。
同时我们也可以通过J-Link Commannder(命令行)进行烧录 打开J-Link Commannder,发送? 查阅命令 主要命令包括: mem32:读32字节内存。 W4:写32字节内存 h:停止CPU运行查看PC g:运行 r:复位 q:退出 LoadBin <filename>,<numbytes>:下载bin文件 SaveBin <filename>,<addr>,<numbytes>:保存bin文件 我们写一个:LED2_3.jlink 文件 loadbin C:\Desktop\LED2_3.bin0x08000000 savebin C:\Desktop\Read.bin0x08000000 0x800 mem32 0x08000000 0x10 g
然后添加批命令: "C:\xxx\JLink.exe" -autoconnect 1 -device APM32F407VE -if swd -speed 1000 -commandfile C:\Desktop\LED2_3.jlink -AutoConnect <Value> | Value==1: Forces the J-Link Commander to connect to the target, automatically. | | Selects the target device. | | Configures the target interface. | | Configures the target interface speed. | -CommandFile <CommandFilePath> | Selects a J-Link Command file which contains the commands for batch mode / auto execution. |
上面介绍的方法只是简单的演示,JLink的功能还是很强大的,大家可以去查看官方资料,根据自己的需求,制定专属批命令,在开发过程中可以更加高效。
|