當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]利用MLD自動(dòng)化操作系統(tǒng)移植降低Linux的成本

    隨著基于 Linux 的嵌入式系統(tǒng)得到日益廣泛的應(yīng)用,人們不禁要問(wèn),類似 Linux 這樣的免費(fèi)開(kāi)放源代碼操作系統(tǒng)的真正成本到底是多少?其實(shí),最主要的成本是在勞動(dòng)力上。要將 Linux 內(nèi)核移植到定制嵌入式處理系統(tǒng),您必須對(duì)產(chǎn)品所需要的內(nèi)核功能、這些功能對(duì)其他內(nèi)核服務(wù)的依賴程度以及您的工程團(tuán)隊(duì)的技能都有深入的了解。更重要的是,要了解可以借助哪些新技術(shù)來(lái)使這些任務(wù)自動(dòng)化,以達(dá)到節(jié)省成本的目標(biāo)。

開(kāi)放源代碼與商業(yè)操作系統(tǒng)

    我們很多人都看過(guò)為如何使用 Linux 源代碼提供指導(dǎo)的 GNU 通用公共許可證 (GPL)。要確定在系統(tǒng)中使用 Linux 的成本,一般來(lái)說(shuō),第一步是了解 Linux 的哪些部分是真正免費(fèi)且不受法律約束的,哪些部分是需要小心保護(hù)的。這有點(diǎn)類似于通過(guò)評(píng)估商業(yè)操作系統(tǒng)或 RTOS(實(shí)時(shí)操作系統(tǒng))提供商來(lái)確定其產(chǎn)品中所包含的功能和費(fèi)用。

    顯然,需要做出一個(gè)決定,是購(gòu)買商業(yè) Linux 發(fā)行版,還是設(shè)法解決免費(fèi) Linux 發(fā)行版移植的問(wèn)題。很多工程師使用 Linux 只是為了利用其現(xiàn)有服務(wù)的一小部分,如文件系統(tǒng)、TCP/IP 和 HTTP 或 THTTP 等網(wǎng)絡(luò)服務(wù)。如果您只需要很少的服務(wù),移植自己的 Linux 內(nèi)核可能不那么耗時(shí),價(jià)格也不那么昂貴。

    商用操作系統(tǒng) 已將其產(chǎn)品移植到許多最常用的處理器中,并提供可在各種標(biāo)準(zhǔn)硬件平臺(tái)上運(yùn)行的板支持包 (board support package, BSP),這正是商業(yè)操作系統(tǒng)的優(yōu)勢(shì)所在。遺憾的是,如果要設(shè)計(jì)定制嵌入式處理系統(tǒng),商業(yè)操作系統(tǒng)可能產(chǎn)生為嵌入式硬件系統(tǒng)創(chuàng)建定制 BSP 服務(wù)的其他費(fèi)用,除非能將BSP 的生成自動(dòng)化。而這就是榮獲大獎(jiǎng)的 Xilinx Platform Studio (XPS) 工具套件的眾多功能之一:在賽靈思 嵌入式處理設(shè)計(jì)中,BSP 和庫(kù)的生成都實(shí)現(xiàn)了自動(dòng)化。

    為了更好地了解這一過(guò)程,讓我們來(lái)看看構(gòu)建一個(gè)完整的操作系統(tǒng)所需要的各種軟件和硬件層。圖 1 是對(duì) Linux 系統(tǒng)中多個(gè)層次的圖解。最底層是微處理器及其外設(shè),這代表硬件層。要與這些外設(shè)進(jìn)行通訊,需要能與 Linux 內(nèi)核兼容的軟件驅(qū)動(dòng)程序。該內(nèi)核還包括啟動(dòng)功能和中斷處理等非常重要的服務(wù),這些功能高度依賴于系統(tǒng)的架構(gòu),通常針對(duì)特定處理器和系統(tǒng)架構(gòu)進(jìn)行定制。

圖1 Linux系統(tǒng)軟件和硬件層分布

    當(dāng)?shù)讓拥挠布脚_(tái)發(fā)生變化時(shí)(通常是為了容納新的應(yīng)用程序功能),內(nèi)核也就必須隨之而改變,而這需要時(shí)間,并會(huì)增加設(shè)計(jì)成本。對(duì)于為特定應(yīng)用程序量身打造的高度定制的處理平臺(tái),這種情況已是司空見(jiàn)慣。設(shè)計(jì)人員通常使用基于 FPGA 的嵌入式系統(tǒng),以便優(yōu)化系統(tǒng)架構(gòu),獲得硬件性能和軟件靈活性的最佳平衡。此外,如果要設(shè)計(jì)自己的定制嵌入式平臺(tái),還必須考慮為新外設(shè)編寫定制驅(qū)動(dòng)程序和確定內(nèi)核配置文件的合理設(shè)置所需要的時(shí)間,以及充分測(cè)試新內(nèi)核所需要的驗(yàn)證時(shí)間。

