μClinux嵌入式系統移植與開發方法
μCLinux是專門針對沒有MMU的CPU,并且為嵌入式系統做了許多小型化的工作。適用于沒有虛擬內存或內存管理單元(MMU)的處理器。由于μClinux在標準的Linux基礎上進行了適當的裁剪和優化,形成了一個高度優化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,但μClinux仍然保留了Linux的大多數的優點:穩定、良好的移植性、優秀的網絡功能、完備的對各種文件系統的支持、以及標準豐富的API等。
本文引用地址:http://www.104case.com/article/148590.htm嵌入式系統的開發與一般的應用開發最大的差別在于,前者需要建立特殊的硬件環境,而后者一般基于特定的操作系統或分布式平臺。后者的平臺已經對硬件或網絡媒質做了抽象,從而不需要由系統開發者來完成這些工作。而在嵌入式系統開發中,這也由開發者完成。
嵌入式系統開發環境一般分成主機端和目標板兩個部分。主機端是開發平臺,用于運行開發過程中的各種工具;目標板是運行和測試平臺,是嵌入式系統的最終駐留環境。在主機端和目標板之間需要通過某種方式進行通信,通信的目的在于發送控制指令和傳輸數據,同時獲得反饋信息。
在硬件環境建立之后,就需要創建軟件開發環境。軟件環境主要是指Blackfin體系結構的交叉編譯環境。建立交叉編譯環境首先要有交叉開發工具。交叉編譯工具是指一組運行在某一種處理器上,卻可以編譯出另一種處理器上執行的指令的工具。它由一套用于編譯、匯編和鏈接內核及應用程序的組件組成,通過編譯可以使μClinux內核和應用程序在目標設備上運行。編譯μClinux一般使用GNU開發套件作為交叉編譯器工具鏈,它包括一系列的開發和調試工具。作為操作系統的核心,μClinux內核負責管理系統的進程、內存、設備驅動程序、文件系統和網絡系統,決定著系統的各種性能。μClinux內核采用模塊化的組織結構,通過增減內核模塊的方式來增減系統的功能。
雖然μClinux的內核代碼大部分獨立于處理器和其體系結構,但是最底層的代碼還是基于特定系統的。雖然各個系統存在相同之處,但是它們的中斷處理上下文、內存映射的維護、任務上下文和初始化過程是獨特的。這些例行程序放置在μClinux代碼樹的arch/目錄下。直接由源代碼編譯生成的內核映像文件一般不會啟動成功,需要根據自己的目標板進行配置。μClinux內核有2種可選的運行方式:一種是在FLASH上直接運行;另一種是加載到內存中運行,系統啟動時從FLASH中讀取壓縮的內核代碼到內存中解壓,然后開始執行,這種方法比第一種的速度更快。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論