Arm處理器調試采用jlink硬件調試器的命令使用大全

arm處理器分為cortex-a,cortex-r,cortex-m等3個內核系列,其中m系列一般是單片機,例如stm32等,工控用得挺多。a系列一般是消費娛樂產品等使用較多,例如手機處理器。r系列是高端實時類型處理器,價格高,不太了解。這里說說最多接觸的m和a系列。

說說硬件調試器:

一般有多種,st官方的st-link,SEGGER的J-Link、IAR的I-jet(本人使用過其多核調試功能),ulink,cmsis-dap等這幾個我們一般能用到的。簡單說一下:

st-link:僅支持自家m系列stm32單片機

jlink:支持m,a,r系列

ulink:這些請看這個博客:

常用的ARM調試器介紹(系統的學習調試器看這一篇就夠了)-CSDN博客

說一下常用的調試環境搭建:

m系列一般用st-link調試器就可以調試,a系列一般得用jlink調試。

m和a系列處理器一般支持jtag、swd兩種調試協議。jtag調試協議占用引腳端口多,swd占用僅2個而且燒錄速度更快,stm32一般都用swd協議,a系列用jtag協議較多,但是也可以嘗試一下swd協議,看看速度有變快不。

注意:對于swd協議,st-link最大支持4MHZ通信頻率(st-link調試器一般是v2版本,據說st-link硬件調試器升級軟件版本為v3能提高一倍速度?沒試過可以試試),但是jlink則可以達到幾十MHZ,下載速度確實快幾倍(本人手頭也有jlink v11的調試器實測過stm32f103zet6采用swd協議,確實比st-link快幾倍,但是采用jtag協議,好像連不上不知道為什么,沒深究了)。????????

關于這個通信速率(swd和jtag模式其實都是同樣共用設置的頻率),目前已知為:st-link最大4MHZ(keil使用的話里面最大可設該值),jink最大未知(看jlink.exe軟件安裝后里面的手冊 UM08001_Jlink.pdf介紹的章節?7.6.1 SWD speed 提到和目標處理器以及jlink版本什么的都有關系,也就是沒有個確定上界值(但是在keil里,或者JLinkGDBServer.exe雙擊運行界面里,最大可選50MHZ),一般來說4000KHZ,也就是4MHZ比較常見且穩定,設高了,能正常通信就可以(和線纜質量也有很大關系),否則就自己降低速率吧),但是我發現命令行啟動jlink時候,設置超過50MHZ竟然也沒有報錯,就不太懂了。而且jlink分別base版(近100塊,用得比較多,下載頻率設置到15MHZ,也很穩,也比stlink快幾倍)、pro版(稍微貴一些,頻率可以到幾十MHZ)、ultra版(近萬元一個,極致性能了)。

也就是說,無論是stm32還是a系列處理器,調試器盡量選用jlink(對stm32所有系列支持也非常友好的),雖然貴了點,但是下載速度更快,功能更強大,可配置內容也更多。關于其它品類的支持arm的調試器,我沒測試過,就不多說了,但是從那些調試器的性能介紹來看,jlink依然速率和穩定性應該是最好的。

關于stlink的使用:

可以使用一個開源的st-link.exe工具鏈,或者openocd(而且各種類型調試器它都能驅動)都可以。可以看我其它博客:

嵌入式IDE原理 OpenOCD介紹 以及stlink如何連接stm32板子-CSDN博客

?驅動單片機硬件調試器的一些開源庫總結(包含stlink調試器)_stlink 開源-CSDN博客

?OpenOCD如何通過stlink直接下載程序到stm32板子(已解決)_openocd stlink-CSDN博客

windows用gcc編譯stm32程序命令行控制stlink下載到板子_stlinkgdb.exe-CSDN博客

關于jlink的使用:

使用openocd也可以,但是這里主要說使用jlink調試器官方自己的jlink.exe工具鏈,因為適配性更好。只需要下載官方的jlink軟件工具安裝即可。里面有各種jlink開頭的.exe工具鏈,但是用戶接口一般都是jlink.exe這個軟件,如果是gdb連接jlink調試器,那么需要啟動JLinkGDBServerCL.exe,然后gdb.exe發起連接它即可,這里進行常用的介紹如下:

首先,最全的介紹,就在jlink.exe軟件安裝后里面的手冊 UM08001_Jlink.pdf介紹,所有功能大綱以及相關命令出處,里面都介紹得清清楚楚。關于jlink.exe的命令,里面僅進行了簡單介紹,是給了在線網頁命令大全:J-Link Commander - SEGGER Knowledge Base。而關于jlinkgdbserver.exe命令倒是進行了詳細介紹,以及gdb能執行的透傳monitor命令列表。

