一場(chǎng)靜默的算力進(jìn)化正在微控制器(MCU)領(lǐng)域爆發(fā)。當(dāng)傳統(tǒng)單核MCU在實(shí)時(shí)響應(yīng)與多任務(wù)處理間艱難平衡時(shí),雙核架構(gòu)帶來(lái)歷史破局:尤其在處理如兼具電機(jī)和網(wǎng)絡(luò)通信這類不同類型的協(xié)同應(yīng)用時(shí)尤其有優(yōu)勢(shì),應(yīng)用雙核MCU正在重構(gòu)物聯(lián)網(wǎng)終端的基因序列。
MCXN系列MCU包含兩個(gè)Cortex M33內(nèi)核,一個(gè)“主內(nèi)核”(Master),以及一個(gè)可選的“從屬”(Slave)Cortex M33內(nèi)核(功能減少)。詳細(xì)配置可見下圖:

在通電或重置后,主內(nèi)核啟動(dòng)執(zhí)行(一般是Core0),從屬核心處于重置狀態(tài)(即其代碼未開始執(zhí)行)。然后,主內(nèi)核運(yùn)行負(fù)責(zé)將“從內(nèi)核“從重置中釋放出來(lái)。實(shí)際上,Master Slave角色只適用于引導(dǎo)過(guò)程,啟動(dòng)后,應(yīng)用程序可能會(huì)將其中任何一個(gè)內(nèi)核視為主內(nèi)核或從內(nèi)核。MCUXpresso IDE為創(chuàng)建和調(diào)試MCXN947提供了高度靈活的支持適用于單核和多核系統(tǒng)。本文詳細(xì)介紹了MCXN947創(chuàng)建和調(diào)試這樣的多核應(yīng)用程序。
建立一個(gè)多核工程
MCUXpresso IDE中的多核應(yīng)用程序由兩個(gè)鏈接的項(xiàng)目組成——一個(gè)項(xiàng)目包含“從屬“(下文稱Slave)代碼的項(xiàng)目和包含“主內(nèi)核”(下文稱Master)的另一個(gè)項(xiàng)目。“Master”項(xiàng)目還將包含一個(gè)指向“Slave”項(xiàng)目的鏈接。
創(chuàng)建新的多核應(yīng)用程序的推薦方法是首先創(chuàng)建首先為“從屬“(下文稱Slave)核心創(chuàng)建項(xiàng)目,然后為Master核心創(chuàng)建項(xiàng)目。
打開 Quickstart Panel -> New project


選擇 “MCXN947” 后并點(diǎn)擊Next,首先我們先建立slave工程。如下圖所示:

點(diǎn)擊Finish完成創(chuàng)建:

Memory Configuration中內(nèi)存區(qū)域配置如上圖所示, 在此應(yīng)用中我們將Core1的代碼存放在PROGRAM_FLASH1中,并在通過(guò)Flash運(yùn)行,也可選擇將Core1的代碼鏈接到RAM中,在Core0運(yùn)行后將Core1的代碼拷貝加載到RAM中再運(yùn)行,同時(shí)Core0和Core1通過(guò)rpmsg_sh_mem進(jìn)行通信交互,最后點(diǎn)擊Finish完成Slave工程的建立,接下來(lái)建立Master工程:

選擇cm33_core0作為Master,點(diǎn)擊Next:

點(diǎn)擊Finish完成Master工程的建立。打開工程的屬性頁(yè),選擇Settings->Multicore項(xiàng)目,選擇Muticore slaves對(duì)應(yīng)在Master memory region中的存儲(chǔ)段為PROGRAM_FLASH1。

對(duì)于Multicore直接的相互通信,NXP主要提供如下所示的中間件,例如MCMGR, rpmsg_lite(遠(yuǎn)程消息機(jī)制),Remote ProcedureCall(遠(yuǎn)調(diào)用), 關(guān)于這些庫(kù)的詳細(xì)介紹,其中MCMGR提供了多核間的通信和同步機(jī)制,可在NXP官網(wǎng)下載MCXN947 SDK或者相應(yīng)庫(kù)代碼,參閱軟件包里的詳細(xì)文檔說(shuō)明,我們也后續(xù)的文章中也會(huì)慢慢詳細(xì)介紹這些庫(kù)的使用。
當(dāng)前在我們的工程中,通過(guò)增加 Available SDK components 加入MCMGR相應(yīng)的組件。



