新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32在Keil MDK環境下RAM上代碼調試

        STM32在Keil MDK環境下RAM上代碼調試

        作者: 時間:2016-11-28 來源:網絡 收藏
        自從51后就沒碰過了Keil了~從昨天下午又開始再次使用Keil MDK~不過這次是for ARM的~前幾天的STM32W108調試統統是在IAR上進行的~

        剛在STM32F103ZE-EK上進行了一個例程的調試~就發現原來更有方法在RAM中進行代碼調試的配置~以前在IAR中知道有個iar- cfg.icf文件是關于存儲分配的~貌似也可以如此~不過沒實際操作過不敢下結論~索性就在Keil下來了個嘗試~比較坎坷~也學到不少東西~

        本文引用地址:http://www.104case.com/article/201611/322723.htm

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

        步驟與圖示:

        1.先給個CPU的數據,需要注意的是三個紅圈的地方,架構,型號,Flash和SRAM大小~如圖1


        圖1

        2.Target的設置

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

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

        0x1000為4K~這里的0xc000則為48K的ROM分配~RAM的為16K~基本上移植個uCOS-II都夠用了~


        圖2

        3.Output的設置

        強調一下Name of Executable吧~這里默認的應該是project的名字,我習慣改成output~而且這與編譯后產生的*.axf和*.sct文件名字都有關聯~沒勾選HEX~感覺選了也沒用~寫到SRAM中的是。。。見圖3




        圖3

        4.Listing Label~沒啥說的~不上圖了~默認~

        5.User Label~更沒啥說的~同上~

        6.C/C++ Label~貌似都沒啥說的我后面就不用寫了~再同上。。。。~

        7.真想罷手了~無語的Asm Label~

        8.好啦~來活了~Linker Label

        最上邊打上勾~是這效果~不打勾~就反白了~然后呢~呵呵~慢慢說來~

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


        圖4

        再說說不打勾的時候會反白一些內容~如圖5,需要修改兩個地方~



        圖5

        再來看看~output.sct文件內容~如圖6~6行內容是ROM的地址和大小~11行事RAM的地址和大小~很是一目了然吧~內容根據Target自動生成的~不需要手動修改~


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 随州市| 凯里市| 崇左市| 老河口市| 吉林省| 东阳市| 华安县| 龙陵县| 罗甸县| 八宿县| 湖北省| 江油市| 莱芜市| 武乡县| 昭平县| 泰顺县| 景泰县| 张掖市| 永安市| 咸宁市| 寻甸| 罗源县| 绥德县| 政和县| 凯里市| 务川| 怀宁县| 衡阳县| 攀枝花市| 文化| 竹山县| 宜昌市| 弥勒县| 象州县| 阆中市| 安义县| 五寨县| 贺兰县| 横山县| 元谋县| 周口市|