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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

keil STM32中sct 分散加载文件学习

發(fā)布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 keil STM32中sct 分散加载文件学习 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sct 分散加載文件簡介

MDK 生成一個以工程名命名的后綴為 *.sct 的分散加載文件 (Linker Control File,scatter loading),鏈接器根據(jù)該文件的配置分配各個節(jié)區(qū)地址,生成分散加載代碼,因此我們通過修改該文件可以定制具體節(jié)區(qū)的存儲位置。

一、芯片選型

工程構(gòu)建時, MDK 會根據(jù)我們選擇的芯片型號,獲知芯片的內(nèi)部 FLASH 及內(nèi)部SRAM 存儲器概況。這里我選擇的是STM32F407VET6型號, 這款單片機有高達 192+4 KB 的 SRAM,包括 64 KB 的 CCM(內(nèi)核耦合存儲器)數(shù)據(jù) RAM以及512 字節(jié)的 ROM 內(nèi)存。 這一點可以在官網(wǎng)看到。
STM32F407VE高性能基礎(chǔ)系列,帶 DSP 和 FPU 的 Arm Cortex-M4 內(nèi)核,512 KB 閃存,168 MHz CPU。

二、.sct分散加載文件的格式

在keil中可以在linker中取消勾選Usw Menory Layout from Target Dialog,然后點擊下方的編輯按鍵,就可以在keil中查看文件了。但是需要注意如果你需要自己去更改sct文件去自己分配地址空間,也需要取消勾選,不然keil會默認生成sct文件然后覆蓋你寫的文件。
sct 文件中主要包含描述加載域及執(zhí)行域的部分,一個文件中可包含有多個加載域,而一個加載域可由多個部分的執(zhí)行域組成。同等級的域之間使用花括號“{}”分隔開,最外層的是加載域(LR_IROM1),第二層“{}”內(nèi)的是執(zhí)行域 (ER_IROM1 RW_IRAM1 RW_IRAM2)

2-1 加載域

LR_IROM1 0x08000000 0x00080000 { ; load region size_region ...... }

? 加載域名: 在 map 文件中的描述會使用該名稱LR_IROM1來標識空間。

? 基地址 + 地址偏移:
基地址為 STM32 內(nèi)部 FLASH 的基地址 0x08000000,地址偏移可選

? 屬性列表: 屬性列表說明了加載域的是否為絕對地址 N 字節(jié)對齊等屬性

? 最大容量: 最大容量說明了這個加載域可使用的最大空間,STM32 內(nèi)部 FLASH的大小0x00080000(512KB)

2-2 執(zhí)行域

執(zhí)行域的格式與加載域是類似的,區(qū)別只是輸入節(jié)區(qū)的描述有所不同。

包含了 ER_IROM1 及 RW_IRAM1及 RW_IRAM2三個執(zhí)行域,它們分別對應(yīng)描述了 STM32 的內(nèi)部 FLASH及內(nèi)部 SRAM 的基地址及空間大小。

而它們內(nèi)部的“輸入節(jié)區(qū)描述”說明了哪些節(jié)區(qū)要存儲到這些空間,鏈接器會根據(jù)它來處理編排這些節(jié)區(qū)。

三 輸入節(jié)區(qū)描述

ER_IROM1 0x08000000 0x00080000 { ; load address = execution address*.o (RESET, +First)*(InRoot$$Sections).ANY (+RO)}RW_IRAM1 0x20000000 0x00020000 { ; RW data.ANY (+RW +ZI)}RW_IRAM2 0x10000000 0x00010000 {.ANY (+RW +ZI)}

? 模塊選擇樣式: 模塊選擇樣式可用于選擇 o 及 lib 目標文件作為輸入節(jié)區(qū),它可以直接使用目標文件名或“”通配符,也可以使用“.ANY”。
使用語句“.o”可以選擇所有 o 文件,使用“.lib”可以選擇所有 lib 文件,使用“”或“.ANY”可以選擇所有的 o 文件及 lib 文件。
其中“.ANY”選擇語句的優(yōu)先級是最低的,所有其它選擇語句選擇完剩下的數(shù)據(jù)才會被“.ANY”語句選中。

? 輸入節(jié)區(qū)樣式: 通過輸入節(jié)區(qū)樣式可以選擇要控制的節(jié)區(qū)。“(RESET, +First)” 語句的 RESET 就是輸入節(jié)區(qū)樣式,它選擇RESET 的節(jié)區(qū),并使用后面介紹的節(jié)區(qū)特性控制字“+First”表示它要存儲到本區(qū)域的第一個地址。

“(InRoot$$Sections)” 是一個鏈接器支持的特殊選擇符號,它可以選擇所有標準庫里要求存儲到 root 區(qū)域的節(jié)區(qū)。

