在基于ADSP BF533的嵌入式Linux系統(tǒng)上的移植
1 引言
Boot Loader(內(nèi)核引導程序)是在操作系統(tǒng)內(nèi)核運行之前運行的一段自舉程序,用于初始化硬件設備、改變處理器運行模式、重組中斷向量和建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件帶到一個合適的狀態(tài)或者用戶定制的特定狀態(tài),以便為最終加載操作系統(tǒng)內(nèi)核準備好正確的環(huán)境[1]。
嵌入式Linux系統(tǒng)常用的Boot Loader有arm-boot、redboot、U-Boot等。U-Boot (全稱Universal Boot Loader)是當前比較流行的遵循GPL條件的開放源碼項目。U-Boot具有源碼公開的特點,開發(fā)人員可根據(jù)自身需要進行裁減;支持多種處理器和嵌入式操作系統(tǒng)內(nèi)核;具有多種設備驅(qū)動源碼:支持種引導方式;具有功能強大且成熟、穩(wěn)定等諸多優(yōu)點,故在嵌入式系統(tǒng)開發(fā)過程中廣泛采用。U-Boot嚴重依賴于底層硬件,不同的CPU或嵌入式板極設備需要不同的U-Boot,因此,在嵌入式系統(tǒng)中建立通用的U-Boot是非常困難的,故U-Boot需針對開發(fā)板量身定做。
2 開發(fā)平臺
2.1 BF533簡介
Blackfin系列DSP是ADI公司與Intel聯(lián)合開發(fā)推出的第一款高性能、低功耗第四代定點DSP產(chǎn)品,融合了Analog Devices/Intel公司的微信號結(jié)構(gòu)(MSA)。它將一個32位RISC型指令集和雙16位乘法累加(MAC)信號處理功能與通用型微控制器所具有的易用性組合在一起。這種組合使Blackfin處理器能夠在信號處理和控制處理應用中發(fā)揮最佳的性能。且Blackfin處理器通過將工業(yè)標準接口與高性能的信號處理內(nèi)核相結(jié)合在一起,用戶可以快速設計出節(jié)省成本的解決方案,而且無需昂貴的外部組件。
本開發(fā)系統(tǒng)采用BF533,BF533是主頻高達600 MHz、峰值處理能力為1.2 GMI/s的高性能Blackfin處理器。BF533內(nèi)核包含2個16位MAC、2個40位ALU、4個8位視頻ALU以及1個40位移位器。另外,BF533還包括1個UART口、1個SPI口、2個串行口(SPORT)、4個通用定時器(其中3個具有PWM功能)、1個實時時鐘、看門狗定時器以及1個并行外設接口。外部存儲器控制器可與SDRAM、SRAM、Flash和ROM實現(xiàn)無縫連接[2]。
2.2 系統(tǒng)硬件平臺簡介
本系統(tǒng)的開發(fā)板硬件系統(tǒng)如圖1所示。
目標板以Blackfin嵌入式處理器為核心,數(shù)據(jù)地址線復用到SDRAM、Flash、USB、Ethernet,并通過FPGA實現(xiàn)邏輯控制。此外,將UART端口轉(zhuǎn)換為RS232端口引出。其中SDRAM的地址為0x00000000~0x02000000,F(xiàn)lash的地址為 0x20000000~0x20300000。
宿主機采用Window和Suse10.0雙操作系統(tǒng),采用串行接口和以太網(wǎng)連接宿主機和目標板,程序先在宿主機上編譯,然后下載至目標板上運行,目標板的終端被重定向到串行接口,由宿主機輸出。
2.3 開發(fā)環(huán)境的建立
2.3.1 在宿主機上設置終端
大部分嵌入式系統(tǒng)在宿主機大多都采用kermit或minaicom實現(xiàn)與目標板的通信,本系統(tǒng)采用inicom。minicom是Linux下一個類似于Windows超級終端的友好串口通信程序。在終端輸入bash#minicom-s進入minicom設置畫面,設置串口波特率、有效數(shù)據(jù)位、停止位以及奇偶校驗位分別為57 600、8 bit、1位停止位以及無奇偶校驗位等。
評論