日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]通過 MLD 模式可將移植操作系統(tǒng)的過程自動(dòng)化


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

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

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

顯然,需要做出的一個(gè)決定,是購買商業(yè) Linux 發(fā)行版,還是設(shè)法解決免費(fèi) Linux 發(fā)行版移植的問題。很多工程師使用 Linux 只是為了利用其現(xiàn)有服務(wù)的一小部分,如文件系統(tǒng)、TCP/IP |0">TCP/IP 和 HTTP|0">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è)計(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 和庫的生成都實(shí)現(xiàn)了自動(dòng)化。

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

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

當(dāng)?shù)讓拥挠布脚_(tái)發(fā)生變化時(shí)(通常是為了容納新的應(yīng)用程序功能),內(nèi)核也就必須隨之而改變,而這需要時(shí)間,并會(huì)增加設(shè)計(jì)成本。對于為特定應(yīng)用程序量身打造的高度定制的處理平臺(tái),這種情況已是司空見慣。設(shè)計(jì)人員通常使用基于 FPGA 的嵌入式系統(tǒng),以便優(yōu)化系統(tǒng)架構(gòu),獲得硬件性能和軟件靈活性的最佳平衡。此外,如果要設(shè)計(jì)自己的定制嵌入式平臺(tái),還必須考慮為新外設(shè)編寫定制驅(qū)動(dòng)程序和確定內(nèi)核配置文件的合理設(shè)置所需要的時(shí)間,以及充分測試新內(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)程序、鏈接所有必需的庫,等等。完成這些設(shè)置后,系統(tǒng)即準(zhǔn)備就緒,可以開始編寫首個(gè)應(yīng)用程序了。但如果要編寫的應(yīng)用程序是一個(gè)完整的操作系統(tǒng)的話會(huì)怎樣呢?這就是 Xilinx 創(chuàng)新方式的巧妙所在,利用它可以自動(dòng)化類似 Linux 的定制操作系統(tǒng) 的生成。

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

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

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

XPS 還會(huì)生成“auto-conf.in”文件,自動(dòng)配置過程會(huì)使用該文件為 µClinux 內(nèi)核構(gòu)建 makefile。無需重新設(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 生成的 µClinux “auto-conf.in”文件的一部分

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

結(jié)論

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

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

欲了解有關(guān) 操作系統(tǒng) 支持的詳情請登陸 www.xilinx.com/cn/ise/embedded/epartners/listing.htm。




作者:Derek Palmer Xilinx, Inc. 嵌入式市場專家 @xilinx.com">derek.palmer@xilinx.com

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

在Zynq MPSoC開發(fā)中,實(shí)現(xiàn)PS端Linux與PL端自定義IP核的AXI互聯(lián)是構(gòu)建高性能異構(gòu)系統(tǒng)的關(guān)鍵環(huán)節(jié)。這種互聯(lián)方式充分發(fā)揮了ARM處理器的軟件優(yōu)勢與FPGA的硬件加速能力,為復(fù)雜應(yīng)用提供了強(qiáng)大的計(jì)算平臺(tái)。

關(guān)鍵字: Zynq MPSoC Linux

在物聯(lián)網(wǎng)與智能設(shè)備飛速普及的當(dāng)下,嵌入式系統(tǒng)的安全性與穩(wěn)定性愈發(fā)關(guān)鍵。實(shí)時(shí)操作系統(tǒng)(RTOS)憑借其高確定性、低延遲的特性,成為工業(yè)控制、醫(yī)療設(shè)備、航空電子等安全敏感領(lǐng)域的核心支撐。而內(nèi)存保護(hù)單元(MPU)作為硬件級安全...

關(guān)鍵字: Linux Windows

3月10日消息,2026年開年,一個(gè)名為OpenClaw的開源項(xiàng)目以閃電般的速度席卷了GitHub。它在短短一天內(nèi)就斬獲了9000顆星

關(guān)鍵字: OpenClaw Linux

3月6日消息,在摩根士丹利會(huì)議上,NVIDIA CEO黃仁勛分享了關(guān)于Agentic AI(代理式人工智能)轉(zhuǎn)折點(diǎn)的見解,并將開源軟件OpenClaw評價(jià)為“當(dāng)代最重磅的軟件發(fā)布”。

關(guān)鍵字: OpenClaw Linux

Linux內(nèi)存管理是操作系統(tǒng)的核心機(jī)制之一,通過虛擬內(nèi)存與物理內(nèi)存的分離設(shè)計(jì),實(shí)現(xiàn)了多進(jìn)程內(nèi)存隔離、高效資源利用和系統(tǒng)穩(wěn)定性保障。

關(guān)鍵字: Linux 內(nèi)存

在Linux系統(tǒng)中,進(jìn)程管理是內(nèi)核的核心功能之一,其核心目標(biāo)是通過高效的調(diào)度機(jī)制和進(jìn)程切換技術(shù),實(shí)現(xiàn)多任務(wù)并發(fā)執(zhí)行。

關(guān)鍵字: Linux CPU

內(nèi)核是操作系統(tǒng)的核心,它作為應(yīng)用程序與硬件設(shè)備之間的"中間人",負(fù)責(zé)進(jìn)程調(diào)度、內(nèi)存管理、硬件通信和系統(tǒng)調(diào)用等關(guān)鍵功能。Linux和Windows作為全球使用最廣泛的兩大操作系統(tǒng),其內(nèi)核設(shè)計(jì)理念、架構(gòu)和運(yùn)行機(jī)制存在本質(zhì)差異...

關(guān)鍵字: Linux Windows

在Linux系統(tǒng)中,當(dāng)開發(fā)者使用mmap()系統(tǒng)調(diào)用將磁盤文件映射到進(jìn)程的虛擬地址空間時(shí),一個(gè)看似簡單的指針操作背后,隱藏著操作系統(tǒng)內(nèi)核與硬件協(xié)同工作的復(fù)雜機(jī)制。這種機(jī)制不僅突破了傳統(tǒng)文件IO的效率瓶頸,更重新定義了內(nèi)存...

關(guān)鍵字: Linux 文件IO 內(nèi)存映射

在Linux驅(qū)動(dòng)開發(fā)領(lǐng)域,持續(xù)集成與持續(xù)部署(CI/CD)流水線通過自動(dòng)化流程將代碼變更快速轉(zhuǎn)化為可靠部署,而KernelCI與LTP測試套件的深度集成則成為保障驅(qū)動(dòng)穩(wěn)定性的關(guān)鍵技術(shù)組合。本文將從原理分析、應(yīng)用場景及實(shí)現(xiàn)...

關(guān)鍵字: CICD流水線 Linux

在Linux系統(tǒng)中,動(dòng)態(tài)庫(共享庫)是程序運(yùn)行的重要組成部分。當(dāng)程序需要調(diào)用動(dòng)態(tài)庫時(shí),系統(tǒng)必須能夠找到這些庫文件的位置。

關(guān)鍵字: 動(dòng)態(tài)庫 Linux
關(guān)閉