3709|5

227

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

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 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操作。

这些操作会被用户的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。

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

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

最新回复

意识到价值的毕竟是少数。我现在的公司,算下来20-30个嵌入式软件工程师,除了我和另外两个,剩下的人调试器只用来烧bin,美其名曰只需要printf   详情 回复 发表于 2021-3-6 21:26
点赞 关注
个人签名

欢迎关注“麦克泰技术”

 
 

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

有关J-Link的 script讲的很好,谢谢分享

 
 
 

回复

227

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
Jacktang 发表于 2021-3-4 07:06 有关J-Link的 script讲的很好,谢谢分享

感谢夸奖,再接再厉

个人签名

欢迎关注“麦克泰技术”

 
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

4
 

学习了!楼主每每提供如此有内容的东西十分感谢!

 
 
 

回复

227

帖子

0

TA的资源

一粒金砂(高级)

5
 
freebsder 发表于 2021-3-4 20:53 学习了!楼主每每提供如此有内容的东西十分感谢!

多谢夸奖了哈哈,不过就是没啥阅读量,道友你每每来顶也是

个人签名

欢迎关注“麦克泰技术”

 
 
 

回复

7608

帖子

2

TA的资源

五彩晶圆(高级)

6
 
MamoYU 发表于 2021-3-5 13:49 多谢夸奖了哈哈,不过就是没啥阅读量,道友你每每来顶也是

意识到价值的毕竟是少数。我现在的公司,算下来20-30个嵌入式软件工程师,除了我和另外两个,剩下的人调试器只用来烧bin,美其名曰只需要printf

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表