Keil MDK軟件編程設置程序燒寫起始地址及大小


STM32 KEIL軟件設置程序燒寫起始地址選擇

STM32系列的mcu,這兒以cortex-M4為例,我們在線調試時,一般會設置程序燒寫起始地址和大小。這個大小一般是0x08000000,也就是內部flash的映射地址。不過有些產品是從0x08020000開始的,這是為什么呢?是因為在0x08000000-0x08020000這段空間放的是引導程序,也就是引導程序是從0x08000000開始存放,一般而言,引導程序最終也是要跳轉到主app執行的,對於我們這兒而言,就是引導程序會跳轉到0x08020000繼續執行,而主工程代碼是從0x08020000開始存放的,所以就這樣串聯起來了。

這兒可以看到我們設置的程序燒寫的地址和大小,這個的設置是要和use memory layout from target dialog 選項配合使用的,

也就是要勾選:use memory layout from target dialog

 

不勾選這個選項的話,則是要加載外部對應的sct文件

如果這兒沒有選擇use memory layout from target dialog 這個選項,則對應的sct文件則要寫明地址,如下:

在這兒里面指定的0x08020000和0x00100000,效果也是一樣的。

如果你沒有勾選這個選項,而又沒有指定的sct文件,則編譯會報錯

..\Intermediate\tprj.axf: error: L6031U: Could not open scatter description file .\tprj.sct: No such file or directory

這時候要么不加載外部文件,在target處寫好地址,要么在對應的sct文件里寫明地址。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM