一、什么是AMP?為什么重要?
AMP(Asymmetric Multi-Processing)非對稱多處理架構(gòu),允許單個芯片的不同核心運行不同的操作系統(tǒng)或裸機程序。相比傳統(tǒng)的SMP(對稱多處理),AMP具有獨特優(yōu)勢。
核心特性:
異構(gòu)運算:不同核心運行最適合的操作系統(tǒng),如Linux處理復(fù)雜應(yīng)用,RT-Thread保障實時任務(wù);
資源隔離:各核心擁有獨立內(nèi)存空間,避免資源沖突;
靈活通信:通過共享內(nèi)存、RPMSG等方式實現(xiàn)高效核間通信;
商業(yè)價值:
成本優(yōu)化:單芯片替代多芯片方案,減少PCB面積和元器件數(shù)量;
開發(fā)靈活:支持Linux、RT-Thread、裸機程序的自由組合;
系統(tǒng)可靠:故障隔離,關(guān)鍵任務(wù)永不掉線;
二、實戰(zhàn)選型:MYD-LR3576的AMP硬件基礎(chǔ)
米爾核心板MYD-LR3576 基于 RK3576 處理器,集成三大核心集群:AP 端配備 4 顆 ARM Cortex-A72 與 4 顆 ARM Cortex-A53 核心,MCU 端搭載 1 顆 ARM Cortex-M0 核心,通過 AMP 架構(gòu)實現(xiàn)多系統(tǒng)異構(gòu)運行,在成本優(yōu)化與開發(fā)靈活性上展現(xiàn)突出優(yōu)勢。

MYD-LR3576開發(fā)板
三大核心集群:

系統(tǒng)支持:

