嵌入式linux內(nèi)核移植實(shí)現(xiàn)方案
以下內(nèi)容中,小編將對嵌入式linux內(nèi)核移植實(shí)現(xiàn)方案的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對嵌入式的了解,和小編一起來看看吧。
一、嵌入式
嵌入式系統(tǒng)由硬件和軟件組成.是能夠獨(dú)立進(jìn)行運(yùn)作的器件。其軟件內(nèi)容只包括軟件運(yùn)行環(huán)境及其操作系統(tǒng)。硬件內(nèi)容包括信號處理器、存儲器、通信模塊等在內(nèi)的多方面的內(nèi)容。相比于一般的計算機(jī)處理系統(tǒng)而言,嵌入式系統(tǒng)存在較大的差異性, 它不能實(shí)現(xiàn)大容量的存儲功能,因?yàn)闆]有與之相匹配的大容量介質(zhì),大部分采用的存儲介質(zhì)有E-PROM、EEPROM 等, 軟件部分以API編程接口作為開發(fā)平臺的核心。
以應(yīng)用為中心:強(qiáng)調(diào)嵌入式系統(tǒng)的目標(biāo)是滿足用戶的特定需求。就絕大多數(shù)完整的嵌入式系統(tǒng)而言,用戶打開電源即可直接享用其功能,無需二次開發(fā)或僅需少量配置操作。
專用性:嵌入式系統(tǒng)的應(yīng)用場合大多對可靠性、實(shí)時性有較高要求,這就決定了服務(wù)于特定應(yīng)用的專用系統(tǒng)是嵌入式系統(tǒng)的主流模式,它并不強(qiáng)調(diào)系統(tǒng)的通用性和可擴(kuò)展。這種專用性通常也導(dǎo)致嵌入式系統(tǒng)是一個軟硬件緊密集成的最終系統(tǒng),因?yàn)檫@樣才能更有效地提高整個系統(tǒng)的可靠性并降低成本,并使之具有更好的用戶體驗(yàn)。
以現(xiàn)代計算機(jī)技術(shù)為核心:嵌入式系統(tǒng)的最基本支撐技術(shù),大致上包括集成電路設(shè)計技術(shù)、系統(tǒng)結(jié)構(gòu)技術(shù)、傳感與檢測技術(shù)、嵌入式操作系統(tǒng)和實(shí)時操作系統(tǒng)技術(shù)、資源受限系統(tǒng)的高可靠軟件開發(fā)技術(shù)、系統(tǒng)形式化規(guī)范與驗(yàn)證技術(shù)、通信技術(shù)、低功耗技術(shù)、特定應(yīng)用領(lǐng)域的數(shù)據(jù)分析、信號處理和控制優(yōu)化技術(shù)等,它們圍繞計算機(jī)基本原理,集成進(jìn)特定的專用設(shè)備就形成了一個嵌入式系統(tǒng)。
軟硬件可裁剪:嵌入式系統(tǒng)針對的應(yīng)用場景如此之多,并帶來差異性極大的設(shè)計指標(biāo)要求(功能性能、可靠性、成本、功耗),以至于現(xiàn)實(shí)上很難有一套方案滿足所有的系統(tǒng)要求,因此根據(jù)需求的不同,靈活裁剪軟硬件、組建符合要求的最終系統(tǒng)是嵌入式技術(shù)發(fā)展的必然技術(shù)路線。
二、嵌入式linux內(nèi)核移植實(shí)現(xiàn)方案
隨著基于 Linux 的嵌入式系統(tǒng)得到日益廣泛的應(yīng)用,人們不禁要問,類似 Linux 這樣的免費(fèi)開放源代碼操作系統(tǒng)的真正成本到底是多少?要將 Linux 內(nèi)核移植到定制嵌入式處理系統(tǒng),您必須對產(chǎn)品所需要的內(nèi)核功能、這些功能對其他內(nèi)核服務(wù)的依賴程度以及您的工程團(tuán)隊的技能都有深入的了解。
我們很多人都看過為如何使用 Linux 源代碼提供指導(dǎo)的 GNU 通用公共許可證 (GPL)。要確定在系統(tǒng)中使用 Linux 的成本,一般來說,第一步是了解 Linux 的哪些部分是真正免費(fèi)且不受法律約束的,哪些部分是需要小心保護(hù)的。這有點(diǎn)類似于通過評估商業(yè)操作系統(tǒng)或 RTOS(實(shí)時操作系統(tǒng))提供商來確定其產(chǎn)品中所包含的功能和費(fèi)用。
顯然,需要做出的一個決定,是購買商業(yè) Linux 發(fā)行版,還是設(shè)法解決免費(fèi) Linux 發(fā)行版移植的問題。很多工程師使用 Linux 只是為了利用其現(xiàn)有服務(wù)的一小部分,如文件系統(tǒng)、TCP/IP 和 HTTP 或 THTTP 等網(wǎng)絡(luò)服務(wù)。如果您只需要很少的服務(wù),移植自己的 Linux 內(nèi)核可能不那么耗時,價格也不那么昂貴。
商用操作系統(tǒng) 已將其產(chǎn)品移植到許多最常用的處理器中,并提供可在各種標(biāo)準(zhǔn)硬件平臺上運(yùn)行的板支持包 (board support package, BSP),這正是商業(yè)操作系統(tǒng)的優(yōu)勢所在。遺憾的是,如果要設(shè)計定制嵌入式處理系統(tǒng),商業(yè)操作系統(tǒng)可能產(chǎn)生為嵌入式硬件系統(tǒng)創(chuàng)建定制 BSP 服務(wù)的其它費(fèi)用,除非能將BSP 的生成自動化。而這就是榮獲大獎的 Xilinx Platform Studio (XPS) 工具套件的眾多功能之一:在賽靈思 嵌入式處理設(shè)計中,BSP 和庫的生成都實(shí)現(xiàn)了自動化。
當(dāng)?shù)讓拥挠布脚_發(fā)生變化時(通常是為了容納新的應(yīng)用程序功能),內(nèi)核也就必須隨之而改變,而這需要時間,并會增加設(shè)計成本。對于為特定應(yīng)用程序量身打造的高度定制的處理平臺,這種情況已是司空見慣。設(shè)計人員通常使用基于 FPGA 的嵌入式系統(tǒng),以便優(yōu)化系統(tǒng)架構(gòu),獲得硬件性能和軟件靈活性的最佳平衡。此外,如果要設(shè)計自己的定制嵌入式平臺,還必須考慮為新外設(shè)編寫定制驅(qū)動程序和確定內(nèi)核配置文件的合理設(shè)置所需要的時間,以及充分測試新內(nèi)核所需要的驗(yàn)證時間。
利用 XPS,嵌入式系統(tǒng)設(shè)計人員可以構(gòu)建并優(yōu)化系統(tǒng),使下列任務(wù)的執(zhí)行自動化:分配地址映射、為外設(shè)配置驅(qū)動程序、鏈接所有必需的庫,等等。完成這些設(shè)置后,系統(tǒng)即準(zhǔn)備就緒,可以開始編寫首個應(yīng)用程序了。但如果要編寫的應(yīng)用程序是一個完整的操作系統(tǒng)的話會怎樣呢?這就是 Xilinx 創(chuàng)新方式的巧妙所在,利用它可以自動化類似 Linux 的定制操作系統(tǒng) 的生成。
XPS 有一種方法,可以通過微處理器庫描述 (microprocessor library description, MLD) 文件導(dǎo)出有關(guān)微處理器、外設(shè)和系統(tǒng)架構(gòu)的信息。MLD 文件包含定制軟件庫和為操作系統(tǒng)生成 BSP 的指令。
每個 操作系統(tǒng)/庫都有 MLD 文件及與其相關(guān)的 Tcl(tool command language,工具命令語言)文件。依據(jù)嵌入式設(shè)計系統(tǒng)架構(gòu),Tcl 文件使用 MLD 文件定制 操作系統(tǒng)/庫。對許多 Xilinx 操作系統(tǒng)合作伙伴來說,這些文件都是現(xiàn)成的。例如,對于 μClinux,只需從菜單中進(jìn)行選擇即可。對嵌入式系統(tǒng)硬件的更改會自動更新庫,并重新生成控制內(nèi)核構(gòu)建方式的內(nèi)核配置文件。
以上便是小編此次帶來的有關(guān)嵌入式的全部內(nèi)容,十分感謝大家的耐心閱讀,想要了解更多相關(guān)內(nèi)容,或者更多精彩內(nèi)容,請一定關(guān)注我們網(wǎng)站哦。