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