<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)DSP-BF533的μClinux嵌入式系統移植與開(kāi)發(fā)

基于A(yíng)DSP-BF533的μClinux嵌入式系統移植與開(kāi)發(fā)

作者: 時(shí)間:2011-09-06 來(lái)源:網(wǎng)絡(luò ) 收藏

Blackfin處理器是由美國模擬器件公司(ADI)和Intel公司聯(lián)合的微信號架構(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ì )議等方面。本文所用到的是Blackfin系列處理器的典型代表。

本文引用地址:http://dyxdggzs.com/article/150264.htm

  l μ簡(jiǎn)介

  μ從Linux 2.0/2.4內核派生而來(lái),沿襲主流Linux的絕大部分特性。它是專(zhuān)門(mén)針對沒(méi)有MMU的CPU,并且為做了許多小型化的工作。適用于沒(méi)有虛擬內存或內存管理單元(MMU)的處理器。由于μ在標準的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環(huán)境

  系統的與一般的應用開(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不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>