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