多核項(xiàng)目的編譯過(guò)程:
編譯多核項(xiàng)目的最簡(jiǎn)單方法是觸發(fā)Master項(xiàng)目的構(gòu)建,通常使用快速啟動(dòng)面板中的“Build”選項(xiàng)。編譯器會(huì)優(yōu)先編譯Slave項(xiàng)目,然后編譯Master項(xiàng)目——最終將從屬項(xiàng)目中的固件嵌入到主項(xiàng)目中完成構(gòu)建。

如此我們完成了建立一個(gè)雙核工程應(yīng)用的第一步。
當(dāng)萬(wàn)物互聯(lián)進(jìn)入深水區(qū),雙核MCU已不僅僅是芯片面積的簡(jiǎn)單倍增,而是演變?yōu)橐粓?chǎng)嵌入式系統(tǒng)的認(rèn)知革命。它用物理核的確定性終結(jié)軟件虛擬化的性能損耗,以硬件級(jí)任務(wù)隔離破解系統(tǒng)的實(shí)時(shí)性瓶頸,更通過(guò)核間通信總線構(gòu)建出數(shù)據(jù)流轉(zhuǎn)的專屬高速公路。
據(jù)預(yù)測(cè),未來(lái)雙核MCU將占據(jù)工業(yè)自動(dòng)化市場(chǎng)63%的份額,這場(chǎng)始于芯片架構(gòu)的變革,終將催化出智能終端從「機(jī)械執(zhí)行」到「自主決策」的質(zhì)變---在算力與功耗的天平上,雙核架構(gòu)正在為萬(wàn)物裝上隱形的智能翅膀。
-
微控制器
+關(guān)注
關(guān)注
48文章
8386瀏覽量
164676 -
mcu
+關(guān)注
關(guān)注
147文章
18936瀏覽量
398580 -
內(nèi)核
+關(guān)注
關(guān)注
4文章
1468瀏覽量
42890 -
恩智浦
+關(guān)注
關(guān)注
14文章
6099瀏覽量
147774
原文標(biāo)題:邀你玩轉(zhuǎn)MCXN947雙核應(yīng)用的強(qiáng)大內(nèi)芯
文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
恩智浦MCU MCXN947 基于MCUXpresso Config tools創(chuàng)建IIC的教程步驟
如何在MCXN947板的FlexSPI接口接HyperRAM
如何在MCXN947微控制器上配置安全啟動(dòng)和生命周期
關(guān)于將Flash寫入FRDM-MCXN947的問(wèn)題求解
MCXN947使用ADC并編寫代碼,總是報(bào)警告是怎么回事?
MCXN947如何配置和外擴(kuò)PSRAM?
《電子發(fā)燒友電子設(shè)計(jì)周報(bào)》聚焦硬科技領(lǐng)域核心價(jià)值 第7期:2025.04.7--2025.04.11
MCXN947怎么驅(qū)動(dòng)FRDM-STBI-A8974三軸陀螺儀?
恩智浦MCX系列MCU的新品MCXN947
【上?!?月25日-基于恩智浦MCX N系列MCU結(jié)合RT-Thread的應(yīng)用與實(shí)踐 線下培訓(xùn)
《恩智浦FRDM-MCXN947開發(fā)實(shí)踐指南》上線啦
使用VSCode調(diào)試FRDM MCXN947開發(fā)板
MCXN947系列高性能微控制器產(chǎn)品介紹
使用NXP MCX-N板卡搭建環(huán)境及點(diǎn)燈
恩智浦MCXN947 MCU多核應(yīng)用程序的創(chuàng)建和調(diào)試
評(píng)論