当前位置:首页 > > strongerHuang
[导读]J-Link作为被广泛使用的调试器,提供了多种配套的软件工具。


来源 | 麦克泰技术

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文件重名名为:_.jlink,并放置在工程目录的settings目录下,然后IAR进入调试时会自动调用:

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




免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发中,J-Link调试器因其强大的功能和广泛的兼容性成为工程师的首选工具。然而,面对复杂的多核芯片、定制硬件或特殊调试需求时,标准J-Link功能可能无法满足所有场景。此时,J-Link Script文件便...

关键字: 调试器 嵌入式系统

这款开发工具以更实惠的价格为专业工程师、学生和爱好者提供强大调试功能

关键字: 调试器 单片机 USB

在Linux操作系统中,GNU调试器(GDB)是一款功能强大的程序调试工具,广泛应用于C、C++以及其他能够被编译成GDB可理解格式的编程语言中。GDB不仅允许开发者在程序运行时查看内存内容、控制程序执行流程,还能实现源...

关键字: Linux 调试器 GDB

瑞典乌普萨拉,2024年12月5日 — 全球领先的嵌入式系统开发软件解决方案供应商IAR宣布,对VS Code中的调试扩展IAR C-SPY调试器进行了重大升级。此次升级引入了IAR的Listwindow技术,进一步提升...

关键字: 调试器 嵌入式

读源码的目的是让我们学习大佬的想法和技巧,通过大量的阅读进行积累,将有用的代码放在自己的常用代码中,把一些零碎的知识点结合起来。其次就是让我们积累经验,因为很多开源组件会出现各种各样的问题,我们没遇到但是可以参考前辈的经...

关键字: 源码 调试器

新一代MPLAB® ICD 5和MPLAB® PICkit™ 5在线调试器/编程器提供了全新的编程和连接方式

关键字: 编程器 调试器 嵌入式设计

本教程以板上按键控制点亮RV-STAR开发板上的LED为目标,从IDE的下载安装开始详细介绍了使用NucleiStudio蜂鸟调试器进行RISC-V嵌入式开发的方法。系统环境:Windows10-64bit硬件平台:基于...

关键字: ST 调试器 Studio

关注「嵌入式大杂烩」,选择「星标公众号」一起进步!来源| 电子电路开发学习前言分享一篇之前写的文章。趁着前段时间两家PCB厂家打价格战,一天之内,多次降价,看着真是热闹。捷配降到最低3元一款,而嘉立创降到最低5元一款,都...

关键字: link 调试器

前言分享一篇之前写的文章。趁着前段时间两家PCB厂家打价格战,一天之内,多次降价,看着真是热闹。捷配降到最低3元一款,而嘉立创降到最低5元一款,都是顺丰包邮,不过嘉立创免颜色费,而捷配不免,本着吃瓜群众的态度,赶紧薅了一...

关键字: 调试器 固件 原理图

嵌入式软件基本都会存在打印输出数据的情况,我们最常见就是串口打印输出。

关键字: J-Link 串口 输出
关闭