新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32在Keil MDK環(huán)境下RAM上代碼調(diào)試

STM32在Keil MDK環(huán)境下RAM上代碼調(diào)試

作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏




圖6

9.Debug的配置

分成幾部分,原界面和Setting界面

1)原界面,如圖7~首先選好J-link~這里由于使用的是keil4~和keil3的選項(xiàng)會(huì)有不同~在keil3下~選擇“Cortex-M3 J-Link”,取消Load Application at Startup的勾選~



圖7

再說(shuō)說(shuō)這個(gè)CouRAM.ini文件~內(nèi)容如下~如圖8~有注釋~

首先LOAD output.axf~加載啟動(dòng)代碼到RAM~關(guān)關(guān)于hex,bin文件和axf的關(guān)系~是在axf中存有Debug需要的一些調(diào)試語(yǔ)句~所以這文件與前 2者內(nèi)容上是不相同的~前兩者屬于其子集的關(guān)系~(這里的output.axf名字對(duì)應(yīng)了我們上邊設(shè)定的output的文件名設(shè)定~此文件在output 中設(shè)定的文件夾下生成~跟output.sct在一起~)從文件內(nèi)容可以看到~中斷向量表已經(jīng)被映射到0x20000000,PC也指向了 0x20000004~說(shuō)明在RAM中進(jìn)行調(diào)試時(shí)理論上可以的了~


圖8

2)進(jìn)入setting如圖9~首先要選對(duì)interface~有時(shí)候莫名其妙的會(huì)在keil死機(jī)后(我調(diào)程序總是把Keil弄掛了~真不是為何~難道說(shuō)他是Keil~而我是Killer么~哈哈)~一定要注意~不然容易出現(xiàn)J-Link連接失敗的效果~



圖9

3)Trace label不用調(diào)整~默認(rèn)就可以~如果需要使用~記得算好了選用的時(shí)鐘Core Clock~這里是指PLL后的~

4)然后進(jìn)入了Flash Download label,如圖10~Flash的擦寫有規(guī)矩~需要在有內(nèi)容的情況下擦出一個(gè)扇區(qū)后方可寫入,而此時(shí)的RAM自然不必要這樣做~然后RAM for Algorithm需要改下~接著需要點(diǎn)擊add添加Flash編程算法(我還不會(huì)寫這算法,不過大概看了下,就是麻煩點(diǎn)的一堆調(diào)用和設(shè)置)~接著進(jìn)入了選擇界面~如圖11




圖10

在這里選擇好屬于自己的芯片F(xiàn)lash大小~我的這個(gè)挺大的~512K呢~呵呵~

add后還需要再更改最后一行紅線上的內(nèi)容~此時(shí)需要先點(diǎn)一下剛選好的變成算法就會(huì)反白可編輯~然后編程算法會(huì)自動(dòng)更改其自身的地址~


圖11

10.進(jìn)入U(xiǎn)tilities~同Debug一樣~選擇~其中的setting其實(shí)剛剛講過~其實(shí)是同一個(gè)~如圖12


圖12

到此為止~這一天半的RAM調(diào)制研究之旅的總結(jié)畫上了一個(gè)圓滿的句號(hào)~

需要提醒大家注意的幾點(diǎn)是:

1.Debug開始后~不要點(diǎn)reset~因?yàn)檫@樣后走的就是Flash的程序了~容易造成調(diào)試問題~結(jié)果是產(chǎn)生keil被kill掉的PC錯(cuò)誤~

2.重新啟動(dòng)開發(fā)板后一定要build target 一次~或者rebuild all一次再燒寫程序~不然~很容易同上~原因是不太清楚~希望有人能告訴我~呵呵~


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


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

關(guān)閉