|
大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是MCUXpresso IDE下將應(yīng)用程序RW段分散鏈接的幾種方法。/ ]9 g# M8 m4 B) A! s
早期的 MCU 芯片,一般都會嵌入內(nèi)部 Flash 和 RAM,并且 Flash 和 RAM 都只有一塊(即均在連續(xù)的映射地址范圍內(nèi)),因此在鏈接應(yīng)用程序時處理比較簡單,程序 RO 段全部放在單一 Flash 空間,程序 RW 段全部放在單一 RAM 空間即可。
' s, e5 k8 A1 H: Y9 [隨著時代發(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ū)域,這時候該如何鏈接程序 RW 段到這些分散的 RAM 空間里呢?
/ y) c; p, Z- a; K F9 H, q最近痞子衡在支持一個美國G客戶,客戶做項目選用的 MCUXpresso IDE,在這個 IDE 下客戶沒有找到完美的 RW 段分散鏈接解決方案。今天痞子衡就給大家介紹一下 MCUXpresso IDE 下分散鏈接的幾種方法,也順便提一下 IAR、MDK 下的做法。
6 }, J! P* w8 h! vNote:本篇是 《MCUXpresso IDE下工程鏈接文件配置管理與自動生成機(jī)制》 一文的進(jìn)階篇。一、準(zhǔn)備開發(fā)環(huán)境首先需要準(zhǔn)備好環(huán)境,包含必要的軟件,痞子衡的環(huán)境如下:
5 n `4 @2 Y0 h* }$ m3 l集成開發(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)入生成一個工程(就選最簡單的 hello_world 吧)。工程導(dǎo)入成功后,會在 \MCUXpressoIDE_11.4.0_6224\workspace\evkmimxrt1170_hello_world_demo_cm7 下看到 .project 工程文件,在 MCUXpresso IDE 下打開這個工程,然后調(diào)整工程設(shè)置 Memory 定義中順序如下: |
|