自製了一個調試器,該如何確定這個調試器是否正常工作呢?官方給了一個調試工程,專門用於測試調試器是否正常(所有 MDK 支持的調試器都可以使用該工程測試)。
為了測試 103 的芯片,我們需要稍微修改一下工程(原來的工程不適合)。
工程路徑如下(這裡的 5.5.1 根據實際安裝版本找):
C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\DAP\Firmware\Validation\MDK5
首先,我們先複製兩個工程文件出來,因為默認情況下為只讀,所以需要設置為可讀寫:
我們設置 Validasion 兩個文件為可讀寫。
打開工程,出現錯誤,直接取消即可:
因為是測試 CMSIS-DAP 調試器(其它調試器類似),所以需要設置一些調試配置。
1、首先修改地址為0x08000000,因為我們的目標板是 103 的。
2、選擇調試器,SWJ 勾選上,連接被調試板子,此時應該能看到右邊的 ID。
如果沒有連接目標板子,就會出現錯誤,但調試器是可以正常識別的:
3、下載配置:
完成之後,我們就可以關閉工程了。
現在我們有兩種方式進行測試:
第一種:手動法
重新打開工程,編譯、下載、調試三部曲之後,在調試界面下會自動完成測試工作,測試完成後會自動退出調試模式,測試結果存放在工程目錄下 test_results :
通過這種方式,得到的結果都是正常的:
第二種:自動法
這種方法使用腳本自動完成測試功能(不需要打開工程)。裡面有一個腳本 test.bat。正常情況下,直接在命令行下執行就可得到結果,但可能安裝路徑不對時,會出現如下錯誤:
此時可以在執行腳本時手動指定路徑,或者修改腳本中的路徑:
可以看出,這種執行的結果最後一項是有問題的,目前暫不清楚為啥兩者結果不一致。
以上就是今天為大家分享的內容,幫助大家測試一個製作好的調試器。
那麼原理是什麼呢?
其實就是利用了 MDK 調試器中的 test.ini 文件進行調試命令交互,如設置斷點、讀寫內存等操作,並對結果進行驗證,通過學習它,能更深刻的理解調試過程,建議大家學習。
來源:魚鷹談單片機
因最近微信公眾平台推送規則改變,很多讀者反饋沒有及時看到更新的文章。根據最新規則,建議多點擊「推薦閱讀、分享、收藏」等,成為常讀用戶。
推薦閱讀:
華為「天才少年」稚暉君又出新作!
為什麼國產芯片也用英文寫「datasheet」?
耗時2個月拆解一輛特斯拉,最後扒出這些料兒!
請點下【在看】給小編加雞腿
