日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【C语言常识】Keil MDK的分散加载文件.sct

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【C语言常识】Keil MDK的分散加载文件.sct 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://blog.csdn.net/wuhenyouyuyouyu/article/details/71171546?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164259812916780269822566%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164259812916780269822566&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-1-71171546.first_rank_v2_pc_rank_v29&utm_term=sct%E6%96%87%E4%BB%B6%E5%88%86%E6%95%A3%E5%8A%A0%E8%BD%BD&spm=1018.2226.3001.4187

STM32之MDK分析,分散加載

STM32分散加載
我們知道MDK的分散加載主要是通過.sct文件實現的,鏈接器根據.sct文件的配置分配各個節區地址,生成分散加載代碼,因此我們通過修改該文件可以定制具體節區的存儲位置。

如何打開.sct文件
在Options for Targets->Linker界面下面去掉默認選項,然后edit scatter file 就可以在編輯界面中看到.sct文件了。

.sct文件結構

LR_IROM1 0x08000000 0x00010000 { ; load region size_region ##就是所有代碼需要下載到0x08000000 開始的區域中,且這個區域大小只有0x00010000 這么大ER_IROM1 0x08000000 0x00010000 { ; load address = execution address ##加載域等于執行域,只能是只讀的代碼段和只讀數據段*.o (RESET, +First)*(InRoot$$Sections).ANY (+RO)}RW_IRAM1 0x20000000 0x00004000 { ; RW data ##執行域是以0x20000000 開始的長度為0x00004000 一段區域.ANY (+RW +ZI) ;其中包括的是哪些文件}RW_IRAM2 0x20004000 0x00001000 { ##執行域是以0x20004000 開始的長度為0x00001000 一段區域delay.o (+ZI +RW).ANY (+RW +ZI)} }

修改分散加載文件
其實上面貼的這段代碼是修改之后的.sct文件,如果需要修改分散加載文件,并使其生效需要
修改Options for Targets->Target 的onchip 的rom或者ram,容量地址必須和選擇的芯片一致修改某個文件的存儲屬性,在工程窗口中右擊文件名字 Options for file ,然后出現窗口可以修改文件的存儲屬性修改完,重新編譯,點開.sct文件就可以看到.sct已經被修改了,然后可以看map文件可以看到相關變量函數地址信息已經改變。
原文鏈接:https://blog.csdn.net/qq_33894122/article/details/81877630

總結

以上是生活随笔為你收集整理的【C语言常识】Keil MDK的分散加载文件.sct的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。