博客專欄

EEPW首頁 > 博客 > 關于自制調(diào)試器的那些事兒(一)

關于自制調(diào)試器的那些事兒(一)

發(fā)布人:魚鷹談單片機 時間:2022-05-23 來源:工程師 發(fā)布文章

大家好,我是魚鷹。最近魚鷹想自制一個 CMSIS-DAP 的調(diào)試器,并且準備采用藍牙的方式無線調(diào)試,所以把官網(wǎng)的關于 CMSIS-DAP 的資料大體都過了一遍。

圖片


除了 SWD 通信那個 DAP_Transfer 命令之外,基本上理解都差不多了。

官網(wǎng) DAP 命令解釋如下鏈接:

https://www.keil.com/pack/doc/CMSIS/DAP/html/group__DAP__Commands__gr.html


其實在學習 USB 的時候,魚鷹用的就是 CMSIS-DAP 1.0 的官方工程,只是把很多東西刪掉,只保留了 CDC 的功能分享給大家,為的就是讓大家能專注于 USB 本身的學習上。


并且魚鷹也嘗試了該工程的調(diào)試下載功能,可以用,但好像不怎么穩(wěn)定,并且速度捉急。后來才了解到,由于 1.0 版本采用的是 USB 的 HID 模式,雖然在 windows 上可以免驅(qū),但是速度最大只能到 64 KB/s,這個是由于 USB 2.0 全速模式的限制(12 Mb/s),高速模式其實也能達到很高的速度,完全夠用。


后來魚鷹才了解到,DAP 2.0 除了支持調(diào)試下載之外,還增加了 SWO (即 ITM 的功能)輸出、虛擬串口、拖曳燒錄(類似 U 盤)等實用功能,相當給力。另外采用了 winUSB 的驅(qū)動(win10 免驅(qū)),即不走 HID 模式,而是走批量傳輸(目前 ST-link 和 J-link都采用這種),所以速度完全可以和他們媲美。


也就是說,如果使用 DAP-2.0 的固件,即使是全速 USB(STM32103 系列基本都是全速 USB),速度完全夠用。魚鷹在采用 USB 雙緩沖模式下,虛擬 U 盤讀速度可以達到 900 KB/s(魚鷹:探究 USB2.0 的真實傳輸速度是多少?),接近了理論速度。


而據(jù)魚鷹了解到的 BLE 藍牙知識,2 M 速率模式下,無線傳輸速度可達 150KB/s,應該調(diào)試下載都是問題不大的,就是不知道實際情況是怎么樣的。


猶記得幾年前魚鷹在 csdn 寫了一個關于野火 DAP 的固件修復的帖子,其實那個時候只是有基本概念,知道可以實現(xiàn),但不知道具體實現(xiàn),之后雖然勉強在野火的燒錄器實現(xiàn)了燒錄調(diào)試功能,但不理想,也就沒有下文了。


但魚鷹知道,很多人因為這篇博客關注魚鷹的公眾號,還在后臺詢問固件的消息。但不了了之,在此說聲抱歉。


但只要后面有一個成熟的 DAP 固件出爐,就一定會分享給大家,這樣野火的板子不小心燒掉后,也能補救一下,甚至自己做一個調(diào)試器也是沒有任何問題的。


當然源碼就不一定會提供了。不過如果魚鷹實現(xiàn)了更優(yōu)的固件(更穩(wěn)定、下載速度更高、功能更強),早起的源碼也不是不能分享,哈哈。


硬漢的 H7-Tool 工具也有 CMSIS-DAP 的固件,實現(xiàn)了 HID + winUSB 功能(想用哪個用哪個),還是高速模式,所以速度還是很給力的??上Р]有源碼提供學習,只能自己摸索一下了(魚鷹買這個工具的時候,主要就是想學習這個,可是那個時候不知道沒有提供這個的源碼)。


接下來,魚鷹可能會陸陸續(xù)續(xù)分享一些調(diào)試器相關的知識,此篇就作為該系列的開篇吧。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。

電流變送器相關文章:電流變送器原理


關鍵詞: 單片機

相關推薦

技術專區(qū)

關閉