作者:strongerHuang
學習過STM32或Cortex-M處理器的讀者對J-Link、ST-Link應該不陌生,都知道它們是下載調試器。
除了J-Link、ST-Link常見的調試器,市面上還有一種常見CMSIS-DAP Debugger,在Keil或IAR選擇調試器的時候,會有一些調試器選項。
折騰過市面上調試器的讀者應該發(fā)現(xiàn)一個問題,有一些不同的調試器,在Keil選擇調試器都選擇CMSIS-DAP Debugger,比如:E-Link、 GD-Link等。
那么,問題來了,CMSIS-DAP是什么?和J-Link、ST-Link有關系嗎?
之前的文章《
Cortex-M微控制器軟件接口標準CMSIS詳細內容
》有簡單描述CMSIS-DAP的內容。
CMSIS:
Cortex Microcontroller Software Interface Standard,即Cortex微控制器軟件接口標準。
DAP:
Debug Access Port,調試訪問端口。
CMSIS-DAP支持各種Cortex處理器CoreSight調試和跟蹤。
CMSIS-DAP為調試器提供標準化的接口,支持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以源碼形式提供,不存在版權問題
(因為針對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處理器的例子,如果你有這個處理器對應的板卡,可以直接使用該源碼做一個調試器。
通過上面的介紹,你應該發(fā)現(xiàn)了CMSIS-DAP就是一套針對Cortex處理器的標準調試接口(協(xié)議),開發(fā)者可以在其基礎上開發(fā)一套調試器,只需要遵從這套協(xié)議即可。
因此,你們看到的一些調試器,其實就是應用了這套標準的協(xié)議。在J-Link、ST-Link里面使用的協(xié)議也不列外。
感興趣的朋友,可以花時間研究,并自制一個CMSIS-DAP調試器,如果你懂原理,我覺得你自己編寫一套ST-Link源碼都不是問題。
免責聲明:
本文部分素材來源網絡
,版權歸原作者所有。如涉及作品版權問題,請與我聯(lián)系刪除。
若覺得文章不錯,轉發(fā)分享,也是我們繼續(xù)更新的動力。
5T資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、單片機、等等!
在公眾號內回復「
更多資源
」,即可免費獲取,期待你的關注~
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!