良许Linux教程网 干货合集 J-Link script文件的作用与用法

J-Link script文件的作用与用法

作为一种广泛使用的调试器,J-Link提供了多种配套的软件工具,例如命令配置软件J-Link Commander、GDB server和J-Flash等。其中,J-Link Commander支持一种类C的脚本语言,称为J-Link script。

J-Link script是一种脚本语言,无需编译,由解释器动态解释执行。J-Link Commander(路径:C:\Program Files (x86)\SEGGER\JLink\JLink.exe)是一个解释器,负责对J-Link script文件进行解释。

通常情况下,通过J-Link连接到目标系统进行代码下载或调试可能不需要特别的操作。但在某些情况下,需要使用J-Link执行一些自定义操作,比如配置多核芯片的JTAG链或对硬件进行特殊处理等。这些操作需要根据用户的实际情况进行定制,因此需要使用脚本进行编写。通过编写脚本,用户可以自定义J-Link在特定情况下的行为。

J-Link script的组成

J-Link script包括了基本语法、自定义操作、API函数,DLL全局常量/变量。

J-Link script的语法与C语言类似,支持C语言中大多数的的语句,例如if else,while,变量声明等等。详细的语法可参考:

https://wiki.segger.com/J-Link_script_files#Script_file_language

脚本文件支持允许定制J-Link执行的不同操作。根据脚本文件中是否存在相应的函数,一般实现的操作将被脚本文件中定义的操作所替代。下面列出并解释了所有可以使用脚本文件定制的J-Link操作。

image-20231128221634664
image-20231128221634664

这些操作会被用户的J-Link script中的替代,在不同的时机触发这些操作。关于每个操作的具体解释可以参考:

https://wiki.segger.com/J-Link_script_files#Customizable_actions

DLL全局常量/变量是用于J-Link DLL配置用途的全局常量/变量。脚本中的常量和变量会被传递给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_variables

API函数是一组内置接口,用于跟DLL通信,使用DLL的诸多底层操作。例如,JLINK_MEM_WriteU32()是往指定的地址写入一个32位的数据。API函数列表:

https://wiki.segger.com/J-Link_script_files#Script_file_API_functions

使用J-Link script文件

J-Link script文件有两种类型:

· 明文脚本文件(*.JLinkScriptFile)

· 预编译脚本文件(*.pex)

*预编译脚本文件用于用户不想公开所编写的操作。

通过J-Link Commander执行J-Link script

命令格式:

JLink.exe -JLinkScriptFile C:\Work\MyFile.JlinkScript

在IDE中使用J-Link script文件

J-Link script可以与常见的IDE(IAR/Segger SES/Keil/Eclipse)配合使用,以IAR EWARM为例,使用J-Link script有两种方法。

方法1:在工程设置项Debugger->Extra Options中勾选“Use command line options”,然后使用命令“–jlink_script_file=”命令指定目录中的.JlinkScriptFile。

image-20231128221640510
image-20231128221640510

方法2:将J-Link script文件重名名为:_.jlink,并放置在工程目录的settings目录下,然后IAR进入调试时会自动调用:

image-20231128221643548
image-20231128221643548

IAR项目的每个构建配置都有一个设置,例如默认的Debug和Release。

image-20231128221646037
image-20231128221646037

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部