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