RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

J-Link script的組成

strongerHuang ? 來源:麥克泰技術(shù) ? 作者:麥克泰技術(shù) ? 2021-03-09 10:57 ? 次閱讀

J-Link作為被廣泛使用的調(diào)試器,提供了多種配套的軟件工具。例如命令配置軟件J-Link Commander,GDB server,J-Flash等。其中,J-Link Commander支持一種類C的腳本語言,稱作J-Link script。

J-Link script

腳本語言不需要編譯,它由解釋器動態(tài)解釋執(zhí)行。J-Link Commander(路徑C:Program Files (x86)SEGGERJLinkJLink.exe)是一個解釋器,負(fù)責(zé)對J-Link script文件進(jìn)行解釋。

一般情況下可能不需要特別的操作就能通過J-Link連接到目標(biāo)系統(tǒng),進(jìn)行代碼下載或者調(diào)試。但某些情況下需要J-Link來執(zhí)行一些自定義的操作,比如多核芯片的JTAG鏈的配置,硬件需要一些特殊的處理等。這些操作需要由用戶根據(jù)自己的實(shí)際情況來定制,所以需要使用腳本來進(jìn)行編寫。

J-Link script的組成

J-Link script包括了基本語法、自定義操作、API函數(shù),DLL全局常量/變量。

J-Link script的語法與C語言類似,支持C語言中大多數(shù)的的語句,例如if else,while,變量聲明等等。詳細(xì)的語法可參考:

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

腳本文件支持允許定制J-Link執(zhí)行的不同操作。根據(jù)腳本文件中是否存在相應(yīng)的函數(shù),一般實(shí)現(xiàn)的操作將被腳本文件中定義的操作所替代。下面列出并解釋了所有可以使用腳本文件定制的J-Link操作。

這些操作會被用戶的J-Link script中的替代,在不同的時機(jī)觸發(fā)這些操作。關(guān)于每個操作的具體解釋可以參考:

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

DLL全局常量/變量是用于J-Link DLL配置用途的全局常量/變量。腳本中的常量和變量會被傳遞給DLL,例如用于設(shè)置CPU型號,JTAG鏈,調(diào)試組件CoreSight的基地址。全局常量目前僅用于設(shè)置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函數(shù)是一組內(nèi)置接口,用于跟DLL通信,使用DLL的諸多底層操作。例如,JLINK_MEM_WriteU32()是往指定的地址寫入一個32位的數(shù)據(jù)。API函數(shù)列表:

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

使用J-Link script文件

J-Link script文件有兩種類型:

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

· 預(yù)編譯腳本文件(*.pex)

*預(yù)編譯腳本文件用于用戶不想公開所編寫的操作。

通過J-Link Commander執(zhí)行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:在工程設(shè)置項Debugger->Extra Options中勾選“Use command line options”,然后使用命令“--jlink_script_file=”命令指定目錄中的.JlinkScriptFile。

方法2:將J-Link script文件重名名為:_.jlink,并放置在工程目錄的settings目錄下,然后IAR進(jìn)入調(diào)試時會自動調(diào)用:

IAR項目的每個構(gòu)建配置都有一個設(shè)置,例如默認(rèn)的Debug和Release。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4779

    瀏覽量

    68521
  • J-Link
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    22137
  • 解釋器
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    6509

