• <strike id="aymay"></strike>
    <strike id="aymay"></strike>
    <ul id="aymay"><dfn id="aymay"></dfn></ul>
    <ul id="aymay"><sup id="aymay"></sup></ul>
  • <del id="aymay"></del>

    利用MLD自動化操作系統移植降低 Linux 的成本

    2013-11-04 17:18 來源:互聯網 作者:洛小辰

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

    開放源代碼與商業操作系統

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

    顯然,需要做出的一個決定,是購買商業 Linux 發行版,還是設法解決免費 Linux 發行版移植的問題。很多工程師使用 Linux 只是為了利用其現有服務的一小部分,如文件系統、TCP/IP 和 HTTP 或 THTTP 等網絡服務。如果您只需要很少的服務,移植自己的 Linux 內核可能不那么耗時,價格也不那么昂貴。

    商用操作系統 已將其產品移植到許多最常用的處理器中,并提供可在各種標準硬件平臺上運行的板支持包 (board support package, BSP),這正是商業操作系統的優勢所在。遺憾的是,如果要設計定制嵌入式處理系統,商業操作系統可能產生為嵌入式硬件系統創建定制 BSP 服務的其它費用,除非能將BSP 的生成自動化。而這就是榮獲大獎的 Xilinx Platform Studio (XPS) 工具套件的眾多功能之一:在賽靈思 嵌入式處理設計中,BSP 和庫的生成都實現了自動化。

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

    圖1: Linux 系統軟件和硬件層分布

    當底層的硬件平臺發生變化時(通常是為了容納新的應用程序功能),內核也就必須隨之而改變,而這需要時間,并會增加設計成本。對于為特定應用程序量身打造的高度定制的處理平臺,這種情況已是司空見慣。設計人員通常使用基于 FPGA 的嵌入式系統,以便優化系統架構,獲得硬件性能和軟件靈活性的最佳平衡。此外,如果要設計自己的定制嵌入式平臺,還必須考慮為新外設編寫定制驅動程序和確定內核配置文件的合理設置所需要的時間,以及充分測試新內核所需要的驗證時間。

    使操作系統設置自動化

    利用 XPS,嵌入式系統設計人員可以構建并優化系統,使下列任務的執行自動化:分配地址映射、為外設配置驅動程序、鏈接所有必需的庫,等等。完成這些設置后,系統即準備就緒,可以開始編寫首個應用程序了。但如果要編寫的應用程序是一個完整的操作系統的話會怎樣呢?這就是 Xilinx 創新方式的巧妙所在,利用它可以自動化類似 Linux 的定制操作系統 的生成。

    XPS 有一種方法,可以通過微處理器庫描述 (microprocessor library description, MLD) 文件導出有關微處理器、外設和系統架構的信息。MLD 文件包含定制軟件庫和為操作系統生成 BSP 的指令。

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

    圖2:在 XPS 軟件平臺設置窗口進行 μClinux 設置XPS 還會生成“auto-conf.in”文件,自動配置過程會使用該文件為 μCLinux 內核構建 makefile。無需重新設計內核配置文件,就可以自動重新構建內核;考慮到一個“auto-config.in”文件的條款內容大約有 380 行之多,這一功能節省的時間就頗為可觀。逐個手動更新這些文件既容易出錯,又耗費時間。此文件的一小部分如圖 3 所示。

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

    MLD 技術是一種通用技術,可用于其他操作系統。例如,Green Hills 的 Integrity 操作系統也使用這一技術。

    結論

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

    如果每次迭代嵌入式處理硬件平臺時都手動更新 Linux 或其它操作系統內核,只會浪費寶貴的工程時間。而將這些任務自動化后,對于用到操作系統的嵌入式系統,就能大幅降低其開發成本。

    Linux 自動化 MLD

    相關閱讀

    暫無數據

    一周熱門

    主站蜘蛛池模板: 久久99精品久久久久久9蜜桃| 欧美成人精品一区二区三区| 一本色道久久88—综合亚洲精品 | 中文字幕精品亚洲无线码一区应用| 久久96国产精品久久久| 在线观看自拍少妇精品| 国产精品免费久久久久久久久| 黑人巨大精品欧美| 伊人久久精品影院| 国产在线精品国自产拍影院 | 国产精品青青在线观看爽香蕉| 国产最新进精品视频| 自拍偷自拍亚洲精品第1页| 黑人巨茎精品欧美一区二区| 奇米精品一区二区三区在线观看| 精品国产第一国产综合精品| 亚洲国产精品无码专区影院| 日韩熟女精品一区二区三区| 国产精品日韩欧美久久综合| 柠檬福利精品视频导航| 国产成人精品日本亚洲11| 久久国产精品99国产精| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 国产99久久精品一区二区| 久久综合国产乱子伦精品免费 | 久久九九青青国产精品| 国产精品区一区二区三在线播放 | 国产精品成人无码久久久久久| 国产精品久久久久久久久鸭| 国产伦精品一区二区三区| 日韩精品久久久久久久电影蜜臀 | 秋霞午夜鲁丝片午夜精品久| 2022免费国产精品福利在线| 久久精品麻豆日日躁夜夜躁| 亚洲精品无码久久久久sm| 中文精品人人永久免费| 亚洲精品乱码久久久久久| 一本一本久久a久久精品综合麻豆 一本色道久久88综合日韩精品 | 无码日韩人妻精品久久蜜桃| 亚洲日韩精品A∨片无码| 自拍偷自拍亚洲精品被多人伦好爽|