新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ADSP―BF533的μClinux嵌入式系統移植與開發

        基于ADSP―BF533的μClinux嵌入式系統移植與開發

        作者: 時間:2009-04-07 來源:網絡 收藏

        Blackfin處理器是由美國模擬器件公司(ADI)和Intel公司聯合的微信號架構(MSA)的首款第4代DSP產品,它是ADI公司16 位產品的一個大系列。這一新產品是專為通信和互聯網應用而設計的通用DSP芯片,適合處理廣泛用于互聯網中的大量圖像、聲音、文本和數據流,也可應用于汽車電子可視、寬帶無線、消費類多媒體電子、數字攝像機、多通道VoIP、安全和監督、機頂盒和視頻電話會議等方面。本文所用到的是Blackfin系列處理器的典型代表。

        本文引用地址:http://www.104case.com/article/152551.htm

        l μ簡介
        μ從Linux 2.0/2.4內核派生而來,沿襲主流Linux的絕大部分特性。它是專門針對沒有MMU的CPU,并且為做了許多小型化的工作。適用于沒有虛擬內存或內存管理單元(MMU)的處理器。由于μ在標準的Linux基礎上進行了適當的裁剪和優化,形成了一個高度優化的、代碼緊湊的 Linux。雖然它的體積很小,但μClinux仍然保留了Linux的大多數的優點:穩定、良好的性、優秀的網絡功能、完備的對各種文件系統的支持、以及標準豐富的API等。
        μClinux的主要特點如下:
        (1)內存管理
        這部分是μClinux與傳統Linux區別最大的地方。對于μClinux來說,其設計針對沒有MMU的處理器,即不能使用處理器的虛擬內存管理技術,μClinux仍然采用存儲器的分頁管理。系統在啟動時把實際存儲器進行分頁,在加載應用程序時程序分頁加載,但是由于沒有MMU管理,因此實際上μClinux采用實存儲器管理策略。這一點影響了系統工作的很多方面。
        (2)的內核加載方式
        μClinux的內核有2種可選的運行方式:可以在FLASH上直接運行,也可以加載到內存中運行。由于RAM的存取速率要比FLASH高,因此后者可以減少內存需要,運行速度也更快。
        (3)μClinux的文件系統
        μClinux系統采用rotors文件系統。這種文件系統相對于一般的ext2文件系統要求更少的空間。這是由于內核支持romfs文件系統比支持 ext2文件系統需要更少的代碼,而且romfs文件系統相對簡單建立文件系統超級塊(superblock)需要的存儲空間更少。
        (4)μClinux的應用程序庫
        μClinux小型化的另一個做法是重寫應用程序庫。相對于越來越大且越來越全的庫glibc μClibc對libc做了精簡。
        (5)可執行文件格式
        μClinux系統使用flat可執行文件格式。另外,μClinux還提供通用的Linux APl支持完整的TCP/IP協議堆棧和大量其他的網絡協議,支持包括NFSext2ROMfs等多種文件系統。

        2 建立μClinux環境
        系統的與一般的應用開發最大的差別在于,前者需要建立特殊的硬件環境,而后者一般特定的操作系統或分布式平臺。后者的平臺已經對硬件或網絡媒質做了抽象,從而不需要由系統開發者來完成這些工作。而在嵌入式系統開發中,這也由開發者完成。
        嵌入式系統開發環境一般分成主機端(HOST)和目標板(TARGET)兩個部分。主機端是開發平臺,用于運行開發過程中的各種工具(如Linux操作系統和ADI提供的集成開發環境Visual DSP++等);目標板是運行和測試平臺,是嵌入式系統的最終駐留環境。在主機端和目標板之間需要通過某種方式進行通信,如使用。RS 232串口或網口。通信的目的在于發送控制指令和傳輸數據,同時獲得反饋信息。圖1是系統工作的硬件環境。
        目標板的硬件平臺如圖1所示:

        主機端的PC使用COM1和的UART相連接,通過串口完成對目標板的必要控制功能。本文設計的目標板上配備有1塊SMSC LAN91C111以太網卡芯片和主機端建立原始(raw)IP連接,使用鏈路層地址完成大批量數據的傳送。
        在硬件環境建立之后,就需要創建軟件開發環境。軟件環境主要是指Blackfin體系結構的交叉編譯環境。建立交叉編譯環境首先要有交叉開發工具。交叉編譯工具是指一組運行在某一種處理器上,卻可以編譯出另一種處理器卜執行的指令的工具。它由一套用于編譯、匯編和鏈接內核及應用程序的組件組成,通過編譯可以使μClinux內核和應用程序在目標設備上運行。
        編譯μClinux一般使用GNU開發套件作為交叉編譯器工具鏈,它包括一系列的開發和調試工具。在官方網站 http://blackfin.μClinux.org上提供了Blackfin系列處理器內核的交叉編譯工具。下載后按照說明解壓到Linux系統的相應文件夾里,并設置系統環境變量,使這些交叉編譯工具所在的目錄為全局環境變量。至此就建立好了μClinux的軟件開發環境。

        3 利用U―Boot引導內核
        U―Boot(Universal Boot Loader)是當前比較流行的遵循GPL條件的開放源碼項目。也是是嵌入式Linux系統常用的Boot Loader之一。其完成的功能是初始化硬件設備、改變處理器運行模式、重組中斷向量和建立內存空間映射圖,從而將系統的軟硬件帶到一個合適的狀態或者用戶定制的特定狀態,以便為最終加載操作系統內核準備好正確的環境。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 泸州市| 竹山县| 青川县| 静海县| 阿勒泰市| 岳池县| 凤山县| 招远市| 昭觉县| 利辛县| 高州市| 富川| 吉木乃县| 恩施市| 涟源市| 保靖县| 陆丰市| 奉新县| 卢氏县| 永新县| 灌南县| 凌海市| 乌恰县| 永顺县| 临泉县| 洪泽县| 文山县| 灌阳县| 昌平区| 宁南县| 逊克县| 吉首市| 门源| 南汇区| 达州市| 玛多县| 五大连池市| 集安市| 永新县| 南漳县| 陆良县|