Ⅰ、概述
該文章總結(jié)Keil(MDK-ARM)在線(xiàn)調(diào)試相關(guān)的內(nèi)容,詳情請(qǐng)往下看。
Ⅱ、下載
Keil集成開(kāi)發(fā)工具和支持包,可以到官方網(wǎng)站下載,也可以到我的360云盤(pán)下載。現(xiàn)在(2016.06)MDK-ARM最新版本是5.20,支持包根據(jù)自己MCU的型號(hào)選擇下載,由于我總結(jié)是基于ST芯片的,在云盤(pán)保存了ST的支持包,我會(huì)定期在360云盤(pán)更新。
Keil下載地址:
官方網(wǎng)站:http://www.keil.com/download/product
360云盤(pán):https://yunpan.cn/cPYaeY23RSsbb訪(fǎng)問(wèn)密碼 9aba
支持包下載地址:
官方網(wǎng)站:http://www.keil.com/dd2/Pack
360云盤(pán):https://yunpan.cn/cxWnPxniRXTMS訪(fǎng)問(wèn)密碼 9a98
演示參考的軟件工程:
https://yunpan.cn/cSnTMev59yXmU訪(fǎng)問(wèn)密碼 f9ff
Ⅲ、調(diào)試功能描述
由于我是直接使用(打開(kāi)現(xiàn)有的軟件工程),如果跟著需要下載上面演示參考的軟件工程才行。工程默認(rèn)是使用硬件在線(xiàn)調(diào)試,接下來(lái)按照每一點(diǎn)來(lái)講述。
1.編譯+調(diào)試
打開(kāi)軟件工程 -> 編譯 -> 調(diào)試
這里的編譯建議使用Build Target(第2個(gè)按鈕)編譯工程(如下圖動(dòng)畫(huà)),也就是使用快捷鍵F7。Translate(第1個(gè)按鈕)是編譯當(dāng)前活動(dòng)文件。Rebuild all Target files(第3個(gè)按鈕)是重新編譯所有目標(biāo)文件。
在線(xiàn)調(diào)試分類(lèi):軟件在線(xiàn)調(diào)試和硬件在線(xiàn)調(diào)試;由于現(xiàn)在硬件成本比較便宜,一般我們都使用硬件在線(xiàn)調(diào)試,也就是軟件直接下載到芯片,我們查看運(yùn)行狀態(tài)。

2.復(fù)位+全速運(yùn)行
復(fù)位 -> 全速運(yùn)行
復(fù)位,使程序復(fù)位到初始;
全速運(yùn)行F5,我們可以在很多地方打斷點(diǎn),讓程序運(yùn)行到斷點(diǎn)位置,此時(shí)程序就停止下來(lái)了。

3.單步調(diào)試
【單步調(diào)試】也就是每點(diǎn)一次按鈕,程序運(yùn)行一步。遇到函數(shù)會(huì)進(jìn)入函數(shù)。
點(diǎn)擊圖標(biāo)按鈕,或者按快捷鍵F11。
(這里取消上面的斷點(diǎn))

4.逐步調(diào)試
【逐步調(diào)試】即逐行調(diào)試,也就是每點(diǎn)一次按鈕,程序運(yùn)行一行。遇到函數(shù)不會(huì)進(jìn)入函數(shù)。
點(diǎn)擊圖標(biāo)按鈕,或者按快捷鍵F10。

5.跳出調(diào)試
【跳出調(diào)試】即挑出函數(shù)調(diào)試,也就是每點(diǎn)一次按鈕,程序跳出一個(gè)函數(shù),直到跳出最外面的函數(shù)(main函數(shù))。
點(diǎn)擊圖標(biāo)按鈕,或者按快捷鍵Ctrl + F11。

6.運(yùn)行到光標(biāo)處
【運(yùn)行到光標(biāo)處】即將光標(biāo)放在某一處,點(diǎn)擊該按鈕(或Ctrl + F11),程序執(zhí)行到光標(biāo)的位置就會(huì)停止下來(lái)(前提是程序能執(zhí)行到光標(biāo)的位置)。

7.跳轉(zhuǎn)到暫停行
這個(gè)功能在程序停止運(yùn)行時(shí)有效,主要的作用就是我們打開(kāi)了很多文件,不知道將程序翻到哪里去了,點(diǎn)擊改按鈕即可知道我們的程序暫停在那個(gè)位置。

8.調(diào)試窗口
【調(diào)試窗口】是在調(diào)試的時(shí)候可以查看的窗口,這里有別于平時(shí)編輯狀態(tài)下的窗口。平時(shí)編輯時(shí)View菜單下面的選項(xiàng)很小,但是進(jìn)入調(diào)試模式,這里就多了很多選項(xiàng),這些選項(xiàng)就是調(diào)試時(shí)查看的窗口(見(jiàn)下圖)。

下面著重講述一下常用的一個(gè)調(diào)試窗口吧
A.內(nèi)存窗口,也就是我們查看變量的窗口

B.系統(tǒng)外設(shè)窗口,也就是外設(shè)寄存器數(shù)值查看的窗口

Ⅳ、說(shuō)明
以上是基于Keil開(kāi)發(fā)工具中的MDK-ARM來(lái)進(jìn)行總結(jié),Keil C51等或許有些地方存在差異。每一種工具的功能都是需要自己親自實(shí)踐,并長(zhǎng)期使用才能達(dá)到靈活運(yùn)用的地步,不建議死記硬背。
-
ARM
+關(guān)注
關(guān)注
135文章
9553瀏覽量
391860 -
keil
+關(guān)注
關(guān)注
69文章
1230瀏覽量
172633 -
MDK
+關(guān)注
關(guān)注
4文章
211瀏覽量
33640
發(fā)布評(píng)論請(qǐng)先 登錄
使用 Keil Studio for Visual Studio Code開(kāi)發(fā) STM32 設(shè)備
MDK-ARM平臺(tái)下的fft介紹
有新版keil MDK-ARM V5 注冊(cè)機(jī)安裝包不,孩子下載keil卡在許可碼過(guò)期了,救救孩子吧
CW32F030CxTx StartKit開(kāi)發(fā)環(huán)境的兼容
聊聊MCU下載算法在Keil MDK里的那些事兒
請(qǐng)問(wèn)jlink的調(diào)試跟keil的調(diào)試有啥區(qū)別啊?
CW32 MCU用什么IDE開(kāi)發(fā)?
scons --target=mdk5編譯不成功如何解決?
求助,關(guān)于PFM-M2351開(kāi)發(fā)環(huán)境設(shè)置的問(wèn)題求解
ARM入門(mén)學(xué)習(xí)方法分享
STM32H745XIH6不能進(jìn)行雙核調(diào)試,CM4不能進(jìn)行在線(xiàn)調(diào)試怎么解決?
請(qǐng)問(wèn)CYPM1011-24LQXI能否直接在keil MDK中開(kāi)發(fā)呢?
從Keil MDK到IAR EWARM:通過(guò)工程遷移實(shí)現(xiàn)項(xiàng)目資產(chǎn)的更好管理
Keil(MDK-ARM) 使用教程(三)_在線(xiàn)調(diào)試
評(píng)論