? 輸入符號樣式: 可以選擇要控制的符號,符號樣式需要使用“:gdef:”來修飾。例如可以使用“*(:gdef:Value_Test)”來控制選擇符號“Value_Test”。

? 輸入節(jié)區(qū)屬性: 通過在模塊選擇樣式后面加入輸入節(jié)區(qū)屬性,可以選擇樣式中不同的內(nèi)容,每個節(jié)區(qū)屬性描述符前要寫一個“+”號,使用空格或“,”號分隔開,可以使用的節(jié)區(qū)屬性描述符見表屬性描述符及其意義。

這里我想說明一下要把RW-DATA數(shù)據(jù)放到RAM中,大家都應(yīng)該知道RW-DATA叫做初值非零可讀寫的全局變量,存儲的時候在ROM中。

SCT文件描述的是程序加載的時候,這時候RW-DATA要從ROM中復制到SRAM中。

四、控制文件分配到指定的存儲空間

設(shè)定好存儲器的信息后,可以控制各個源文件定制到哪個部分存儲器。

在 MDK 的工程文件欄中,選中要配置的文件,右鍵,并在彈出的菜單中選擇“Options for File xxxx”即可彈出一個文件配置對話框,在該對話框中進行存儲器定制,見圖使用右鍵打開文件配置并把它的 RW 區(qū)配置成使IRAM2。


類似地,設(shè)置某些文件的代碼段被存儲到特定的 ROM 中,

設(shè)置某些文件使用的ZI-data 或 RW-data 存儲到外部 SRAM 中。
(控制 ZI-data 到外部 SRAM 時注意還需要修改啟動文件設(shè)置堆棧對應(yīng)的地址,原啟動文件中的地址是指向內(nèi)部 SRAM 的)。

總結(jié)

以上是生活随笔為你收集整理的keil STM32中sct 分散加载文件学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色三级小视频 | 日韩在线视频网址 | av在线免费网站 | 亚洲国产精品suv | 国产伊人网 | 免费看a网站 | 国产精品无码无卡无需播放器 | 欧美一级在线看 | 国产一区欧美一区 | 色777| 污污视频在线免费看 | 理论片午夜 | 色妞色视频一区二区三区四区 | 国产成人精品一区二区三区在线观看 | 久久黄页 | 日本aⅴ片| 日本少妇毛茸茸 | 无码人妻少妇伦在线电影 | 日本东京热一区二区 | 成人免费av网站 | 男人天堂2020 | 人妻激情偷乱频一区二区三区 | 草久久免费视频 | 欧美网 | 亚洲一区播放 | 嫩草av91| 久草天堂 | 伊人影院在线视频 | 久久99久久99精品免观看软件 | 香蕉尹人| 操操操综合 | 在线观看羞羞漫画 | 精品国产乱码久久久久夜深人妻 | 免费91视频| 久久国产网站 | 国产精品一区二区黑人巨大 | 永久免费精品 | 日本黄视频网站 | 欧美综合一区二区 | 成人一二区 | 日韩超碰在线 | 午夜激情在线视频 | 亚洲欧美动漫 | 黄瓜视频在线观看 | 韩国美女黄色片 | 国产成人精品在线 | 99香蕉网 | 大牛影视剧免费播放在线 | 黑人与日本少妇高潮 | 免费看片网站91 | 国产精品免费av | 国产精品无码一区二区三区在线看 | 91蜜桃视频在线观看 | 91午夜剧场| 欧美日韩免费观看视频 | 午夜动态图| 91视频在线免费 | 日韩有码视频在线 | 97成人免费视频 | 亚洲一区二区三区麻豆 | 黄色av免费在线播放 | 国产精品第108页 | 亚洲欧美综合另类 | 一个色亚洲 | 视频区小说区 | 成人精品免费网站 | 久久无码国产视频 | 黄金网站在线观看 | 欧美人与禽zozzo性之恋的特点 | www.激情五月.com | 日韩一区二区视频在线播放 | 国产福利专区 | 五十路av| 理想之城连续剧40集免费播放 | 无码国产伦一区二区三区视频 | 玖玖爱在线观看 | 性做久久| 久久综合网址 | 香蕉a | 狠狠入 | 精品少妇一区二区三区密爱 | 精品国产一区二区三区四区阿崩 | 色汉综合 | 99久久精品国产一区色 | 久久国产一区 | 亚洲av无码一区二区三区网址 | 国产乱国产乱老熟 | 青草久久久久 | 永久免费精品影视网站 | 免费国产一级 | 国内自拍小视频 | 久久手机免费视频 | mm1313亚洲国产精品美女 | 男生操女生屁股 | 色wwwwww| 国产在线观看无码免费视频 | www.成人免费视频 | 精品国产自在精品国产精小说 | 粉嫩欧美一区二区三区 |