J-Link script文件的作用与用法
J-Linkscript文件的作用与用法[复制链接]
例如命令配置软件J-LinkCommander,GDBserver,J-Flash等。
其中,J-LinkCommander支持一种类C的脚本语言,称作J-Linkscript。
J-LinkCommander(路径C:ProgramFiles(x86)SEGGERJLinkJLink.exe)是一个解释器,负责对J-Linkscript文件进行解释。
一般情况下可能不需要特别的操作就能通过J-Link连接到目标系统,进行代码下载或者调试。
但某些情况下需要J-Link来执行一些自定义的操作,比如多核芯片的JTAG链的配置,硬件需要一些特殊的处理等。
这些操作需要由用户根据自己的实际情况来定制,所以需要使用脚本来进行编写。
J-Linkscript的语法与C语言类似,支持C语言中大多数的的语句,例如ifelse,while,变量声明等等。
详细的语法可参考:https://wiki.segger.com/J-Link_script_files#Script_file_language脚本文件支持允许定制J-Link执行的不同操作。
根据脚本文件中是否存在相应的函数,一般实现的操作将被脚本文件中定义的操作所替代。
下面列出并解释了所有可以使用脚本文件定制的J-Link操作。
关于每个操作的具体解释可以参考:https://wiki.segger.com/J-Link_script_files#Customizable_actionsDLL全局常量/变量是用于J-LinkDLL配置用途的全局常量/变量。
脚本中的常量和变量会被传递给DLL,例如用于设置CPU型号,JTAG链,调试组件CoreSight的基地址。
全局常量目前仅用于设置DLL全局变量CPU。
支持的常量列表:https://wiki.segger.com/J-Link_script_files#Global_DLL_constants支持的变量列表:https://wiki.segger.com/J-Link_script_files#Global_DLL_variablesAPI函数是一组内置接口,用于跟DLL通信,使用DLL的诸多底层操作。
例如,JLINK_MEM_WriteU32()是往指定的地址写入一个32位的数据。
API函数列表:https://wiki.segger.com/J-Link_script_files#Script_file_API_functions
通过J-LinkCommander执行J-Linkscript命令格式:JLink.exe-JLinkScriptFileC:WorkMyFile.JlinkScript 在IDE中使用J-Linkscript文件J-Linkscript可以与常见的IDE(IAR/SeggerSES/Keil/Eclipse)配合使用,以IAREWARM为例,使用J-Linkscript有两种方法。
方法1:在工程设置项Debugger->ExtraOptions中勾选“Usecommandlineoptions”,然后使用命令“--jlink_script_file=”命令指定目录中的.JlinkScriptFile。
Jacktang2021-3-407:06有关J-Link的script讲的很好,谢谢分享
感谢夸奖,再接再厉|||学习了!楼主每每提供如此有内容的东西十分感谢!|||freebsder2021-3-420:53学习了!楼主每每提供如此有内容的东西十分感谢!
多谢夸奖了哈哈,不过就是没啥阅读量,道友你每每来顶也是MamoYU2021-3-513:49多谢夸奖了哈哈,不过就是没啥阅读量,道友你每每来顶也是
意识到价值的毕竟是少数。
我现在的公司,算下来20-30个嵌入式软件工程师,除了我和另外两个,剩下的人调试器只用来烧bin,美其名曰只需要printf