面向嵌入式視頻處理平臺(tái)的Linux移植
0引言
本文引用地址:http://butianyuan.cn/article/166809.htm嵌入式系統(tǒng)開發(fā)已經(jīng)進(jìn)入32位時(shí)代,在當(dāng)前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后PC時(shí)代,嵌入式系統(tǒng)已經(jīng)廣泛地滲透到科學(xué)研究、工程設(shè)計(jì)、軍事技術(shù)等各個(gè)方面。
嵌入式系統(tǒng)通常由硬件和軟件兩個(gè)大部分組成。其硬件部分的核心部件就是各類嵌入式微處理器,并配置存儲(chǔ)器、I/O設(shè)備、通信模塊等必要的外設(shè)。目前市場(chǎng)上主流銷售的32位嵌入式處理器有MOTOROLA、MIPS、ARM等系列,其中ARM以其體積小、成本低、功耗低、性能高等特點(diǎn)成為嵌入式系統(tǒng)設(shè)計(jì)的首選。
軟件部分一般由嵌入式操作系統(tǒng)和應(yīng)用軟件組成。嵌入式操作系統(tǒng)是一種支持嵌入式應(yīng)用的操作系統(tǒng)軟件,它負(fù)責(zé)全部軟硬件資源的分配和調(diào)度、控制協(xié)調(diào)等活動(dòng)。從20世紀(jì)80年代末開始,陸續(xù)出現(xiàn)了很多典型的嵌入式操作系統(tǒng),如Linux、μC/OS、WindowsCE等,其中使用最廣泛、最受歡迎的是Linux,這是由于其源代碼公開、可移植性好等優(yōu)點(diǎn)。
1嵌入式視頻處理平臺(tái)和Linux系統(tǒng)移植
本文開發(fā)的嵌入式視頻處理平臺(tái)在達(dá)芬奇(Da-Vinci)數(shù)字媒體技術(shù)平臺(tái)TMS320DM*6上進(jìn)行的。此平臺(tái)是以嵌入式處理器ARM為中心,由存儲(chǔ)器、I/O設(shè)備、通信模塊以及電源等必要的輔助接口組成。它的工作流程如圖1所示。攝像頭將視頻信號(hào)傳輸進(jìn)來(lái)后,再通過視頻采集卡轉(zhuǎn)換成數(shù)字信號(hào)然后送人TMS320DM*6,經(jīng)過處理后通過視頻輸出接口在LCD(液晶顯示器)上顯示,在此過程中可以由USB口上所接的操縱桿進(jìn)行控制,以及與存儲(chǔ)設(shè)備進(jìn)行存取操作。
此嵌入式視頻處理平臺(tái)主要應(yīng)用于視頻和圖像的處理,如進(jìn)行視頻跟蹤、圖像的編解碼等。
本文詳細(xì)闡述如何在TMS320DM*6平臺(tái)上進(jìn)行Linux系統(tǒng)移植,形成了一個(gè)完整的Linux移植體系,為后續(xù)在此平臺(tái)上的開發(fā)搭建了一個(gè)良好的平臺(tái),其移植流程如圖2所示。
2交叉編譯環(huán)境的建立
開發(fā)一個(gè)嵌入式Linux系統(tǒng),首先要建立良好的交叉編譯環(huán)境。所謂交叉編譯環(huán)境,是由編譯器、連接器和解釋器組成的綜合開發(fā)環(huán)境。交叉編譯是嵌入式系統(tǒng)開發(fā)過程中的一項(xiàng)重要技術(shù),它的主要特征是某機(jī)器中執(zhí)行的程序代碼不是在本機(jī)編譯生成,而是由另一臺(tái)機(jī)器編譯生成。一般把前者稱為目標(biāo)機(jī) (tar-get),后者稱為宿主機(jī)(host)。在宿主機(jī)上編譯好適合目標(biāo)機(jī)運(yùn)行的代碼后,通過宿主機(jī)到目標(biāo)機(jī)的調(diào)試通道將代碼下載到目標(biāo)機(jī),然后由運(yùn)行于宿主機(jī)的調(diào)試軟件控制代碼在目標(biāo)機(jī)上運(yùn)行調(diào)試,其交叉編譯開發(fā)模型如圖3所示。
建立ARM的交叉編譯環(huán)境主要用到的開發(fā)工具有:binutils、gcc、glibc。其中binutils是二進(jìn)制文件的處理工具,它主要包含了一些輔助開發(fā)工具,例如obj-dump顯示反匯編碼、nm列出符號(hào)表、readelf顯示elf文件信息及段信息等。這些工具在嵌入式開發(fā)初期,尤其是移植調(diào)試操作系統(tǒng)時(shí)非常有用;gcc是用來(lái)編譯內(nèi)核代碼的工具,可以編譯匯編語(yǔ)言和C語(yǔ)言的程序,生成ARM的代碼;glibc是一個(gè)提供系統(tǒng)調(diào)用和基本函數(shù)的C語(yǔ)言庫(kù),所有動(dòng)態(tài)鏈接的程序都要用到它。將這些開發(fā)工具包下載到宿主機(jī)上進(jìn)行編譯、安裝,即可創(chuàng)建ARM的交叉編譯環(huán)境。
評(píng)論