jlink.exe的操作命令,從上面的網頁可以看出,分為啟動jlink.exe時候(也稱為配置命令)的命令行參數,以及進入jlink.exe軟件后(也成為Debugging命令)的命令行參數兩種,例如halt命令,就只能是進入了jlink.exe后,才能使用的。所以多看看這些資料,就知道如何用了。

例如下載程序,由于loadfile命令得進入jlink.exe才能使用,此時一行命令行就沒法實現了,jlink.exe剛好支持命令腳本,啟動jlink.exe時候-CommandFile即可指定命令腳本,具體參見文檔以及網頁說明。此外,如果用戶有自定義的目標版設置命令,jlink.exe還支持init腳本,請參見相關內容。

最后再說一點,jlink的命令很多,但是我們一般需要用的其實就幾個,其它的都是保持默認就可以了。還有就是文檔風格等原因吧,如果深究,其實會發現有些寫得邏輯不太容易理解,總之已經能解決我們的問題,以及知道設置參數一些極限,就可以了,不用太轉牛角尖了,不然越思考越覺得文檔寫得有些解釋不通的地方,例如退出命令,里面寫的是exit,但是用quit也能退出(會發現jlink所有介紹命令都沒有出現過quit)!!!這個可能就是文檔寫得沒有完全準確的原因,如果我們一直深究,轉牛角尖去看,就只會徒勞費時間精力了,做嵌入式開發其實其它任務也有類似現象,也無需轉牛角尖的

最后給出stm32的程序下載命令:

-device STM32F103ZET6 -if SWD -speed 50000 -autoconnect 1 -CommandFile download.jlink

?download.jlink內容如下:
?

connect
halt
WaitHalt 100
loadfile "build/Project4_hal_small_debug.bin" 0x08000000
RX 100
exit

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83177.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83177.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83177.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何將圖像插入 PDF:最佳工具比較

無論您是編輯營銷材料、寫報告還是改寫原來的PDF文件,將圖像插入 PDF 都至關重要。幸運的是,有多種在線和離線工具可以簡化此任務。在本文中,我們將比較一些常用的 PDF 添加圖像工具,并根據您的使用場景推薦最佳解決方案&#xff…

4、獲取樹莓派溫度

打開終端,使用指令查看CPU溫度,依次輸入以下指令: 1.進入操作目錄 cd /sys/class/thermal/thermal_zone0 2.查看溫度 cat temp 樹莓派的返回值 51540 返回值除以1000為當前CPU溫度值。即當前溫度為51攝氏度。

Leetcode 269. 火星詞典

1.題目基本信息 1.1.題目描述 現有一種使用英語字母的外星文語言,這門語言的字母順序與英語順序不同。 給定一個字符串列表 words ,作為這門語言的詞典,words 中的字符串已經 按這門新語言的字母順序進行了排序 。 請你根據該詞典還原出此…

使用vscode進行c/c++開發的時候,輸出報錯亂碼、cpp文件本身亂碼的問題解決

使用vscode進行c/c開發的時候,輸出報錯亂碼、cpp文件本身亂碼的問題解決 問題描述解決方案問題1的解決方案問題2解決方案 問題描述 本篇文章解決兩個問題: 1.當cpp文件出現錯誤的時候,編譯時報錯,但是報錯內容缺是亂碼&#xff0…

現代數據湖架構全景解析:存儲、表格式、計算引擎與元數據服務的協同生態

本文全面剖析現代數據湖架構的核心組件,深入探討對象存儲(OSS/S3)、表格式(Iceberg/Hudi/Delta Lake)、計算引擎(Spark/Flink/Presto)及元數據服務(HMS/Amoro)的協作關系,并提供企業級選型指南。 一、數據湖架構演進與核心價值 數據湖架構演進歷程 現代數據湖核心價…

主數據編碼體系全景解析:從基礎到高級的編碼策略全指南

在數字化轉型的浪潮中,主數據管理(MDM)已成為企業數字化轉型的基石。而主數據編碼作為MDM的核心環節,其設計質量直接關系到數據管理的效率、系統的可擴展性以及業務決策的準確性。本文將系統性地探討主數據編碼的七大核心策略&…

Mac電腦上本地安裝 MySQL并配置開啟自啟完整流程

文章目錄 一、mysql安裝1.1 使用 Homebrew 安裝(推薦)1.2 手動下載 MySQL 社區版1.3 常見問題1.4 圖形化管理工具(可選) 二、Mac 上配置 MySQL 開機自動啟動2.1 使用 launchd 系統服務(原生支持)2.2 通過 H…

SQL Server 事務詳解:概念、特性、隔離級別與實踐

一、事務的基本概念 事務(Transaction)是數據庫操作的基本單位,它是由一組SQL語句組成的邏輯工作單元。事務具有以下關鍵特性,通常被稱為ACID特性: ??原子性(Atomicity)??:事務…

