keil分散加载文件sct写法
生活随笔
收集整理的這篇文章主要介紹了
keil分散加载文件sct写法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//---------------------------------------------------------------------------------------------------
分散加載文件(scatter file):該文件用來指定ARM鏈接器在生成可執行文件時如何分配RO\RW\ZI等數據的存放地址
分散加載區域分為兩部分:加載區;執行區。每個加載區可以創建一個或多個執行區
//---------------------------------------------------------------------------------------------------
一個標準的分散加載文件(KL25):
?? ?LR_IROM1 0x00000000 0x00020000 ??? ??? ??? ?; 第一個加載區,名為LR_IROM1,起始地址0x00000000,長度0x00020000?? ?//這個加載區其實就是KL25的flash,128k
?? ?{?? ??? ?
?? ??? ?ER_IROM1 0x00000000 0x00020000 ??? ??? ?; 第一個加載區中的第一個執行區,名為ER_IROM1,起始地址0x00000000,長度0x00020000?? ?//第一個執行區其實就是整個flash
?? ??? ?{ ??? ?
?? ??? ??? ?*.o (RESET, +First)?? ??? ??? ??? ??? ?; *.o:匹配所有目標?? ??? ?; RESET:匯編中定義的段名?? ?; +First:指定RESET段存放在執行區的起始位置?? ?//這里其實就是程序的入口
?? ??? ??? ?*(InRoot$$Sections)?? ??? ??? ??? ??? ?
?? ??? ??? ?.ANY (+RO)?? ??? ??? ??? ??? ??? ??? ?; .ANY:匹配所有目標文件和庫?? ??? ?; +RO:只讀屬性?? ??? ?//其實就是把所有的剩余代碼和常量存放在這里
?? ??? ?}
?? ??? ?RW_IRAM1 0x1FFFF000 0x00001000 ??? ??? ?; 第一個加載區中的第二個執行區,名為RW_IRAM1,起始地址0x1ffff000,長度0x00001000?? ?//第二個執行區其實就是KL25的低地址RAM片,4k,KL25RAM分為2片
?? ??? ?{ ?
?? ??? ??? ?.ANY (+RW +ZI)?? ??? ??? ??? ??? ??? ?; +RW +ZI:所有變量
?? ??? ?}
?? ?}
分散加載文件(scatter file):該文件用來指定ARM鏈接器在生成可執行文件時如何分配RO\RW\ZI等數據的存放地址
分散加載區域分為兩部分:加載區;執行區。每個加載區可以創建一個或多個執行區
//---------------------------------------------------------------------------------------------------
一個標準的分散加載文件(KL25):
?? ?LR_IROM1 0x00000000 0x00020000 ??? ??? ??? ?; 第一個加載區,名為LR_IROM1,起始地址0x00000000,長度0x00020000?? ?//這個加載區其實就是KL25的flash,128k
?? ?{?? ??? ?
?? ??? ?ER_IROM1 0x00000000 0x00020000 ??? ??? ?; 第一個加載區中的第一個執行區,名為ER_IROM1,起始地址0x00000000,長度0x00020000?? ?//第一個執行區其實就是整個flash
?? ??? ?{ ??? ?
?? ??? ??? ?*.o (RESET, +First)?? ??? ??? ??? ??? ?; *.o:匹配所有目標?? ??? ?; RESET:匯編中定義的段名?? ?; +First:指定RESET段存放在執行區的起始位置?? ?//這里其實就是程序的入口
?? ??? ??? ?*(InRoot$$Sections)?? ??? ??? ??? ??? ?
?? ??? ??? ?.ANY (+RO)?? ??? ??? ??? ??? ??? ??? ?; .ANY:匹配所有目標文件和庫?? ??? ?; +RO:只讀屬性?? ??? ?//其實就是把所有的剩余代碼和常量存放在這里
?? ??? ?}
?? ??? ?RW_IRAM1 0x1FFFF000 0x00001000 ??? ??? ?; 第一個加載區中的第二個執行區,名為RW_IRAM1,起始地址0x1ffff000,長度0x00001000?? ?//第二個執行區其實就是KL25的低地址RAM片,4k,KL25RAM分為2片
?? ??? ?{ ?
?? ??? ??? ?.ANY (+RW +ZI)?? ??? ??? ??? ??? ??? ?; +RW +ZI:所有變量
?? ??? ?}
?? ?}
總結
以上是生活随笔為你收集整理的keil分散加载文件sct写法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NB物联网之天翼物联(4)——配置编解码
- 下一篇: Android使用viewpager实现