已驗證AMP方案:
AP+AP架構(gòu):Linux + RT-Thread/Bare-metal
AP+MCU架構(gòu):Linux + MCU RT-Thread/Bare-metal
三、實戰(zhàn)操作:AMP 系統(tǒng)串口資源配置
實戰(zhàn)目標(biāo):基于MYD-LR3576開發(fā)板,詳細(xì)講解Linux與RT-Thread側(cè)的串口資源配置全流程,實現(xiàn)從理論到實踐的完整落地。
3.1 Linux 側(cè)串口資源的剝離與分配
在AMP 架構(gòu)中,若需將 UART6 分配給 RT-Thread 從核使用,需先在 Linux 設(shè)備樹中完成資源剝離,避免 Linux 內(nèi)核對該外設(shè)的占用。
1.失能UART6: Linux 設(shè)備樹通過節(jié)點狀態(tài)配置控制外設(shè)的啟用 / 禁用。對于UART6,需在其節(jié)點中添加“status = "disabled"”屬性,明確告知 Linux 內(nèi)核:該串口不再由 Linux 管理。
&uart6 { status ="disabled"; // 剝離Linux對UART6的控制權(quán)};
2.分配UART6 資源
剝離后的UART6 資源需通過 rockchip_amp 節(jié)點重新分配給從核,配置內(nèi)容包括時鐘資源、引腳功能與中斷路由:
&rockchip_amp { clocks = <...>, <&cru SCLK_UART6>, <&cru PCLK_UART6>; pinctrl-0 = <&uart6m3_xfer>; amp-irqs = ;};
3.分配從核內(nèi)存
為避免Linux 內(nèi)核占用從核的運行內(nèi)存,需在 reserved-memory 節(jié)點中劃分專屬內(nèi)存區(qū)域。例如,為 RT-Thread 從核預(yù)留 8MB 內(nèi)存:
amp_reserved: amp@41800000{ reg = <0x0?0x41800000?0x0?0x00800000>;//起始地址0x41800000,大小8MB no-map;//禁止Linux映射該區(qū)域,確保從核獨占};
3.2 RT-Thread 側(cè) UART6 的初始化與啟用
Linux 側(cè)完成資源剝離后,需在 RT-Thread 中對 UART6 進行初始化,使其具備通信能力。RT-Thread 的配置流程主要包括引腳復(fù)用、中斷路由與外設(shè)使能三步。
1.UART6 引腳復(fù)用配置
RK3576 的引腳支持多功能復(fù)用,UART6 的 TX/RX 引腳需配置為對應(yīng)功能模式(如 Func13)。通過 RT-Thread 的硬件抽象層(HAL)接口,可直接完成引腳功能的配置:
#ifdefRT_USING_UART6 uart6_m3_iomux_config();#endifvoiduart6_m3_iomux_config(void){ HAL_PINCTRL_SetIOMUX(GPIO_BANK4, GPIO_PIN_C5, PIN_CONFIG_MUX_FUNC13); HAL_PINCTRL_SetIOMUX(GPIO_BANK4, GPIO_PIN_C4, PIN_CONFIG_MUX_FUNC13);}
2.UART6 中斷路由配置
為確保UART6 的中斷能被 CPU3(從核)響應(yīng),需通過 GIC 中斷控制器的路由配置,將 UART6 的中斷號與 CPU3 綁定。RT-Thread 提供了簡潔的條件編譯選項:
#ifdef RT_USING_UART6 GIC_AMP_IRQ_CFG_ROUTE(UART6_IRQn,0xd0, CPU_GET_AFFINITY(3,0));#endif
3.UART6 RTOS側(cè)使能
通過在RT-Thread 的配置文件中啟用對應(yīng)選項,使能 UART6條件編譯:
CONFIG_RT_CONSOLE_DEVICE_NAME="uart6"CONFIG_RT_USING_UART6=y
四、編譯部署:AMP系統(tǒng)鏡像構(gòu)建
4.1 編譯鏡像
完成配置后,返回SDK 工程根目錄,執(zhí)行編譯腳本:
cdMYD-LR3576./build.sh lunch1. rockchip_defconfig2. rockchip_rk3576_myd_lr3576_amp_defconfig3. rockchip_rk3576_myd_lr3576_defconfig4. rockchip_rk3576_myd_lr3576_mcu_defconfigWhich would you like? [1]: 2...../build.sh# 完整編譯
編譯成功后,生成的系統(tǒng)鏡像文件路徑為:
lsoutput/update/Image/update.imgupdate.img
4.2 燒錄鏡像至開發(fā)板
請使用瑞芯微官方燒錄工具RKDevTool將鏡像寫入開發(fā)板。
五、功能驗證
5.1 驗證環(huán)境搭建
連接開發(fā)板Debug 口:串口參數(shù)設(shè)為 115200 波特率、8 數(shù)據(jù)位、1 停止位、無校驗位;
連接開發(fā)板UART6 串口(具體位置如下圖):參數(shù)設(shè)為1500000 波特率、8 數(shù)據(jù)位、1 停止位、無校驗位。

5.2 主核驗證(Linux終端)
打開主核debug終端,輸入lscpu命令查看CPU信息,若Cortex-A53核心數(shù)量顯示為3(原4顆,1顆分配給RT-Thread),說明主核配置生效:
lscpu# 輸出結(jié)果中Cortex-A53核心數(shù)為3

5.3 從核驗證(RT-Thread終端)
打開UART6對應(yīng)的串口終端(波特率默認(rèn)1500000),若能看到RT-Thread的啟動日志,說明從核系統(tǒng)已成功運行,UART6外設(shè)正常工作。

六、總結(jié)
本次串口資源配置實戰(zhàn),清晰地驗證了外設(shè)從Linux側(cè)剝離、再分配至RT-Thread側(cè)的核心方法論。這僅是AMP靈活性的起點,基于相同的配置邏輯,開發(fā)者還可將GPIO、I2C、SPI等更多外設(shè)進行精細(xì)化分配。
這種靈活的異構(gòu)計算模式,使其能夠無縫適配多類對性能、實時性與功耗有綜合要求的工業(yè)與嵌入式場景。其典型應(yīng)用模式可歸納如下:
1.工業(yè)網(wǎng)關(guān):Linux運行網(wǎng)絡(luò)協(xié)議棧、數(shù)據(jù)庫與Web服務(wù),實現(xiàn)數(shù)據(jù)上云與遠(yuǎn)程管理;RT-Thread則實時采集PLC數(shù)據(jù)、精準(zhǔn)控制執(zhí)行器,保障工業(yè)現(xiàn)場毫秒級響應(yīng)與確定性。
2.機器人控制器:Linux承載SLAM算法、視覺感知、路徑規(guī)劃與人機交互界面;RT-Thread專責(zé)多軸電機閉環(huán)控制、高頻率傳感器融合及硬實時安全連鎖。
3.智能音視頻設(shè)備:Linux處理高清音視頻編解碼、AI模型推理及云服務(wù)對接;獨立Cortex-M0核心則實現(xiàn)低功耗待機、語音關(guān)鍵詞喚醒與觸控檢測,顯著優(yōu)化系統(tǒng)功耗與響應(yīng)速度。
AMP架構(gòu)的價值,正是在于讓開發(fā)者能夠根據(jù)場景需求,在同一硬件平臺上自由調(diào)配計算資源,實現(xiàn)性能、成本與功耗的最佳平衡。
-
Amp
+關(guān)注
關(guān)注
0文章
101瀏覽量
48638 -
核心板
+關(guān)注
關(guān)注
6文章
1419瀏覽量
32117 -
米爾電子
+關(guān)注
關(guān)注
2文章
197瀏覽量
1116
發(fā)布評論請先 登錄
如何在RK3576開發(fā)板上運行TinyMaix :超輕量級推理框架--基于米爾MYD-LR3576開發(fā)板
如何在 MA35 系列微處理器 (MPU) 上開發(fā) AMP(非對稱多處理)應(yīng)用程序?
LSI豐富非對稱多核解決方案
LSI推出最新系列非對稱多核芯片解決方案和軟件
傳統(tǒng)多核解決方案與非對稱多核解決方案的對比
裸機AMP(非對稱多進程處理模式)
提供非對稱多核處理器提高性能可預(yù)測性
有獎丨米爾 瑞芯微RK3576開發(fā)板免費試用
追加名額丨米爾瑞芯微RK3576開發(fā)板有獎試用
“國產(chǎn)雙系統(tǒng)”出爐!復(fù)旦微FMQL20SM非對稱AMP:Linux + 裸機
C#上位機實戰(zhàn)開發(fā)指南
爆火的OpenClaw! 告別云端,米爾RK3576本地部署
【深度實戰(zhàn)】MYD-LR3576 AMP非對稱多核開發(fā)指南:從配置到實戰(zhàn)
評論