博客專欄

EEPW首頁 > 博客 > 強(qiáng)??!如何測試自制調(diào)試器的功能?

強(qiáng)??!如何測試自制調(diào)試器的功能?

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

自制了一個調(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)系工作人員刪除。



關(guān)鍵詞: 單片機(jī)

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