基于A(yíng)DSP-BF533的μClinux嵌入式系統移植與開(kāi)發(fā)
Blackfin處理器是基于由美國模擬器件公司(ADI)和Intel公司聯(lián)合開(kāi)發(fā)的微信號架構(MSA)的首款第4代DSP產(chǎn)品,它是ADI公司16 位產(chǎn)品的一個(gè)大系列。這一新產(chǎn)品是專(zhuān)為通信和互聯(lián)網(wǎng)應用而設計的通用DSP芯片,適合處理廣泛用于互聯(lián)網(wǎng)中的大量圖像、聲音、文本和數據流,也可應用于汽車(chē)電子可視系統、寬帶無(wú)線(xiàn)系統、消費類(lèi)多媒體電子、數字攝像機、多通道VoIP、安全和監督、機頂盒和視頻電話(huà)會(huì )議等方面。本文所用到的ADSP-BF533是Blackfin系列處理器的典型代表。
本文引用地址:http://dyxdggzs.com/article/150264.html μClinux簡(jiǎn)介
μClinux從Linux 2.0/2.4內核派生而來(lái),沿襲主流Linux的絕大部分特性。它是專(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等。
μClinux的主要特點(diǎn)如下:
(1)內存管理
這部分是μClinux與傳統Linux區別最大的地方。對于μClinux來(lái)說(shuō),其設計針對沒(méi)有MMU的處理器,即μC1inux不能使用處理器的虛擬內存管理技術(shù),μClinux仍然采用存儲器的分頁(yè)管理。系統在啟動(dòng)時(shí)把實(shí)際存儲器進(jìn)行分頁(yè),在加載應用程序時(shí)程序分頁(yè)加載,但是由于沒(méi)有MMU管理,因此實(shí)際上μClinux采用實(shí)存儲器管理策略。這一點(diǎn)影響了系統工作的很多方面。
(2)μC1inux的內核加載方式
μClinux的內核有2種可選的運行方式:可以在FLASH上直接運行,也可以加載到內存中運行。由于RAM的存取速率要比FLASH高,因此后者可以減少內存需要,運行速度也更快。
(3)μClinux的文件系統
μClinux系統采用rotors文件系統。這種文件系統相對于一般的ext2文件系統要求更少的空間。這是由于內核支持romfs文件系統比支持 ext2文件系統需要更少的代碼,而且romfs文件系統相對簡(jiǎn)單建立文件系統超級塊(superblock)需要的存儲空間更少。
(4)μClinux的應用程序庫
μClinux小型化的另一個(gè)做法是重寫(xiě)應用程序庫。相對于越來(lái)越大且越來(lái)越全的庫glibc μClibc對libc做了精簡(jiǎn)。
(5)可執行文件格式
μClinux系統使用flat可執行文件格式。另外,μClinux還提供通用的Linux APl支持完整的TCP/IP協(xié)議堆棧和大量其他的網(wǎng)絡(luò )協(xié)議,支持包括NFSext2ROMfs等多種文件系統。
2 建立μClinux開(kāi)發(fā)環(huán)境
嵌入式系統的開(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)境一般分成主機端(HOST)和目標板(TARGET)兩個(gè)部分。主機端是開(kāi)發(fā)平臺,用于運行開(kāi)發(fā)過(guò)程中的各種工具(如Linux操作系統和ADI提供的集成開(kāi)發(fā)環(huán)境Visual DSP++等);目標板是運行和測試平臺,是嵌入式系統的最終駐留環(huán)境。在主機端和目標板之間需要通過(guò)某種方式進(jìn)行通信,如使用。RS 232串口或網(wǎng)口。通信的目的在于發(fā)送控制指令和傳輸數據,同時(shí)獲得反饋信息。圖1是系統移植工作的硬件環(huán)境。
目標板的硬件平臺如圖1所示:

主機端的PC使用COM1和BF533的UART相連接,通過(guò)串口完成對目標板的必要控制功能。本文設計的ADSP—BF533目標板上配備有1塊SMSC LAN91C111以太網(wǎng)卡芯片和主機端建立原始(raw)IP連接,使用鏈路層地址完成大批量數據的傳送。
在硬件環(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ā)和調試工具。在官方網(wǎng)站 http://blackfin.μClinux.org上提供了Blackfin系列處理器內核的交叉編譯工具。下載后按照說(shuō)明解壓到Linux系統的相應文件夾里,并設置系統環(huán)境變量,使這些交叉編譯工具所在的目錄為全局環(huán)境變量。至此就建立好了μClinux的軟件開(kāi)發(fā)
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論