Keil MDK的界面雖然不那么友好(IAR其實(shí)也一樣),但調(diào)試功能還算不錯(cuò),特別是針對(duì)Cortex-M內(nèi)核的處理器。
Keil MDK支持的調(diào)試功能有很多:組件查看器、事件記錄器、事件統(tǒng)計(jì)、數(shù)據(jù)和事件跟蹤、指令跟蹤等。
有很多網(wǎng)友反應(yīng),Keil MDK在調(diào)試的時(shí)候,會(huì)遇到各種問題,下面就簡(jiǎn)單講述一下Keil MDK調(diào)試時(shí),軟件和硬件的一些要求。
1.邏輯分析儀它要求目標(biāo)硬件支持 SWO 或 ETM 跟蹤。
SWO 跟蹤或 ETM 跟蹤需要在 μVision 調(diào)試設(shè)置中正確配置:
2.性能分析器它要求目標(biāo)硬件支持 ETM 跟蹤。ETM 跟蹤需要在 Keil 調(diào)試設(shè)置中正確配置。
要求:與 Keil一起使用的調(diào)試器硬件需要支持流式 ETM 跟蹤,例如 ULINKpro。(有些第三方調(diào)試適配器硬件,如之前的 J-Trace Pro,不支持Keil?中的 ETM 流跟蹤,換句話說(shuō),不能與性能分析器一起使用)
3.代碼覆蓋率它與“性能分析器”一樣,調(diào)試器硬件需要支持流式 ETM 跟蹤?!按a覆蓋率”對(duì)話框提供有關(guān)已執(zhí)行代碼的統(tǒng)計(jì)信息。將此信息與反匯編窗口中的信息一起使用。
4.系統(tǒng)分析儀系統(tǒng)分析器主要顯示的某些調(diào)試信息,例如功耗、測(cè)量的內(nèi)核時(shí)鐘頻率等。
如果要查看其他調(diào)試信息,例如 RTX5 事件、線程等,需要正確啟用和設(shè)置事件記錄器。同時(shí),查看調(diào)試信息(比如異常),需要啟用和設(shè)置 SWO 或 ETM 跟蹤。
5.系統(tǒng)和線程查看器系統(tǒng)和線程查看器僅支持基于 CMSIS RTOS v1 的舊版 Keil RTXv4.x(僅支持 Keil RTX 4.82 或更早版本)。
如果你使用 Keil RTXv4.x 的項(xiàng)目使用 ARM V6.x 編譯器工具鏈編譯的,需要遵循“系統(tǒng)和線程查看器”為空。
有關(guān) Keil RTX 5 的類似信息,可以使用“組件查看器”。
6.組件查看器與上面第5點(diǎn)對(duì)應(yīng),組件查看器僅支持CMSIS RTOS v2,組件查看器窗口顯示的靜態(tài)信息,幫助分析軟件組件的操作。所需的基礎(chǔ)架構(gòu)可以輕松添加到用戶應(yīng)用程序中,并且已經(jīng)在 MDK-Middleware 和 Keil RTX5 中實(shí)現(xiàn)。
本文就先分享到這里,還有更多關(guān)于Keil 調(diào)試的相關(guān)內(nèi)容,后續(xù)為大家分享。
更多Keil教程,可以關(guān)注公眾號(hào)回復(fù)關(guān)鍵字【Keil系列教程】。