使操作系統(tǒng)設(shè)置自動(dòng)化

    利用 XPS,嵌入式系統(tǒng)設(shè)計(jì)人員可以構(gòu)建并優(yōu)化系統(tǒng),使下列任務(wù)的執(zhí)行自動(dòng)化:分配地址映射、為外設(shè)配置驅(qū)動(dòng)程序、鏈接所有必需的庫(kù)等等。完成這些設(shè)置后,系統(tǒng)即準(zhǔn)備就緒,可以開(kāi)始編寫首個(gè)應(yīng)用程序了。但如果要編寫的應(yīng)用程序是一個(gè)完整的操作系統(tǒng)的話會(huì)怎樣呢?這就是 Xilinx 創(chuàng)新方式的巧妙所在,利用它可以自動(dòng)化類似 Linux 的定制操作系統(tǒng) 的生成。

    XPS 有一種方法,可以通過(guò)微處理器庫(kù)描述 (microprocessor library description,MLD) 文件導(dǎo)出有關(guān)微處理器、外設(shè)和系統(tǒng)架構(gòu)的信息。MLD 文件包含定制軟件庫(kù)和為操作系統(tǒng)生成 BSP 的指令。

    每個(gè)操作系統(tǒng)/庫(kù)都有 MLD 文件及與其相關(guān)的 Tcl(tool command language,工具命令語(yǔ)言)文件。依據(jù)嵌入式設(shè)計(jì)系統(tǒng)架構(gòu),Tcl 文件使用 MLD 文件定制 操作系統(tǒng)/庫(kù)。對(duì)許多 Xilinx 操作系統(tǒng)合作伙伴來(lái)說(shuō),這些文件都是現(xiàn)成的。例如,對(duì)于mClinux,只需從菜單中進(jìn)行選擇即可,如圖 2 所示。對(duì)嵌入式系統(tǒng)硬件的更改會(huì)自動(dòng)更新庫(kù),并重新生成控制內(nèi)核構(gòu)建方式的內(nèi)核配置文件。

圖2 在XPS軟件平臺(tái)設(shè)置窗口進(jìn)行mLinux設(shè)置

    XPS 還會(huì)生成“auto-conf.in”文件,自動(dòng)配置過(guò)程會(huì)使用該文件為mClinux 內(nèi)核構(gòu)建 makefile。無(wú)需重新設(shè)計(jì)內(nèi)核配置文件,就可以自動(dòng)重新構(gòu)建內(nèi)核;考慮到一個(gè)“auto-config.in”文件的條款內(nèi)容大約有 380 行之多,這一功能節(jié)省的時(shí)間就頗為可觀。逐個(gè)手動(dòng)更新這些文件既容易出錯(cuò),又耗費(fèi)時(shí)間。此文件的一小部分如圖 3 所示。

圖3  XPS生成的mLinux“auto-conf.in”文件的一部分

    MLD 技術(shù)是一種通用技術(shù),可用于其他操作系統(tǒng)。例如,Green Hills 的 Integrity 操作系統(tǒng)也使用這一技術(shù)。

結(jié)語(yǔ)

    隨著對(duì)更高性能嵌入式系統(tǒng)的需求的增加,我們將不斷看到包含針對(duì)特定市場(chǎng)專用硬件的新的嵌入式處理系統(tǒng)架構(gòu)。開(kāi)發(fā)這些系統(tǒng)要求使用一種迭代過(guò)程,以把軟件應(yīng)用程序的編譯和配置結(jié)合起來(lái),同時(shí)還要照顧到硬件協(xié)處理元件和專用外設(shè)。

    如果每次迭代嵌入式處理硬件平臺(tái)時(shí)都手動(dòng)更新 Linux 或其它操作系統(tǒng)內(nèi)核,只會(huì)浪費(fèi)寶貴的工程時(shí)間。而將這些任務(wù)自動(dòng)化后,對(duì)于用到操作系統(tǒng)的嵌入式系統(tǒng),能大幅降低其開(kāi)發(fā)成本。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