自制了一個調試器,該如何確定這個調試器是否正常工作呢?官方給了一個調試工程,專門用于測試調試器是否正常(所有 MDK 支持的調試器都可以使用該工程測試)。
為了測試 103 的芯片,我們需要稍微修改一下工程(原來的工程不適合)。
工程路徑如下(這里的 5.5.1 根據實際安裝版本找):
C:Keil_v5ARMPACKARMCMSIS5.5.1CMSISDAPFirmwareValidationMDK5
首先,我們先復制兩個工程文件出來,因為默認情況下為只讀,所以需要設置為可讀寫:
我們設置 Validasion 兩個文件為可讀寫。
打開工程,出現錯誤,直接取消即可:
因為是測試 CMSIS-DAP 調試器(其它調試器類似),所以需要設置一些調試配置。
1、首先修改地址為0x08000000,因為我們的目標板是 103 的。
2、選擇調試器,SWJ 勾選上,連接被調試板子,此時應該能看到右邊的 ID。
如果沒有連接目標板子,就會出現錯誤,但是調試器是可以正常識別的:
3、下載配置:
完成之后,我們就可以關閉工程了。
現在我們有兩種方式進行測試:
手動法:
重新打開工程,編譯、下載、調試三部曲之后,在調試界面下會自動完成測試工作,測試完成后會自動退出調試模式,測試結果存放在工程目錄下 test_results :
通過這種方式,魚鷹得到結果都是正常的:
自動法:
這種方法使用腳本自動完成測試功能(不需要打開工程)。里面有一個腳本 test.bat。正常情況下,直接在命令行下執行就可得到結果,但可能安裝路徑不對時,會出現如下錯誤:
此時可以在執行腳本時手動指定路徑,或者修改腳本中的路徑:
test.batC:Keil_v5UV4UV4.exe
然后可以得到下面的執行結果。
可以看出,這種執行的結果最后一項是有問題的,目前暫不清楚為啥兩者結果不一致。
以上就是魚鷹想為大家分享的內容,幫助大家測試一個制作好的調試器。
那么原理是什么呢?
其實就是利用了 MDK 調試器中的 test.ini 文件進行調試命令交互,如設置斷點、讀寫內存等操作,并對結果進行驗證,通過學習它,能更深刻的理解調試過程,建議大家學習。
最后分享一些相關的鏈接供大家學習:
驅動安裝
https://www.armbbs.cn/forum.php?mod=viewthread&tid=101747&extra=page%3D2%26filter%3Dtypeid%26typeid%3D312
https://www.armbbs.cn/forum.php?mod=viewthread&tid=101748&extra=page%3D1%26filter%3Dtypeid%26typeid%3D312
源碼 pack(5.8.0 ,其它版本亦可)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=107629&extra=page%3D1%26filter%3Dtypeid%26typeid%3D312
測試:
https://www.armbbs.cn/forum.php?mod=viewthread&tid=99606&extra=page%3D2%26filter%3Dtypeid%26typeid%3D312
審核編輯 :李倩
-
芯片
+關注
關注
455文章
50756瀏覽量
423349 -
調試器
+關注
關注
1文章
304瀏覽量
23738
原文標題:如何測試自制調試器的功能?
文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論