STM32在Keil MDK環(huán)境下RAM上代碼調(diào)試
圖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名字對應(yīng)了我們上邊設(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一次再燒寫程序~不然~很容易同上~原因是不太清楚~希望有人能告訴我~呵呵~
評論