|
大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是MCUXpresso IDE下將應(yīng)用程序RW段分散鏈接的幾種方法。
# ^0 c6 n1 \, E& R' a早期的 MCU 芯片,一般都會(huì)嵌入內(nèi)部 Flash 和 RAM,并且 Flash 和 RAM 都只有一塊(即均在連續(xù)的映射地址范圍內(nèi)),因此在鏈接應(yīng)用程序時(shí)處理比較簡(jiǎn)單,程序 RO 段全部放在單一 Flash 空間,程序 RW 段全部放在單一 RAM 空間即可。' I4 |4 y# V" \7 D2 E
隨著時(shí)代發(fā)展,現(xiàn)在的 MCU 越來越高端了,比如那些 Cortex-M7 內(nèi)核的 MCU 中(最典型的代表 - 恩智浦 i.MXRT 系列)普遍引入了高速 TCM RAM,然后芯片內(nèi)部也還有一些普通 On-chip RAM,當(dāng)然芯片也能支持外擴(kuò)大容量 SDRAM、PSRAM 等,在這種情況下就出現(xiàn)了多塊地址空間不連續(xù)的 RAM 區(qū)域,這時(shí)候該如何鏈接程序 RW 段到這些分散的 RAM 空間里呢?
4 z. f! L: ^4 O: J1 H [& E9 J6 E) K& z( B最近痞子衡在支持一個(gè)美國(guó)G客戶,客戶做項(xiàng)目選用的 MCUXpresso IDE,在這個(gè) IDE 下客戶沒有找到完美的 RW 段分散鏈接解決方案。今天痞子衡就給大家介紹一下 MCUXpresso IDE 下分散鏈接的幾種方法,也順便提一下 IAR、MDK 下的做法。8 z: @1 T2 j3 E
Note:本篇是 《MCUXpresso IDE下工程鏈接文件配置管理與自動(dòng)生成機(jī)制》 一文的進(jìn)階篇。一、準(zhǔn)備開發(fā)環(huán)境首先需要準(zhǔn)備好環(huán)境,包含必要的軟件,痞子衡的環(huán)境如下:( t4 T3 O6 a; I
集成開發(fā)環(huán)境:MCUXpresso IDE_11.4.0_6224,點(diǎn)此下載軟件開發(fā)包:SDK_2.10.0_EVK-MIMXRT1170(Toolchain需包含MCUXpresso IDE),點(diǎn)此下載二、引入RW段分散鏈接問題我們先按照 《MCUXpresso IDE下SDK工程導(dǎo)入與workspace管理機(jī)制》 一文步驟從 SDK 包里導(dǎo)入生成一個(gè)工程(就選最簡(jiǎn)單的 hello_world 吧)。工程導(dǎo)入成功后,會(huì)在 \MCUXpressoIDE_11.4.0_6224\workspace\evkmimxrt1170_hello_world_demo_cm7 下看到 .project 工程文件,在 MCUXpresso IDE 下打開這個(gè)工程,然后調(diào)整工程設(shè)置 Memory 定義中順序如下: |
|