新聞中心

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

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

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




圖6

9.Debug的配置

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

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



圖7

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

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


圖8

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



圖9

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

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




圖10

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

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


圖11

10.進入Utilities~同Debug一樣~選擇~其中的setting其實剛剛講過~其實是同一個~如圖12


圖12

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

需要提醒大家注意的幾點是:

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

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


上一頁 1 2 下一頁

評論


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

關(guān)閉