你需要了解的嵌入式Linux
Linux內(nèi)核的維護
開發(fā)人員在決定將選擇哪種OS時,重要的是選擇一個完全支持其特定處理器的操作系統(tǒng),并能夠降低總成本和縮短上市時間。
從處理器供應(yīng)商的角度來看,積極參與與其內(nèi)核相關(guān)的Linux內(nèi)核的維護非常重要。
作為處理器 IP 公司,MIPS科技公司必須確保其新的處理器內(nèi)核正確集成到Linux源代碼樹,而且所有的改變都通過對舊內(nèi)核和平臺的回歸測試進行正確驗證。
由于MIPS IP內(nèi)核是專有內(nèi)核,對于MIPS和Linux社區(qū)來說最有益的,是確保MIPS內(nèi)核的所有性能和電源管理特性能夠在Linux內(nèi)核中完全實現(xiàn)。
對新內(nèi)核設(shè)計的支持不能破壞現(xiàn)有內(nèi)核支持結(jié)構(gòu)或降低其性能,而且還必須允許現(xiàn)有客戶快速轉(zhuǎn)移到新內(nèi)核技術(shù)。MIPS內(nèi)核的可配置性使得對Linux內(nèi)核代碼庫的維護更富挑戰(zhàn),因為許多內(nèi)核配置組合必須經(jīng)過測試,以確保新增加的功能在所有組合中操作正常。
內(nèi)核優(yōu)化1:多核支持
現(xiàn)在,為了實現(xiàn)最佳單位面積計算能力(MIPS/每平方毫米)和最佳單位功耗計算能力(MIPS/mW),許多處理器都利用了多核技術(shù),在幾個以較低時鐘頻率運行的內(nèi)核間分配處理負載。這些應(yīng)用能夠以對稱多處理(SMP)的方式進行分配,其中一項任務(wù)是內(nèi)核間的基本平分;或者采用非對稱多處理(AMP),在這里特定任務(wù)被分配給一個特定內(nèi)核。不論是哪種方式,Linux內(nèi)核中必須有適當(dāng)?shù)闹С衷试S實現(xiàn)這些編程模型,同時對應(yīng)用開發(fā)者盡可能的透明。
MIPS科技的多線程34K內(nèi)核和多線程/多處理1004K內(nèi)核所要求的方式,與內(nèi)核內(nèi)的多核管理方法略微不同,因為34K內(nèi)核能夠在單一內(nèi)核的物理實例中提供多個虛擬內(nèi)核或虛擬處理單元(VPE),而1004K內(nèi)核則可提供多核器件的一致執(zhí)行。
對于每個內(nèi)核,我們執(zhí)行的Linux內(nèi)核多核支持和優(yōu)化都必須能夠正確識別所使用的內(nèi)核,并妥善初始化和無縫實現(xiàn)特定的多核功能。必須明白,執(zhí)行基于34K器件的任務(wù)共享模型時,一個物理內(nèi)核實際上是以多于一個虛擬內(nèi)核的形式出現(xiàn)的,這些內(nèi)核并不會自動進行一致性管理。這種多核環(huán)境在某些情況下比較適合AMP環(huán)境,如每個VPE 運行一個獨立操作系統(tǒng)。1004K 內(nèi)核真正的一致性多核設(shè)計使傳統(tǒng)的SMP模式更具吸引力,在這里一個操作系統(tǒng)可以完全控制兩個內(nèi)核。
內(nèi)核優(yōu)化2:電源管理
在今天的綠色計算環(huán)境中,電源管理日漸重要,不僅體現(xiàn)在要求最大限度延長電池壽命的便攜式設(shè)備方面,而且體現(xiàn)在需要盡量減少能源浪費和熱量的AC 供電系統(tǒng)中。目前Linux內(nèi)核電源管理支持主要集中在通過ACPI的標(biāo)準(zhǔn) PC。但是ACPI 接口并不適合先進的多核SoC,因為后者必須將一致性電源管理方案擴展至多個內(nèi)核、內(nèi)部SoC外設(shè)以及最后的外部系統(tǒng)外設(shè)(如 RF 功率放大器)。
在MIPS,我們執(zhí)行了一個先進的電源管理IP塊,稱為組群電源控制器(CPC),在具體的1004K執(zhí)行中,它允許對每個內(nèi)核的單獨控制,使內(nèi)核可以進入或離開一致性操作,并在需要的情況下徹底關(guān)掉電源。這樣的電源管理模式能夠進一步擴展,使內(nèi)核電壓和頻率調(diào)制處于操作系統(tǒng)本身的控制之下。這個CPC塊的功能還必須擴展至Linux內(nèi)核。我們現(xiàn)在正在構(gòu)建這個電源管理結(jié)構(gòu)的基礎(chǔ),以實現(xiàn)針對 Linux內(nèi)核本身及在標(biāo)準(zhǔn)Linux應(yīng)用領(lǐng)域下運行的其他應(yīng)用的全面API。
F2: 組群電源控制器允許在特定的多核實現(xiàn)中對每個內(nèi)核進行單獨控制
Linux 開發(fā)工具
當(dāng)考慮處理器對OS的支持時,開發(fā)工具很重要。
備受稱贊的內(nèi)核評測工具是Linux事件分析器,能夠剖析整個系統(tǒng)。通常這些工具可捕獲目標(biāo)內(nèi)發(fā)生的用戶選擇的 Linux 事件,然后根據(jù)時間通過圖形顯示這些事件。這些捕獲有時能夠收集高達20秒的 Linux系統(tǒng)活動。
不管應(yīng)用如何,開發(fā)者都應(yīng)該確保他們選擇的處理器架構(gòu)包含一個無縫的開發(fā)環(huán)境,包括編譯器、調(diào)試器、性能和剖析工具。這種性質(zhì)的工具必須滿足上市時間要求,并從一個嵌入式系統(tǒng)設(shè)計中獲取最大的性能。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論