強(qiáng)??!如何測試自制調(diào)試器的功能?
自制了一個調(diào)試器,該如何確定這個調(diào)試器是否正常工作呢?官方給了一個調(diào)試工程,專門用于測試調(diào)試器是否正常(所有 MDK 支持的調(diào)試器都可以使用該工程測試)。
為了測試 103 的芯片,我們需要稍微修改一下工程(原來的工程不適合)。
工程路徑如下(這里的 5.5.1 根據(jù)實際安裝版本找):
C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.5.1\CMSIS\DAP\Firmware\Validation\MDK5
首先,我們先復(fù)制兩個工程文件出來,因為默認(rèn)情況下為只讀,所以需要設(shè)置為可讀寫:
我們設(shè)置 Validasion 兩個文件為可讀寫。
打開工程,出現(xiàn)錯誤,直接取消即可:
因為是測試 CMSIS-DAP 調(diào)試器(其它調(diào)試器類似),所以需要設(shè)置一些調(diào)試配置。
1、首先修改地址為 0x08000000,因為我們的目標(biāo)板是 103 的。
2、選擇調(diào)試器,SWJ 勾選上,連接被調(diào)試板子,此時應(yīng)該能看到右邊的 ID。
如果沒有連接目標(biāo)板子,就會出現(xiàn)錯誤,但是調(diào)試器是可以正常識別的:
3、下載配置:
完成之后,我們就可以關(guān)閉工程了。
現(xiàn)在我們有兩種方式進(jìn)行測試:
手動法:
重新打開工程,編譯、下載、調(diào)試三部曲之后,在調(diào)試界面下會自動完成測試工作,測試完成后會自動退出調(diào)試模式,測試結(jié)果存放在工程目錄下 test_results :
通過這種方式,魚鷹得到結(jié)果都是正常的:
自動法:
這種方法使用腳本自動完成測試功能(不需要打開工程)。里面有一個腳本 test.bat。正常情況下,直接在命令行下執(zhí)行就可得到結(jié)果,但可能安裝路徑不對時,會出現(xiàn)如下錯誤:
此時可以在執(zhí)行腳本時手動指定路徑,或者修改腳本中的路徑:
test.bat C:\Keil_v5\UV4\UV4.exe
然后可以得到下面的執(zhí)行結(jié)果。
可以看出,這種執(zhí)行的結(jié)果最后一項是有問題的,目前暫不清楚為啥兩者結(jié)果不一致。
以上就是魚鷹想為大家分享的內(nèi)容,幫助大家測試一個制作好的調(diào)試器。
那么原理是什么呢?
其實就是利用了 MDK 調(diào)試器中的 test.ini 文件進(jìn)行調(diào)試命令交互,如設(shè)置斷點、讀寫內(nèi)存等操作,并對結(jié)果進(jìn)行驗證,通過學(xué)習(xí)它,能更深刻的理解調(diào)試過程,建議大家學(xué)習(xí)。
最后分享一些相關(guān)的鏈接供大家學(xué)習(xí):
驅(qū)動安裝
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
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。