基于OMAP的3G無(wú)線(xiàn)終端處理器系統的硬件研究與開(kāi)發(fā)
摘要:在深入理解ARM和TMSC320C5000在參與基于OMAP5910的3G無(wú)線(xiàn)終端的多媒體應用平臺硬件系統設計基本原則的基礎上,文章畫(huà)出一個(gè)硬件系統原理圖和印刷電路板圖;各種功能模塊進(jìn)行測試和調試;完成與CPLD相關(guān)的硬件語(yǔ)言設計和調試,在QuartusII軟件下用VerilogHDL編寫(xiě);在掌握Linux操作系統及嵌入式操作系統的移植和開(kāi)發(fā)及Linux下的驅動(dòng)程序開(kāi)發(fā)的基礎上,完成DSP、Camera、觸摸屏等底層驅動(dòng)程序的開(kāi)發(fā);完成Microwindow下頂層用戶(hù)界面和JPEG等應用程序的開(kāi)發(fā),和Linux驅動(dòng)程序開(kāi)發(fā)。
關(guān)鍵詞:3G;OMAP5910;Linux;Microwindows;MP3;MPEG-4;JPEG
0 前言
3G或第三代移動(dòng)通信系統可以提供各類(lèi)高品質(zhì)的多媒體服務(wù),它能夠處理圖像、音樂(lè )、視頻流和其他形式的媒體,包括網(wǎng)頁(yè)瀏覽,電話(huà)會(huì )議、電視電話(huà)、在線(xiàn)游戲,和其他信息服務(wù)。
1 OMAP5910處理器介紹
OMAP5910是針對高度集成的通用OMAP處理器的嵌入式應用的應用程序的第一個(gè)目標。它的應用是無(wú)線(xiàn)領(lǐng)域之外,能夠互連計算、嵌入式計算、遠程計算和新興的計算一體化。不僅適合于2.5G/3G手機和PDA市場(chǎng),也將OMAP平臺固有的優(yōu)勢進(jìn)一步擴大,可用于數字媒體、生物識別、定位服務(wù)、新類(lèi)型游戲和電信、商業(yè)和工業(yè)應用領(lǐng)域。
2 硬件系統的設計
整個(gè)系統的硬件可以分為兩個(gè)模塊:處理器模塊和外設模塊。處理器模塊運行嵌入式Linux的實(shí)時(shí)操作系統和應用程序,以及周邊外設模塊和通信,是完全控制整個(gè)系統的核心。外設模塊是一組以上的外圍設備,包括電源、音頻和視頻系統。
2.1 處理器模塊
進(jìn)一步細分為處理器、JTAG和內存模塊。
處理器:OMAP5910處理器是整個(gè)系統中的仲裁者和決策者,是相機、手機(包括圖像采集,像素插值的RGB轉換和JPEG壓縮),視頻,MPEG-4壓縮的靈魂。
JTAG接口:用于完成處理器的調試和診斷。
內存:內存模塊完成多媒體數據(包括捕獲靜止圖像,視頻圖像,音頻和視頻壓縮流和解碼幀,參考幀,顯示幀等)和其他數據的存儲。
2.2 嵌入式操作系統
后PC時(shí)代,越來(lái)越多的人接觸到一個(gè)新的概念一嵌入式系統。嵌入式產(chǎn)品被發(fā)現在人們的日常生活,從手機、個(gè)人數字助理(_PDA)、家用空調、冰箱、波音飛機、小型車(chē),甚至巡航導彈武庫。數字化時(shí)代的標志不再是一個(gè)單一的PC,而是嵌入式系統的不同模式。
嵌入式Linux因為便宜、功能強大、易于移植等特點(diǎn)被被廣泛采用,成為新興的力量,在這個(gè)系統中使用的操作系統版本是PATCHVERSIO N21。
3 交叉編譯環(huán)境的建立
交叉編譯環(huán)境的作用是為OMAP5910編譯程序可以識別的對象代碼。建立的步驟:解壓、安裝、并設置環(huán)境變量。
服務(wù)器使用gcc linux交叉編譯器,ARM-LINUX-glibc.tar.bz20到~Linux-glibc.tar.bz2的復雜設置根目錄和提取焦油jxv路徑上的交叉編譯環(huán)境/ARM-linwc glibc.tar.bz2此命令在/usr目錄安裝的ANM交叉編譯器的/usr/本地/bin目錄的安裝elfZcoff工具。然后在PATH變量中添加一個(gè)PATH=$PATHausrlarmlbin補充letclprofile文件的位置。這充分建立了良好的ARM-LINUX交叉編譯環(huán)境。
4 內核的移植
移植必須先了解源代碼的核心結構。
arch:包含多種架構CPU的代碼,如archlarim目錄下面包含的是專(zhuān)門(mén)針對arm的代碼,比如說(shuō)arch/axm/kernellhead-armv.S,我們的目標系統的內核啟動(dòng)就是從這個(gè)文件里面開(kāi)始運行的。
documentation:與內核有關(guān)的各種文檔,有一些是比較有用的,像device.txt是各種類(lèi)型器件的設備描述文件。
drivers:這個(gè)目錄是各種設備驅動(dòng)程序。以后提到的LCD、camera、DSP、USB以及觸摸屏的驅動(dòng)程序都在該目錄下。
fs:這個(gè)目錄包含各種文件系統。
include:這個(gè)目錄下面是各種頭文件。
init:這個(gè)目錄下主要是linux的主函數文件~.c文件,linux的主流程就在這個(gè)文件里面實(shí)現,main里的start-kernel是內核的入口。
ipc:這個(gè)目錄下主要是進(jìn)程間通信的一些實(shí)現代碼。
kernel:這個(gè)目錄下面是內核的一些核心文件。
Iib:這個(gè)目錄下是一些通用的庫函數。
mm:這個(gè)目錄下主要是內存管理的代碼。
net:這個(gè)目錄下包含了liuux對網(wǎng)絡(luò )的支持,各種協(xié)議的實(shí)現都在該目錄下面。
scripts:這個(gè)目錄下主要是一些腳本文件,通過(guò)與這些文件的交互對內核進(jìn)行配置。
5 設備驅動(dòng)程序介紹
設備驅動(dòng)程序是內核的Linux操作系統和硬件系統,應用程序屏蔽硬件細節之間的接口。在此應用程序看來(lái),硬件設備只是一個(gè)設備文件,應用程序可以在操作普通文件的硬件設備上操作。Linux操作系統,設備分為字符設備、塊設備和網(wǎng)絡(luò )設備三種。
5.1 字符型設備驅動(dòng)的框架
嵌入式Linux設備管理和文件系統,再與以文檔的形式存儲在/dev目錄中的各種設備緊密連接,稱(chēng)為設備文件。完成設備操作,運行定期的數據文件相同的設備文件。為了管理這些設備,系統設備數量,每個(gè)設備被分為主要設備數量和設備數量。主要設備用來(lái)區分不同類(lèi)型的設備,從設備號用來(lái)區分同一類(lèi)型的多個(gè)設備。
6 總結
設計完成了基于OMAP5910的3G無(wú)線(xiàn)終端的多媒體應用平臺的硬件系統。繪制了硬件系統的原理圖和印制電路板圖;對各功能模塊進(jìn)行測試和調試;完成與CPLD相關(guān)的硬件語(yǔ)言設計和調試,在QuartusII軟件下用VerilogHDL編寫(xiě);在掌握l(shuí)inux操作系統及嵌入式操作系統的移植和開(kāi)發(fā)及Linux下的驅動(dòng)程序開(kāi)發(fā)的基礎上,完成DSP、Camera、觸摸屏等底層驅動(dòng)程序的開(kāi)發(fā):完成Microwindow下頂層用戶(hù)界面和JPEG等應用程序的開(kāi)發(fā)。
評論