原文標(biāo)題:J-Link script文件的作用與用法

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何通過J-Link向目標(biāo)系統(tǒng)供電

    ? ? J-Link能夠通過JTAG接口的Pin-19引腳向目標(biāo)系統(tǒng)輸出5V電壓,電流不超過300mA。 默認(rèn)情況下,J-Link供電功能是關(guān)閉的。用戶可以通過命令或相應(yīng)的工具配置啟動供電功能。 1
    的頭像 發(fā)表于 12-21 14:29 ?94次閱讀
    如何通過<b class='flag-5'>J-Link</b>向目標(biāo)系統(tǒng)供電

    【敏矽微ME32G070開發(fā)板免費(fèi)體驗(yàn)】之開箱與demo體驗(yàn)并j-link

    接上面的帖子: https://bbs.elecfans.com/jishu_2468789_1_1.html 終于找到了合適的下載器 ,調(diào)試器 j-link 多謝之前參加的活動送出的這個調(diào)試器
    發(fā)表于 12-15 12:42

    RISC-V 使用J-Link調(diào)試RV-STAR

    使用J-Link調(diào)試RV-STAR 前提: 此文檔是面向已經(jīng)有一定使用基礎(chǔ)的用戶,在此省略了Nuclei Studio IDE下載安裝、編譯和調(diào)試運(yùn)行等流程的詳細(xì)介紹,主要指導(dǎo)用戶如何連接
    發(fā)表于 12-14 17:47

    SEGGER為J-Link和Flasher提供Device Provisioner工具

    日前,SEGGER宣布為其Flasher系列編程器以及J-LinkJ-Trace系列調(diào)試跟蹤工具提供Device Provisioner工具。
    的頭像 發(fā)表于 10-22 15:12 ?389次閱讀

    不同J-Link版本對于i.MXRT1170連接復(fù)位后處理行為

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是不同J-Link版本對于i.MXRT1170連接復(fù)位后處理行為。
    的頭像 發(fā)表于 08-08 15:29 ?421次閱讀
    不同<b class='flag-5'>J-Link</b>版本對于i.MXRT1170連接復(fù)位后處理行為

    點(diǎn)擊j-link下載之后,不會調(diào)用出j-link.exe,沒有反應(yīng)怎么解決?

    點(diǎn)擊j-link下載之后,不會調(diào)用出j-link.exe,沒有反應(yīng),有大神遇到這種情況嗎,怎么解決,求助
    發(fā)表于 07-18 06:12

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

    Jlink-V9固件刷新工具 - J-link固件刷新針對J-link偶發(fā)損壞問題,進(jìn)行固件升級后解決問題。
    發(fā)表于 06-11 09:11 ?42次下載

    STM32F103c8t6 J-LINK無法下載的原因?

    STM32F103c8t6 J-LINK無法下載的原因?
    發(fā)表于 05-17 06:19

    STM32仿真器是選擇ST-LINK還是選擇J-LINK?各有什么優(yōu)勢???

    最近在學(xué)是STM32仿真器是選擇ST-LINK 還是選擇J-LINK?各有什么優(yōu)勢啊?
    發(fā)表于 05-13 08:19

    用st-linkj-link工具怎么燒寫STM32信息區(qū)塊?

    怎么燒寫STM32 信息區(qū)塊!用st-linkj-link工具。
    發(fā)表于 05-08 07:20

    J-LINK提示Active write protected STM32 device detected但是驅(qū)動能正常識別,為什么?

    J-LINK 提示 Active write protected STM32 device detected... 但是驅(qū)動能正常識別。在線等,謝謝!采用的swd的下載方式,現(xiàn)在是驅(qū)動能正常識別,就是找不到SWD,下載不了程序。
    發(fā)表于 04-25 07:04

    J-Trace調(diào)試器比起J-link的優(yōu)勢在哪些方面?

    看了半天J-Trace調(diào)試器的介紹,想向用過的大佬咨詢比起J-link的優(yōu)勢在哪些方面? 是不是在某些調(diào)試場合特別能提高調(diào)試效率?
    發(fā)表于 04-15 06:48

    J-Link/Flasher仿真器可能無法與芯片正確連接,導(dǎo)致在IDE中調(diào)試失敗怎么解決?

    在某些情況下,J-Link/Flasher仿真器可能無法與芯片正確連接,而導(dǎo)致在IDE中調(diào)試失敗,出現(xiàn)例如“Failed to get CPU status after 4 retries”的報錯信息,無法獲取芯片的狀態(tài),可能是由于J-Link未與芯片成功連接導(dǎo)致的。
    發(fā)表于 04-08 06:17

    j-link的操作命ConfigTargetSettings()發(fā)出的數(shù)據(jù)有什么具體的意義嗎?

    有沒有工程師懂得j-link的操作命ConfigTargetSettings()發(fā)出的數(shù)據(jù)有什么具體的意義嗎?目前用j-link接口分別連接四線jtag接口與兩線cjtag接口時,在同樣的初始化階段
    發(fā)表于 03-20 07:48

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

    ADUCM360 DEMO板中的J-LINK固件掉了怎么辦??! 通用大個的J-LINK可以通過里面的跳線重?zé)碳謴?fù),但是DEMO板中配套的J-LINK送的跳線不知道有沒有接出?接出了也不知道那幾個?
    發(fā)表于 01-15 06:35
    RM新时代网站-首页