【C語言極簡自學筆記】項目開發——掃雷游戲

一、項目概述 1.項目背景 掃雷是一款經典的益智游戲,由于它簡單而富有挑戰性的玩法深受人們喜愛。在 C 語言學習過程中,開發掃雷游戲是一個非常合適的實踐項目,它能夠綜合運用 C 語言的多種基礎知識,如數組、函數、循環、條件判…

unix/linux source 命令,其發展歷程詳細時間線、由來、歷史背景

追本溯源,探究技術的歷史背景和發展脈絡,能夠幫助我們更深刻地理解其設計哲學和存在的意義。source 命令(或者說它的前身和等效形式)的歷史,與 Unix Shell 本身的發展緊密相連。 讓我們一起踏上這段追溯之旅,探索 source 命令的由來和發展歷程。 早期 Unix Shell 與命令…

720全景展示:VR全景的技術原理及應用

VR720全景展示:技術原理及應用探索 720全景技術,作為當前全球范圍內迅速崛起流行的視覺新技術,為用戶帶來了全新的真實現場感和交互式的體驗。憑借全方位、無死角的視覺展示特性,在VR(虛擬現實)領域中得到…

Python爬蟲實戰:研究Requests-HTML庫相關技術

1. 引言 1.1 研究背景與意義 隨著互聯網數據量的爆炸式增長,網絡爬蟲已成為數據獲取的重要工具,廣泛應用于市場調研、輿情分析、學術研究等領域。傳統爬蟲技術在面對現代 JavaScript 動態渲染網頁時面臨挑戰,而 Requests-HTML 庫通過集成瀏覽器渲染引擎,為解決這一問題提…

VectorStore 組件深入學習與檢索方法

考慮到目前市面上的向量數據庫眾多,每個數據庫的操作方式也無統一標準,但是仍然存在著一些公共特征,LangChain 基于這些通用的特征封裝了 VectorStore 基類,在這個基類下,可以將方法劃分成 6 種: 相似性搜…

【PyQt5】從零開始的PyQt5 - QLabel篇

從零開始的PyQt5 - QLabel篇 引言一、簡述二、例程2.1 顯示到QWidget窗口上2.2 重新設置Label大小和對齊方式2.3 添加內容,設置邊框2.4 顯示富文本 三、參考 引言 QLabel主要用于顯示文本或圖像,不提供用戶交互功能。本文主要簡述PyQt5中的QLabel以及展…

論文略讀:Uncertainty-Aware Graph Structure Learning

WWW 2025 1 intro 傳統GNN忽視了圖結構自身存在的缺陷: 圖結構常常會出現錯誤邊和缺失邊等數據問題,從而限制模型的效果 —>為了解決上述問題,產生了圖結構學習算法(GSL) 目的在于優化結點連接和邊權重來生成新的鄰接矩陣主流…

HCIE-STP復習

文章目錄 STP STP 🏡作者主頁:點擊! 🤖Datacom專欄:點擊! ??創作時間:2025年05月31日13點17STP通過三要素選舉消除環路: 根橋(BID最小,建議設優先級為0&…

leetcode17.電話號碼的字母組合:字符串映射與回溯的巧妙聯動

一、題目深度解析與字符映射邏輯 題目描述 給定一個僅包含數字 2-9 的字符串 digits,返回所有它能表示的字母組合。數字與字母的映射關系如下(與電話按鍵相同): 2: "abc", 3: "def", 4: "ghi", …

【Unity】模型漸變技術 BlendShapes變形

模型fbx拖拽到場景并賦予腳本上SkinnedMeshRenderer參數 按下空格即可演示漸變 可去到3DsMax 或 Blender等軟件制作 這種帶有BlendShapes的模型 (Sphere002)是另一個模型,3DsMax叫變形器。 可參考:【技術美術百人計劃】美術 3.5 BlendShape基礎_嗶哩嗶哩…

CTFHub-RCE 命令注入-無過濾

觀察源代碼 判斷是Windows還是Linux 源代碼中有 ping -c 4 說明是Linux 查看有哪些文件 127.0.0.1|ls 發現除了index.php文件外,還存在一個可疑的文件 打開flag文件 我們嘗試打開這個文件 127.0.0.1|cat 19492844826916.php 可是發現 文本內容顯示不出來&…

DrissionPage ChromiumPage模式:瀏覽器自動化的高效利器

引言 在Python自動化領域,Selenium與Requests是開發者耳熟能詳的工具,但二者在功能側重上存在明顯割裂。DrissionPage的出現打破了這一局面,其創新的ChromiumPage模式通過整合瀏覽器自動化與HTTP請求能力,為網頁操作提供了全新解…