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

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

3天内不再提示

J-Link script的组成

strongerHuang 来源:麦克泰技术 作者:麦克泰技术 2021-03-09 10:57 次阅读

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

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

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

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

责任编辑:lq

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

    关注

    30

    文章

    4603

    浏览量

    67390
  • J-Link
    +关注

    关注

    0

    文章

    79

    浏览量

    22000
  • 解释器
    +关注

    关注

    0

    文章

    98

    浏览量

    6437

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

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

收藏 人收藏

    评论

    相关推荐

    Jlink-V9固件刷新工具-J-link固件刷新

    Jlink-V9固件刷新工具 - J-link固件刷新针对J-link偶发损坏问题,进行固件升级后解决问题。
    发表于 06-11 09:11 3次下载

    STM32F103c8t6 J-LINK无法下载的原因?

    STM32F103c8t6 J-LINK无法下载的原因?
    发表于 05-17 06:19

    STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?

    最近在学是STM32仿真器是选择ST-LINK 还是选择J-LINK?各有什么优势啊?
    发表于 05-13 08:19

    用st-linkj-link工具怎么烧写STM32信息区块?

    怎么烧写STM32 信息区块!用st-linkj-link工具。
    发表于 05-08 07:20

    J-Trace调试器比起J-link的优势在哪些方面?

    看了半天J-Trace调试器的介绍,想向用过的大佬咨询比起J-link的优势在哪些方面? 是不是在某些调试场合特别能提高调试效率?
    发表于 04-15 06:48

    j-link的操作命ConfigTargetSettings()发出的数据有什么具体的意义吗?

    有没有工程师懂得j-link的操作命ConfigTargetSettings()发出的数据有什么具体的意义吗?目前用j-link接口分别连接四线jtag接口与两线cjtag接口时,在同样的初始化阶段
    发表于 03-20 07:48

    ADUCM360 DEMO板中的J-LINK固件掉了怎么办?

    ADUCM360 DEMO板中的J-LINK固件掉了怎么办!! 通用大个的J-LINK可以通过里面的跳线重烧固件恢复,但是DEMO板中配套的J-LINK送的跳线不知道有没有接出?接出了也不知道那几个?
    发表于 01-15 06:35

    J-Link 中的JTAG 接口:正确使用需要了解的注意事项,在这里!

    J-Link 中的JTAG 接口:正确使用需要了解的注意事项,在这里!
    的头像 发表于 12-01 16:01 946次阅读
    <b class='flag-5'>J-Link</b> 中的JTAG 接口:正确使用需要了解的注意事项,在这里!

    基于RASC的keil电子时钟制作(瑞萨RA)(3)----使用J-Link烧写程序到瑞萨芯片

    这一节主要讲解如何使用J-Link对瑞萨RA芯片进行烧录。
    的头像 发表于 12-01 14:49 368次阅读
    基于RASC的keil电子时钟制作(瑞萨RA)(3)----使用<b class='flag-5'>J-Link</b>烧写程序到瑞萨芯片

    电子时钟制作(瑞萨RA)(3)----使用J-Link烧写程序到瑞萨芯片

    这一节主要讲解如何使用J-Link对瑞萨RA芯片进行烧录。
    的头像 发表于 12-01 14:01 532次阅读
    电子时钟制作(瑞萨RA)(3)----使用<b class='flag-5'>J-Link</b>烧写程序到瑞萨芯片

    SEGGER的J-Link PRO PoE使自动化大规模测试变得简单

    SEGGER的J-Link PRO PoE是J-Link家族的新成员,具有以太网供电功能,是创建快速、自动化、大规模并行和可靠测试场的编程和调试器的理想选择。 质量保证需要测试、再测试和更多的测试
    的头像 发表于 10-25 11:16 746次阅读

    J-Link下载代码异常的解决方法

    较多电路板在设计时,为了节省空间,会采用 SWD 方式下载程序,并在硬件设计上只将 SWCLK、SWDIO 及 GND 与 J-Link 对接,此时就有可能会出现无法正常下载代码的现象此问题只针对
    发表于 10-19 07:40

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

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

    基于瑞萨R7FA2E1A52DFL MCU的触控系统设计与J-link仿真

    基于瑞萨R7FA2E1A52DFL MCU的触控系统设计与J-link仿真
    的头像 发表于 09-26 17:18 858次阅读
    基于瑞萨R7FA2E1A52DFL MCU的触控系统设计与<b class='flag-5'>J-link</b>仿真

    基于RA2L1的串口及J-Link的烧写说明

    基于RA2L1的串口及J-Link的烧写说明
    的头像 发表于 08-19 08:08 270次阅读
    基于RA2L1的串口及<b class='flag-5'>J-Link</b>的烧写说明