作者:strongerHuang
學習過STM32或Cortex-M處理器的讀者對J-Link、ST-Link應(yīng)該不陌生,都知道它們是下載調(diào)試器。
除了J-Link、ST-Link常見的調(diào)試器,市面上還有一種常見CMSIS-DAP Debugger,在Keil或IAR選擇調(diào)試器的時候,會有一些調(diào)試器選項。
折騰過市面上調(diào)試器的讀者應(yīng)該發(fā)現(xiàn)一個問題,有一些不同的調(diào)試器,在Keil選擇調(diào)試器都選擇CMSIS-DAP Debugger,比如:E-Link、 GD-Link等。
那么,問題來了,CMSIS-DAP是什么?和J-Link、ST-Link有關(guān)系嗎?
之前的文章《
Cortex-M微控制器軟件接口標準CMSIS詳細內(nèi)容
》有簡單描述CMSIS-DAP的內(nèi)容。
CMSIS:
Cortex Microcontroller Software Interface Standard,即Cortex微控制器軟件接口標準。
DAP:
Debug Access Port,調(diào)試訪問端口。
CMSIS-DAP支持各種Cortex處理器CoreSight調(diào)試和跟蹤。
CMSIS-DAP為調(diào)試器提供標準化的接口,支持5線JTAG或2線SWD,其固件作為源代碼提供。
https://arm-software.github.io/CMSIS_5/DAP/html/index.html
http://www.keil.com/support/man/docs/dapdebug/dapdebug_introduction.htm
上面說了CMSIS-DAP固件有Arm以源碼形式提供,不存在版權(quán)問題
(因為針對Arm Cortex處理器,他們還希望更多人使用)。
版本1配置使用USB HID作為與主機PC的接口。
版本2配置使用WinUSB作為與主機PC的接口,并提供高速SWO跟蹤流。
目前源碼提供在Keil MDK V5版本,安裝好Keil MDK,你在安裝目錄下就能找到源碼。
C:\Keil_v5\ARM\Packs\ARM\CMSIS\5.6.0\CMSIS\DAP\Firmware
(目前MDK V5.29,CMSIS版本為5.6.0)
從文件目錄可以看出,官方源碼提供了一些模板和例子。
目前只提供了LPC處理器的例子,如果你有這個處理器對應(yīng)的板卡,可以直接使用該源碼做一個調(diào)試器。
通過上面的介紹,你應(yīng)該發(fā)現(xiàn)了CMSIS-DAP就是一套針對Cortex處理器的標準調(diào)試接口(協(xié)議),開發(fā)者可以在其基礎(chǔ)上開發(fā)一套調(diào)試器,只需要遵從這套協(xié)議即可。
因此,你們看到的一些調(diào)試器,其實就是應(yīng)用了這套標準的協(xié)議。在J-Link、ST-Link里面使用的協(xié)議也不列外。
感興趣的朋友,可以花時間研究,并自制一個CMSIS-DAP調(diào)試器,如果你懂原理,我覺得你自己編寫一套ST-Link源碼都不是問題。
免責聲明:
本文部分素材來源網(wǎng)絡(luò)
,版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除。
若覺得文章不錯,轉(zhuǎn)發(fā)分享,也是我們繼續(xù)更新的動力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等!
在公眾號內(nèi)回復「
更多資源
」,即可免費獲取,期待你的關(guān)注~
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!