0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

J-Link script的组成与使用方法

电子工程师 来源:麦克泰技术 作者:麦克泰技术 2022-08-01 12:20 次阅读

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

J-Link script

脚本语言不需要编译,它由解释器动态解释执行。J-Link Commander(路径C:ProgramFiles (x86)SEGGERJLinkJLink.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操作。

5ec1bf5c-1150-11ed-ba43-dac502259ad0.png

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

5ecebe32-1150-11ed-ba43-dac502259ad0.png

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

5edbb952-1150-11ed-ba43-dac502259ad0.png

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

5efd551c-1150-11ed-ba43-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 调试器
    +关注

    关注

    1

    文章

    297

    浏览量

    23544
  • J-Link
    +关注

    关注

    0

    文章

    83

    浏览量

    22035
  • 脚本语言
    +关注

    关注

    0

    文章

    47

    浏览量

    8173

原文标题:J-Link script文件的作用与用法

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    j-link固件可以换掉新的j-link吗?

    求大神解答,刷固件一直刷不出来,网上的 方法都试过了。。。固件修复不了我就担心换新的 j-link还是一样的问题,是操作系统问题还是 j-link硬件问题??
    发表于08-14 21:14

    J-Linkscript文件的作用与用法

    script组成 J-Link script包括了基本语法、自定义操作、API函数,DLL全局常量/变量。 J-Link
    发表于03-02 16:40

    j-link仿真烧录驱动

    j-link仿真烧录驱动
    发表于01-14 02:07 22次下载

    如何安装J-Link驱动软件教程详细说明

    众所周知, J-Link是ARM 的仿真器,可以仿真很多ARM 内核的CPU 代码。当然,想使用 J-Link仿真器,就必须安装其驱动。本期教程主要讲述 J-Link软件驱动的安装。我们直奔主题
    发表于04-21 13:08 44次下载
    如何安装<b class='flag-5'>J-Link</b>驱动软件教程详细说明

    J-LinkJ-Trace用户指南免费下载

    J-Link/ J-Trace有不同的版本,每个版本都是为不同的目的/目标设备设计的。目前, J-Link/ J-Trace有以下几种型号: J-Link
    发表于03-03 08:00 14次下载
    <b class='flag-5'>J-Link</b>和<b class='flag-5'>J</b>-Trace用户指南免费下载

    J-Linkscript组成

    脚本语言不需要编译,它由解释器动态解释执行。 J-LinkCommander(路径C:Program Files (x86)SEGGERJLinkJLink.exe)是一个解释器,负责对 J-Link script文件进行解释。
    的头像 发表于03-09 10:57 2009次阅读

    教你轻松J-Link不能连接目标MCU的问题

    J-Link是嵌入式软件、硬件工程师最常用的工具之一,但是,在使用这个工具时,也会遇到各种各样的问题。 今天来给大家讲讲最常见的一个问题: J-Link不能连接目标MCU。 J-Link的连接
    的头像 发表于06-30 11:18 5497次阅读
    教你轻松<b class='flag-5'>J-Link</b>不能连接目标MCU的问题

    如何处理J-Link不能连接目标MCU的问题?

    J-Link是嵌入式软件、硬件工程师最常用的工具之一,但是,在使用这个工具时,也会遇到各种各样的问题。今天来给大家讲讲最常见的一个问题: J-Link不能连接目标MCU。 J-Link的连接使...
    发表于10-29 10:21 8次下载
    如何处理<b class='flag-5'>J-Link</b>不能连接目标MCU的问题?

    基于J-LinkRemote Server软件的远程调试方法

    SEGGER提供了一个 J-LinkRemote Server软件,可以使得在任何地方连接 J-Link调试应用。 J-LinkRemote Server提供了图形界面和命令行的版本,支持
    的头像 发表于06-14 08:56 1860次阅读

    J-Link添加Geehy芯片

    最近调试Geehy的APM32芯片想着替换STM32,发现在使用Keil+ J-Link的调试过程中总是发现 J-Link会在初次下载的时候提示
    的头像 发表于07-25 14:57 4653次阅读

    J-Link中的JTAG接口的正确使用注意事项

    所有标记为NC的针脚均未连接在 J-Link内部。这里可以应用任何信号; J-Link将忽略这种信号。引脚4、6、8、10、12、14、16、18、20是连接到 J-Link中GND的GND引脚。它们还应连接到目标系统中的GND。
    的头像 发表于09-23 09:57 2764次阅读
    <b class='flag-5'>J-Link</b>中的JTAG接口的正确使用注意事项

    ST-Link也能当J-Link使用?

    之前分享过一篇文章《CMSIS-DAP和 J-Link、ST- Link是什么关系》,文中提到了 J-Link和 ST- Link的 DAP 协议一样。
    的头像 发表于03-13 11:12 2758次阅读
    ST-<b class='flag-5'>Link</b>也能当<b class='flag-5'>J-Link</b>​使用?​

    SEGGERJ-Link调试仿真器支持新型可编程SOC(片上系统)系列

    所有 J-Link型号( J-LinkPRO、 J-LinkULTRA+、 J-LinkPLUS和 J-LinkBASE)最新硬件版本现在都支
    的头像 发表于04-14 14:20 2009次阅读

    使用J-Link烧写程序到RA芯片

    本篇文章主要介绍如何使用 J-Link对瑞萨芯片进行烧录,并以实际项目进行演示。
    的头像 发表于11-11 18:36 1880次阅读
    使用<b class='flag-5'>J-Link</b>烧写程序到RA芯片

    J-Link连接MCU失败解决办法

    J-Link连接MCU失败解决办法
    的头像 发表于10-18 17:43 873次阅读
    <b class='flag-5'>J-Link</b>连接MCU失败解决办法