多核嵌入式系統(tǒng)的軟件可能非常復(fù)雜。一個(gè)經(jīng)常討論的主題是如何在每個(gè)內(nèi)核上實(shí)現(xiàn)代碼,以便最佳地利用它。在這篇簡(jiǎn)短的文章中,有一個(gè)不同的觀點(diǎn):關(guān)注可以跨多個(gè)內(nèi)核運(yùn)行的軟件。
多核硬件架構(gòu)
從硬件的角度來(lái)看,多核設(shè)備大致有兩種類(lèi)型:同構(gòu)多核,其中有多個(gè)相同類(lèi)型的內(nèi)核,以及異構(gòu)多核,其中內(nèi)核是不同類(lèi)型的。異構(gòu)設(shè)備可能包括一些相同的內(nèi)核。
要跨多個(gè)內(nèi)核運(yùn)行單個(gè)軟件,內(nèi)核必須相同(無(wú)論如何從指令集的角度來(lái)看)。因此,需要一個(gè)同質(zhì)的多核設(shè)備或異構(gòu)設(shè)備中的同質(zhì)“孤島”。
對(duì)稱(chēng)多處理
構(gòu)建多核系統(tǒng)的一個(gè)原因是以節(jié)能的方式最大化計(jì)算能力。這是個(gè)人電腦設(shè)計(jì)者采用的方法;多核處理器在筆記本電腦和臺(tái)式機(jī)系統(tǒng)中幾乎無(wú)處不在。嵌入式開(kāi)發(fā)人員可能有相同的目標(biāo)。最好的方法是使用支持對(duì)稱(chēng)多處理 (SMP) 的操作系統(tǒng)。
SMP OS 將進(jìn)程分布在可用內(nèi)核上。這通常是自動(dòng)的,但嵌入式開(kāi)發(fā)人員可能需要進(jìn)行一些控制,并可能將某些應(yīng)用程序鎖定到特定內(nèi)核。這些進(jìn)程并不“知道”它們?cè)诓煌膬?nèi)核上運(yùn)行;操作系統(tǒng)提供它們之間的通信和同步。提供多個(gè)實(shí)時(shí)操作系統(tǒng) (RTOS) 的 SMP 版本;Linux 還提供 SMP 變體。
管理程序
盡管嵌入式 SMP OS 提供了某種程度的控制,但嵌入式開(kāi)發(fā)人員通常希望確保資源的分配完全符合他們的喜好。因此,另一種選擇是為每個(gè)內(nèi)核配置自己的操作系統(tǒng)實(shí)例——所有內(nèi)核不必運(yùn)行相同的操作系統(tǒng)——和應(yīng)用程序代碼。然后,在所有可以控制其操作(引導(dǎo)順序等)并提供內(nèi)核間(或操作系統(tǒng)間)通信的內(nèi)核上運(yùn)行管理程序。
為了獲得更大的靈活性……
到目前為止,我們通過(guò)從系統(tǒng)中的單個(gè) (SMP) 操作系統(tǒng)遷移到多個(gè)可能不同的操作系統(tǒng)實(shí)例來(lái)提高靈活性。但是,如果需要更大的靈活性而需要使用不同架構(gòu)的內(nèi)核呢?這消除了跨多個(gè)內(nèi)核運(yùn)行代碼的選項(xiàng)——SMP OS 或管理程序都需要同構(gòu)多核環(huán)境。但是,還有另一種選擇:在每個(gè)內(nèi)核上運(yùn)行一個(gè)多核框架(可能是基于 OpenAMP 的產(chǎn)品)。這種方法提供內(nèi)核間通信和生命周期管理。此外,還可以選擇在“裸機(jī)”(即沒(méi)有操作系統(tǒng))上運(yùn)行應(yīng)用程序。
結(jié)論
在多核嵌入式系統(tǒng)上開(kāi)發(fā)軟件是一項(xiàng)復(fù)雜的工作。了解一些選項(xiàng)至關(guān)重要——在相對(duì)簡(jiǎn)單性和完全靈活性之間進(jìn)行權(quán)衡。
審核編輯:湯梓紅
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3719瀏覽量
133225 -
內(nèi)核
+關(guān)注
關(guān)注
4文章
1437瀏覽量
42544 -
多核系統(tǒng)
+關(guān)注
關(guān)注
0文章
11瀏覽量
7621
發(fā)布評(píng)論請(qǐng)先 登錄
目前主流開(kāi)發(fā)軟件有KEI和ewarm,哪一款軟件比較簡(jiǎn)單適合新手呢?
CW32嵌入式軟件開(kāi)發(fā)的必備知識(shí)
嵌入式開(kāi)發(fā)的關(guān)鍵點(diǎn)介紹
RT-Thread 2025嵌入式軟件大賽重磅來(lái)襲
新一代嵌入式開(kāi)發(fā)平臺(tái) AMD嵌入式軟件和工具2025.1版現(xiàn)已推出
AMD 2025.1版嵌入式軟件和工具的新增功能
嵌入式軟件開(kāi)發(fā)常用的軟件有哪些?
運(yùn)行在嵌入式系統(tǒng)上的emApps
嵌入式開(kāi)發(fā)入門(mén)指南:從零開(kāi)始學(xué)習(xí)嵌入式
嵌入式開(kāi)發(fā):高門(mén)檻的系統(tǒng)性工程與 996 的行業(yè)困局
嵌入式主板開(kāi)發(fā)詳細(xì)指南
嵌入式系統(tǒng)開(kāi)發(fā)圣經(jīng)【干貨】
IAR分析嵌入式系統(tǒng)的市場(chǎng)前景
嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開(kāi)發(fā)環(huán)境
嵌入式開(kāi)發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢(xún)命令(上)觸覺(jué)智能出品

如何在多核嵌入式系統(tǒng)上開(kāi)發(fā)軟件
評(píng)論