|
大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是MCUXpresso IDE下將應用程序RW段分散鏈接的幾種方法。. V6 F5 [$ T9 u
早期的 MCU 芯片,一般都會嵌入內部 Flash 和 RAM,并且 Flash 和 RAM 都只有一塊(即均在連續(xù)的映射地址范圍內),因此在鏈接應用程序時處理比較簡單,程序 RO 段全部放在單一 Flash 空間,程序 RW 段全部放在單一 RAM 空間即可。
$ V6 [2 `1 Z* x, E0 W隨著時代發(fā)展,現在的 MCU 越來越高端了,比如那些 Cortex-M7 內核的 MCU 中(最典型的代表 - 恩智浦 i.MXRT 系列)普遍引入了高速 TCM RAM,然后芯片內部也還有一些普通 On-chip RAM,當然芯片也能支持外擴大容量 SDRAM、PSRAM 等,在這種情況下就出現了多塊地址空間不連續(xù)的 RAM 區(qū)域,這時候該如何鏈接程序 RW 段到這些分散的 RAM 空間里呢?
. H5 F" K1 X2 ?0 f) Q' C, p最近痞子衡在支持一個美國G客戶,客戶做項目選用的 MCUXpresso IDE,在這個 IDE 下客戶沒有找到完美的 RW 段分散鏈接解決方案。今天痞子衡就給大家介紹一下 MCUXpresso IDE 下分散鏈接的幾種方法,也順便提一下 IAR、MDK 下的做法。
+ H6 W7 {! j, ?/ n: h3 U, a$ `2 sNote:本篇是 《MCUXpresso IDE下工程鏈接文件配置管理與自動生成機制》 一文的進階篇。一、準備開發(fā)環(huán)境首先需要準備好環(huán)境,包含必要的軟件,痞子衡的環(huán)境如下:
. d8 B' v6 z( c+ }+ P) d集成開發(fā)環(huán)境:MCUXpresso IDE_11.4.0_6224,點此下載軟件開發(fā)包:SDK_2.10.0_EVK-MIMXRT1170(Toolchain需包含MCUXpresso IDE),點此下載二、引入RW段分散鏈接問題我們先按照 《MCUXpresso IDE下SDK工程導入與workspace管理機制》 一文步驟從 SDK 包里導入生成一個工程(就選最簡單的 hello_world 吧)。工程導入成功后,會在 \MCUXpressoIDE_11.4.0_6224\workspace\evkmimxrt1170_hello_world_demo_cm7 下看到 .project 工程文件,在 MCUXpresso IDE 下打開這個工程,然后調整工程設置 Memory 定義中順序如下: |
|