新聞中心

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ò) 收藏
自從51后就沒(méi)碰過(guò)了Keil了~從昨天下午又開(kāi)始再次使用Keil MDK~不過(guò)這次是for ARM的~前幾天的STM32W108調(diào)試統(tǒng)統(tǒng)是在IAR上進(jìn)行的~

剛在STM32F103ZE-EK上進(jìn)行了一個(gè)例程的調(diào)試~就發(fā)現(xiàn)原來(lái)更有方法在RAM中進(jìn)行代碼調(diào)試的配置~以前在IAR中知道有個(gè)iar- cfg.icf文件是關(guān)于存儲(chǔ)分配的~貌似也可以如此~不過(guò)沒(méi)實(shí)際操作過(guò)不敢下結(jié)論~索性就在Keil下來(lái)了個(gè)嘗試~比較坎坷~也學(xué)到不少東西~

本文引用地址:http://2s4d.com/article/201611/322723.htm

廢話少說(shuō),進(jìn)入正題~(Keil4下的畫面~這個(gè)配置的方法跟是3一樣~)

步驟與圖示:

1.先給個(gè)CPU的數(shù)據(jù),需要注意的是三個(gè)紅圈的地方,架構(gòu),型號(hào),F(xiàn)lash和SRAM大小~如圖1


圖1

2.Target的設(shè)置

1)勾上可以用微庫(kù),減小生成代碼的大小

2,3)分別定義ROM區(qū)位置及大小和RAM區(qū)位置和大小。在這里需要說(shuō)明的是,Cortex-M3的架構(gòu)有4G的尋址空間,而Flash的起始地址在0x08000000,RAM地址在0x20000000,在這里進(jìn)行了第一次相關(guān)地址的更改~如圖2

0x1000為4K~這里的0xc000則為48K的ROM分配~RAM的為16K~基本上移植個(gè)uCOS-II都?jí)蛴昧藒


圖2

3.Output的設(shè)置

強(qiáng)調(diào)一下Name of Executable吧~這里默認(rèn)的應(yīng)該是project的名字,我習(xí)慣改成output~而且這與編譯后產(chǎn)生的*.axf和*.sct文件名字都有關(guān)聯(lián)~沒(méi)勾選HEX~感覺(jué)選了也沒(méi)用~寫到SRAM中的是。。。見(jiàn)圖3




圖3

4.Listing Label~沒(méi)啥說(shuō)的~不上圖了~默認(rèn)~

5.User Label~更沒(méi)啥說(shuō)的~同上~

6.C/C++ Label~貌似都沒(méi)啥說(shuō)的我后面就不用寫了~再同上。。。。~

7.真想罷手了~無(wú)語(yǔ)的Asm Label~

8.好啦~來(lái)活了~Linker Label

最上邊打上勾~是這效果~不打勾~就反白了~然后呢~呵呵~慢慢說(shuō)來(lái)~

先說(shuō)說(shuō)打勾的時(shí)候,如圖4~非人為操作~你什么都不用管了~(很多人會(huì)發(fā)現(xiàn)~新建的項(xiàng)目~剛開(kāi)始的時(shí)候下面的Scatter File后的內(nèi)容是空的~當(dāng)你把這勾去掉后會(huì)自動(dòng)出現(xiàn)~然后隨你勾與不勾~就都是存在的了~不過(guò)此時(shí)還只是個(gè)影子~沒(méi)有實(shí)際的文件~什么時(shí)候出現(xiàn)這個(gè)文件呢~法一:自然你可以自己寫~呵呵~法二:在出現(xiàn)影子后打上勾編譯一次,此文件就產(chǎn)生了~在output的文件夾里~馬上后文還會(huì)有對(duì)此文件內(nèi)容的介紹~)


圖4

再說(shuō)說(shuō)不打勾的時(shí)候會(huì)反白一些內(nèi)容~如圖5,需要修改兩個(gè)地方~



圖5

再來(lái)看看~output.sct文件內(nèi)容~如圖6~6行內(nèi)容是ROM的地址和大小~11行事RAM的地址和大小~很是一目了然吧~內(nèi)容根據(jù)Target自動(dòng)生成的~不需要手動(dòng)修改~


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

評(píng)論


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

關(guān)閉