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