




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、. . . . 基于ARM的Mplayer播放器的移植摘要目前市場上媒體播放器款式層出不窮。從原先只能用于欣賞音樂的MP3,至今已經(jīng)發(fā)展成能夠播放多種視頻,音頻格式的MP4,MP5等多功能媒體播放器。嵌入式系統(tǒng)的官方定義是"以應用為中心、軟件硬件可裁剪的、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格綜合性要求的專用計算機系統(tǒng)"。其硬件以一個高性能的處理器(通常是32位處理器)為基礎,軟件以一個多任務操作系統(tǒng)為基礎,非常適合完成MPlayer移植相關任務。本次畢業(yè)設計任務就是以Linux嵌入式開發(fā)為主線,利用X86PC機與ARM2410s嵌入式平臺開發(fā)多種播放格式的MP
2、layer。本系統(tǒng)首先完成X86PC機Linux環(huán)境下MPlayer的實現(xiàn),之后通過QT制作MPlayer GUI,完成MPlayer 向ARM2410s嵌入式平臺的移植和調試工作。并且通過研究多種視頻的文件格式,使MPlayer能夠播放多種視頻格式。該畢業(yè)設計完成了任務書的要求。關鍵詞:嵌入式;Linux;MPlayer;視頻格式;QT ABSTRACT The present market has been seeing various designs of media players emerging one after another. Originating from MP3 whi
3、ch can only serves for appreciating music, the multifunctional media players nowadays have been developed into MP4 and MP5, which can display many video and audio formats. Based on the software-hardware combined multimedia processing. The official definition for embedded system is a application-cent
4、ered ware tailorable dedicated computer system that can cater to the strict integrative requires of the application system of function, reliability, cost, volume and power dissipation.The graduate project plans to develop Mplayer with various play formats using the embedded platform of X86PC machine
5、 and ARM2410S, with the development of Linux embedded chips as the main line. The system first has accomplished player's implementation of X86PC machine under the environment of Linux, followed which Mplayer GUI has been constructed to achieve the transplantation and debug from Mplayer to ARM241
6、0 embedded platform. Meanwhile, Mplayer is designed to display various video formats though research on the file formats of various videos. The graduate project has accomplished all the requires of the assignment. Key words: embedded; Linux; video format; QT 目錄第一章前言.1 1. 研究背景和意義.1 2. 嵌入式系統(tǒng)概述.2 2.1 嵌
7、入式系統(tǒng)定義 .2 2.2 嵌入式系統(tǒng)構架 .3 2.3 嵌入式系統(tǒng)開發(fā)流程 .5 3. 研究現(xiàn)狀.7 3.1 嵌入式系統(tǒng)發(fā)展現(xiàn)狀 .73.2 嵌入式移植研究現(xiàn)狀 .83.3 畢設系統(tǒng)研究現(xiàn)狀 .9第二章系統(tǒng)分析 .10 1. 系統(tǒng)通用模型. 10 2. 系統(tǒng)主要任務和目標. 11 2.1 主要研究容 .112.2 主要目標 .113. 系統(tǒng)結構分析.12 3.1 ARM-Linux 端.123.2 X86PC 端.124. 系統(tǒng)選用的開發(fā)工具.12 4.1 UP-NETARM2410-S 嵌入式開發(fā)平臺.124.2 Linux 操作系統(tǒng).144.3 HEX EDIT .164.4 GCC 編
8、譯器.17第三章系統(tǒng)概要設計 . 211. 總體設計. 21 1.1 系統(tǒng)體系結構 . 21 1.2 基本設計概念 . 22 2. 模塊設計. 25 2.1 功能-模塊對照表 . 25 2.2 各功能模塊邏輯關系 . 26 第四章系統(tǒng)詳細設計 . 27 1. 嵌入式開發(fā)環(huán)境的搭建. 27 2. 視頻格式分析模塊. 28 2.1 模塊概述 . 28 2.2 模塊分析 . 28 3. MPlayer 模塊 . 36 3.1 X86-MPlayer 模塊. 36 3.2 ARM-MPlayer 模塊. 39 3.3 MPlayer 編譯指令. 40 4. Gcc 模塊 . 42 4.1 Gcc 模塊
9、定義. 42 4.2 ARM-Linux-gcc 模塊安裝編譯. 43 5. MINICOM 模塊 . 44 5.1 MINICOM 定義. 44 5.2 配置流程 . 44 6.核燒錄. 45 6.1 核介紹 . 45 6.2 模塊執(zhí)行流程 . 45 7. GUI 模塊 .47 7.1 模塊概述 . 47 7.2 QT 環(huán)境搭建. 47 7.3 插槽機制 . 49 7.4 主要數(shù)據(jù)結構和服務方法 . 51 第五章系統(tǒng)測試 . 54 1. 測試計劃. 54 1.1 測試對象 . 54 1.2 測試目標 . 54 1.3 測試原則 . 55 1.4 測試策略 . 56 2. 測試過程. 56 2
10、.1 模塊測試 . 56 2.2 模塊集成測試 . 59 2.3 系統(tǒng)測試 . 61 3. 錯誤總結. 62 3.1 Mplayer 移植錯誤分析. 62 3.2 核聲卡驅動 BUG 消除 . 63 第六章結論 . 67 1. 本系統(tǒng)特色. 67 2. 開發(fā)心得. 67 參考文獻 . 70 第一章前言1. 研究背景和意義隨著科學技術的迅猛發(fā)展,人們的物質生活逐步得到改善,對精神層面的需求逐漸增強。由于不滿足于僅在家中欣賞電視提供的多媒體,便攜的媒體播放器應運而生。隨著計算機和信息技術快速發(fā)展,人們對媒體播放器也提出了更加苛刻的要求。比如更動聽的音質,更多的視頻音頻支持格式,更加人性化的操作界面
11、等等。嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應用的專用計算機系統(tǒng),不能獨立于應用而自行發(fā)展,否則會失去市場。嵌入式系統(tǒng)的核心部件即嵌入式微處理器的功耗、體積、成本、處理能力和電磁兼容性等均受應用要求的制約,這些方面也正是各個半導體廠商競爭的熱點。嵌入式系統(tǒng)的硬件、軟件設計都必須精心考慮,力爭在同樣的硅片面積上實現(xiàn)更高的性能,只有如此才能在具體應用時在處理器的選擇面前更具有行業(yè)競爭力。嵌入式處理器必須針對其用戶的需求,對芯片配置進行裁剪才能符合性能標準。由于嵌入式系統(tǒng)和具體應用有機結合起來,才能廣泛應用于各種行業(yè)。如圖1-1所示。1-1 嵌入式系統(tǒng)應用多媒體技術的快速發(fā)展,在媒體播放方面獨占鰲頭的
12、則是新興的開源軟件MPlayer。MPlayer是Linux下最優(yōu)秀的多媒體播放器之一,它的播放速度最快,支持的文件格式也最多,在X86 PC機上運行很穩(wěn)定,將其移植到精簡指令集的嵌入式系統(tǒng)中去,是十分有價值的。由于MPlayer其開源的特性,使得修改,定制一份具有針對性的MPlayer成為可能。并隨著MPlayer版本的提高,功能與穩(wěn)定性的不斷完善,使用MPlayer作為媒體播放器的產(chǎn)品將成為趨勢。由于開源軟件免費的特性,使用MPlayer開發(fā)的產(chǎn)品將能夠節(jié)省軟件方面的成本。因此,對于MPlayer移植的可行性的分析與實現(xiàn),十分具有現(xiàn)實意義。2. 嵌入式系統(tǒng)概述2.1 嵌入式系統(tǒng)定義目前嵌入
13、式系統(tǒng)已經(jīng)滲透到我們生活中的每個角落,其地位和價值已經(jīng)不可取代。嵌入式系統(tǒng)一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。可從幾方面來理解嵌入式系統(tǒng):1、 嵌入式系統(tǒng)是面向用戶、面向產(chǎn)品、面向應用的,它必須與具體應用相結合 才會更具有優(yōu)勢。因此嵌入式系統(tǒng)具有很強的專用性,必須結合實際系統(tǒng)需求進行合理的裁減使用。2、嵌入式系統(tǒng)是將先進的計算機技術、半導體技術、電子技術和各個行業(yè)具體應用相結合后的產(chǎn)物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。所以,介入嵌入式系統(tǒng)行
14、業(yè),必須有一個正確的定位。3、嵌入式系統(tǒng)必須根據(jù)應用需求對軟硬件進行裁剪,滿足應用系統(tǒng)的功能、可靠性、成本、體積等要求。目前嵌入式系統(tǒng)的核心往往是一個只有幾 K 到幾十 K 的微核,需要根據(jù)實際的使用進行功能擴展或者裁減。由于微核的存在,使得這種擴展能夠非常順利的進行。2.2 嵌入式系統(tǒng)構架一般而言,嵌入式系統(tǒng)的構架可以分成四個部分:處理器、存儲器、輸入輸出(I/O)和軟件。核心部件是嵌入式處理器。嵌入式處理器是為了完成專門的應用而設計的特殊目的的處理器。嵌入式處理器一般分成如下四類:1、嵌入式微處理器(Embedded MicroProcessor Unit,EMPU)。在通用計算機CPU的
15、基礎上,在工作溫度、抗電磁干擾與可靠性等方面都做了各種增強。在使用EMPU構建母板時,只保留和具體嵌入式應用相關的部件,可以大幅度減小系統(tǒng)體積和功耗。嵌入式微處理器目前主要有AmI86/88、386EX、SC-400、Power PC、68000、MIPS和ARM系列等。2、嵌入式微控制器(MicroController Unit,MCU)。將整個計算機系統(tǒng)都集成到一塊芯片中,也可以稱為單片機。與微處理相比,微控制器的體積較小,成本也較低,但是靈活性、系統(tǒng)資源有限,而且很難進行擴展。3、嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)。DSP處
16、理對系統(tǒng)結構和指令進行了特殊設計,使其適合與執(zhí)行DSP算法,編譯效率較高,指令執(zhí)行速度較高。4、嵌入式片上系統(tǒng)(System on Chip,SOC)。隨著EDI的推廣和VLSI設計的普與化與半導體工藝的迅速發(fā)展,在一塊芯片里面可以實現(xiàn)復雜的系統(tǒng)。SOC很大程度地減小了系統(tǒng)的體積和功耗,提高可靠性。如圖1-2所示:圖1-2 嵌入式系統(tǒng)構架在嵌入式系統(tǒng)中,為了有效地管理硬件資源以與多任務處理操作,在用戶應用程序和嵌入式硬件之間加入了一層軟件系統(tǒng),稱為嵌入式操作系統(tǒng)。操作系統(tǒng)包括存儲器管理、硬件設備管理、中斷處理、任務間通信、任務調度以與定時器管理等軟件模塊。嵌入式操作系統(tǒng)的引入,為用戶應用程序的
17、設計提供編程接口。用戶應用程序使用這些編程接口可以實現(xiàn)復雜的邏輯功能。但是嵌入式操作系統(tǒng)本身需要一定的系統(tǒng)資源,而在嵌入式系統(tǒng)中,系統(tǒng)資源是有限的。這就需要對嵌入式操作系統(tǒng)進行特別設計。目前,應用比較廣泛的嵌入式操作系統(tǒng)主要有:mC/OS-、uCLinux、ARM-Linux、VxWorks、pSOS、Nucleus、PlamOS、Windows CE、Embedded Linux、ECOS、QNX、Lynx以與Symbian等。2.3 嵌入式系統(tǒng)開發(fā)流程嵌入式系統(tǒng)開發(fā)采用生命周期的方法,整個過程可以分為:1、需求分析階段2、設計階段(包括硬件與軟件的規(guī)格要求)3、生成代碼階段(編程、測試和調
18、試)絕大多數(shù)軟件開發(fā)都是基于native方式,在通用微機上進行本機編輯、本機編譯、本機、本機調試、本機運行。但嵌入式軟件的開發(fā)都是在支持交叉編譯的環(huán)境下進行,這是一套編譯器、連接器和libc庫等組成的集成開發(fā)環(huán)境。宿主機上交叉編譯、交叉調試,目標機上運行被調試程序。如圖1-3為流程說明圖:圖 1-3 嵌入式軟件開發(fā)流程交叉編譯,就是在一臺電腦上生成能夠在另外一臺電腦上執(zhí)行程序的代碼。除了兼容性擴展的優(yōu)勢之外,交叉編譯還以下兩個優(yōu)點:一是當目標系統(tǒng)對其可用的編譯工具沒有本地配置時,往往采用交叉編譯來提供方便;二是當主機系統(tǒng)比目標系統(tǒng)要快得多,或者具有多得多的可用資源時,也會經(jīng)常采用交叉編譯的方法
19、。尤其是第二點非常重要,因為絕大部分嵌入式系統(tǒng)并沒有能夠編譯生成可執(zhí)行程序的能力,它們需要宿主機來幫助生成用來執(zhí)行的代碼程序。本畢業(yè)設計系統(tǒng)建立交叉編譯環(huán)境,利用可移植性強的 C語言在宿主機上編輯并交叉編譯 MPlayer 等一系列程序,再利用交叉編譯調試工具生成可執(zhí)行代碼,最后向目標平臺移植運行。3. 研究現(xiàn)狀3.1 嵌入式系統(tǒng)發(fā)展現(xiàn)狀嵌入式系統(tǒng)的核心部件是各種類型的嵌入式處理器,據(jù)不完全統(tǒng)計,全世界嵌入式處理器的品種已有上千種之多。幾十年來,各種4、8、16和32位的處理器在嵌入式系統(tǒng)中都有廣泛應用。嵌入式系統(tǒng)的處理器可以分為兩大類:一類是采用通用計算機的CPU為處理器,如X86系列;另一
20、類為微控制器和DSP,微控制器具有單片化、體積小、功耗低、可靠性高、芯片上的外設資源豐富等特點,成為嵌入式系統(tǒng)的主流器件。當前,嵌入式系統(tǒng)處理器的發(fā)展趨勢主要采用32位嵌入式CPU,其主流系列有ARM(包括Intel公司的strong ARM和XScale)、MIPS和SH三大系列。嵌入式系統(tǒng)CPU的另一類型為DSP。當前,DSP處理器的典型結構是單片化嵌入式DSP,如TI公司的TMS320系列;另一類是在通用CPU或單片系統(tǒng)中增加DSP協(xié)處理器,如Intel公司的MCS-296等。還有一種類型是選用嵌入式單片系統(tǒng)SOC(System On a Chip)。其中,特別要指出,RISC技術為計算
21、機體系結構帶來了一次重大的變革。簡單的、固定長度的、單周期執(zhí)行指令的RISC計算系統(tǒng),與傳統(tǒng)、復雜、可變長度指令并行執(zhí)行的CISC計算機系統(tǒng)相比較,在一樣的條件下,RISC技術的速度快25倍,具有巨大的性價比優(yōu)勢。RISC技術推動著計算機體系結構從封閉的CISC向開放的結構發(fā)展。因此,世界上各大CPU芯片制造廠商爭相開發(fā)生產(chǎn)RISC芯片,目前的典型結構為ARM系列、MIPS和SH32位字長,最高時鐘速率可達600MHz。多種嵌入式實時操作系統(tǒng)大都支持上述RISC處理器。近幾年嵌入式系統(tǒng)技術發(fā)展有以下幾個顯著的變化:1、新的處理器越來越多。一方面,嵌入式操作系統(tǒng)自身結構的設計更易于移植;另一方面
22、,系統(tǒng)應能使用驅動程序開發(fā)與配置環(huán)境,造就一個新的BSP(板級支持包)和驅動程序結構,以適應微處理器的不斷升級變化。2、開放源碼之風己波與嵌入式操作系統(tǒng)廠家。越來越多的嵌入式操作系統(tǒng)廠家出售產(chǎn)品時,同時附加了源程序代碼并含生產(chǎn)版稅。3、電信設備、控制系統(tǒng)要求的高可靠性,對嵌入式操作系統(tǒng)提出了新的要求。各類通用機上使用的新技術、新觀念正逐步移植到嵌入式系統(tǒng)中,如動態(tài)數(shù)據(jù)庫、移動代理等。4、主要由于人們對自由軟件的渴望與嵌入式系統(tǒng)應用的定制性,要求提供系統(tǒng)源碼層次上的支持,而嵌入式Linux適應了這一需求。它具有開放源代碼,系統(tǒng)核小、效率高、核網(wǎng)絡結構完整等特點,裁減后的系統(tǒng)很適于如信息家電等嵌入
23、式系統(tǒng)的開發(fā)。5、嵌入式系統(tǒng)的多媒體化和網(wǎng)絡化方向趨勢,特別是嵌入式系統(tǒng)技術與Internet、無線網(wǎng)絡等通訊手段的結合。上述變化孕育嵌入式系統(tǒng)即將進入一個高速發(fā)展的新時期。在不久的將來,嵌入式系統(tǒng)應用將越來越多樣化。它不僅僅局限于傳統(tǒng)的控制領域,例如信息家電、工業(yè)、農(nóng)業(yè)、商業(yè)、服務業(yè)等各行各業(yè),而且將滲透到社會和家庭的各個角落。嵌入式系統(tǒng)的未來將更加絢麗繽紛。3.2 嵌入式移植研究現(xiàn)狀目前,對嵌入式Linux系統(tǒng)的開發(fā)正在蓬勃興起,并已形成了很大的市場。除了一些傳統(tǒng)的Linux公司,像RedHat、VA Linux等,正在從事嵌入式Linux的研究之外,一批新公司(如Lineo、TimeSy
24、s等)和一些傳統(tǒng)的大公司(如IBM、SGI、Motorola、Intel等)以與一些開發(fā)專用嵌入式操作系統(tǒng)的公司(如Lynx)也都在進行嵌入式Linux的研究和開發(fā)。一方面因為像數(shù)碼相機、MP3播放機、PDA、游戲機和移動等手持設備以與各種信息家電等有更高性能要求的多媒體和通信設備的推出。在這些應用中,龐大的多媒體數(shù)據(jù)必然需要更大的存儲空間,目前許多32位微控制器都可以使用SDRAM,因此可極降低使用更大容量數(shù)據(jù)存儲器的成本;而8位微控制器一般只能使用成本較高的SRAM作為數(shù)據(jù)在座器。此外除了處理應用控制功能之外,需支持互聯(lián)網(wǎng)接入的應用在MCU運行TCP/IP或其它通信協(xié)議的情況下,要求系統(tǒng)建
25、立在RTOS上就必然成為一種現(xiàn)實需求。另外,有越來越多的像電視機、汽車音響與電子玩具等傳統(tǒng)應用也與時俱進地提出數(shù)字化和硬件軟化的要求,它們對計算性能的要求與存儲器容量的需求都超出絕大多數(shù)8位微控制器能提供的圍。另一方面由于IT技術發(fā)展的推動,32位ARM體系結構已經(jīng)成為一種事實上的標準,隨著高端32位CPU價格的不斷下降和開發(fā)環(huán)境的成熟,促使32位嵌入式處理器日益擠壓原先由8位微控制器主導的應用空間。隨著ARM處理器在全球圍的流行,32位的RISC嵌入式處理器已經(jīng)開始成為高中端嵌入式應用和設計的主流。另外,越來越多的設計師認識到,轉用32位架構不令能提升性能,還能降低一樣成本下的系統(tǒng)功耗和節(jié)約
26、總成本以與縮短產(chǎn)品上市時間。這個轉變?yōu)樵O計師提供了可隨著產(chǎn)品的性能和需求不斷擴展而升級的方案。3.3 畢設系統(tǒng)研究現(xiàn)狀本系統(tǒng)主要利用ARM2410s嵌入式平臺開發(fā)多種播放格式的MPlayer。其中主要在開發(fā)平臺上構建了一個播放器GUI來調用MPlayer播放視頻,并通過對視頻格式的研究,使之能播放多種視頻格式,本課題主要涉與的工作如圖1-4所示: 圖1-4 系統(tǒng)主要涉與工作第二章系統(tǒng)分析1. 系統(tǒng)通用模型MPlayer能使用眾多本地的 Xanim,RealPlayer 和 Win32 DLL 編解碼器,可播放MPEG、VOB、AVI、OGG、VIVO、ASF/WMV、QT/MOV、FLI、RM
27、、NuppelVideo、 yuv4mpeg、FILM、RoQ文件。MPlayer的另一個大的特色是支持廣泛的輸出設備,它可以在X11、Xv、DGA、OpenGL、SVGAlib、fbdev、Aalib、DirectFB下工作,而且你也能使用GGI和SDL(由此使用它們支持的各種驅動模式)和一些低級的硬件相關的驅動模式。這個播放器能很穩(wěn)定地播放被破壞的MPEG文件,并且它能播放 Windows Media Player都打不開的有損壞的AVI文件,甚至,沒有索引部分的AVI文件也可以播放。實現(xiàn)MPlayer的嵌入式移植,主要采用以下的模型,即X86PC機上MPlayer的實現(xiàn)+S3C2410開
28、發(fā)板上的移植。如圖2-1所示:圖2-1 MPlayer的嵌入式移植模型 (1)X86PC機上MPlayer的實現(xiàn)通過編譯MPlayer源文件、解碼庫、GUI文件、字體文件,完成X86PC機上MPlayer的實現(xiàn)。(2)ARM2410s開發(fā)板上的移植QT制作播放器的 GUI,并實現(xiàn)多種視頻文件的播放。最終完成向ARM2410s開發(fā)板的移植工作。2. 系統(tǒng)主要任務和目標S3C2410 屬于精簡指令集 CPU,定點計算,沒有 MMX(Multi Media eXtension,多媒體擴展指令集)指令,不支持硬件浮點計算,對大尺寸多媒體的編解碼能力仍顯不足,因而應用在真正媒體播放場合性能達不到要求。但
29、 S3C2410 與高端處理器相比價格低廉,通過合理的設計系統(tǒng)軟硬件,可以實現(xiàn)低端的視頻應用,用于衡量 MPlayer 移植的可行性。2.1 主要研究容1、針對 MPlayer 開源的特性,充分了解 MPlayer 的運行原理。2、研究各種視頻格式的原理、結構,為 MPlayer 播放這些視頻格式提供支持。3、實現(xiàn) X86PC 機向 ARM2410s 平臺的移植并調試。4、研究 QT 圖形界面設計的詳細過程。2.2 主要目標1、系統(tǒng)操作簡單,易于使用。簡潔明了的圖形化操作界面能夠使操作人員很快地熟悉系統(tǒng)的使用,從而提高用戶體驗。因此在開發(fā)本系統(tǒng)時力求軟件的簡單易用性,只需點擊按鈕即可進行 MP
30、layer 的控制操作。2、可靠性好,系統(tǒng)穩(wěn)定。為加強用戶體驗,在簡化操作的同時,要保證系統(tǒng) CPU 占用率保持在合理的圍,使視頻能正常、流暢地播放。3、可維護性好。各模塊相互獨立,便于修改和更新。4、在實現(xiàn)此系統(tǒng)的過程中盡量遵循開放性標準,提高代碼的重用性。3. 系統(tǒng)結構分析本次畢業(yè)設計基于嵌入式平臺的MPlayer移植是主要圍繞Linux主機和ARM2410s開發(fā)板,按照嵌入式開發(fā)流程進行的設計與開發(fā)。ARM2410s開發(fā)板作為服務器端,作為MPlayer的播放屏幕和控制屏幕。移植成功的MPlayer能夠在開發(fā)板上實現(xiàn)視頻的控制。Linux機作為監(jiān)控主機,進行播放信息的監(jiān)控,CPU占用等一
31、系列參數(shù)的測定。3.1 ARM-Linux 端1、ARM-MPlayer模塊:編譯在ARM2410s開發(fā)板上運行的MPlayer2、ARM-Linux-gcc模塊:實現(xiàn)ARM環(huán)境下編譯環(huán)境的搭建。3、MINICOM模塊:實現(xiàn)X86PC機與ARM端的通信模塊。進行ARM端的連接,掛載,運行等操作。4、核燒錄模塊:重新編譯并燒錄核,消除音頻BUG。3.2 X86PC 端1、X86-MPlayer模塊:采用GCC編譯器,編譯 X86PC端能夠播放的MPlayer版本。2、視頻格式分析模塊:將服務器端播放的視頻狀態(tài)以與CPU占用等一系列參數(shù)直觀地顯示在客戶端主機上。3、GUI模塊:實現(xiàn)在ARM410s
32、開發(fā)板上進行視頻控制。4、Linux-gcc模塊:實現(xiàn)X86PC環(huán)境下編譯器的搭建。4. 系統(tǒng)選用的開發(fā)工具4.1 UP-NETARM2410-S 嵌入式開發(fā)平臺 咱們用的是zlg magicarm2410,和這個博創(chuàng)是2個公司出的,不要混淆了!本系統(tǒng)平臺采用 Samsung 公司的處理器 S3C2410。該處理器部集成了 ARM 公司 ARM920T 處理器核的 32 位微控制器,資源豐富,帶獨立的16KB 的指令 Cache 和 16KB 數(shù)據(jù) Cache、LCD 控制器(最高 4K 色 STN 和256K 彩色 TFT,一個 LCD 專用 DMA)、RAM 控制器、NAND 閃存控制器、
33、3 路 UART、4 路帶外部請求線的 DMA、4 個 PWM 定時器和一個部定時器、看門狗定時器、并行 I/O 口、8 通道 10 位 ADC、觸摸屏接口、一個多主 IIC 總線、一個 IIS 總線控制器、117 個通用 IO、24 個外部中斷、2 個 USB接口控制器、2 路 SPI,主頻最高可達 203MHz、芯片置 PLL。在處理器豐富資源的基礎上,還進行了相關的配置和擴展,平臺配置了 16MB 16 位的 Flash 和 64MB 32 位的 SDRAM。通過以太網(wǎng)控制器芯片 DM9000E 擴展了一個網(wǎng)口,另外引出了一個 HOST USB 接口。16/32 位精簡指令體系結構,使用
34、支持 ARM 調試的體系結構 ARM920TCPU 核的強大指令集,指令緩存(cache)、數(shù)據(jù)緩存、寫緩沖和物理地址TAG RAM,減小了對主存儲器帶寬和性能的影響,ARM 帶 MMU(Multi Media eXtension,多媒體擴展指令集)的先進的體系結構,支持 Wince、Epoc32、Linux。UP-NETARM2410-S 嵌入式開發(fā)平臺如下圖 2-2 所示:圖 2-2 UP-NETARM2410-S 嵌入式開發(fā)平臺4.2 Linux 操作系統(tǒng)嵌入式操作系統(tǒng),通常包括與硬件相關的底層驅動軟作為件、系統(tǒng)核、設備驅動接口、通信協(xié)議、圖形界面、標準化瀏覽器等。嵌入式操作系統(tǒng)具有通用
35、操作系統(tǒng)的基本特點:能夠有效管理越來越復雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數(shù)、驅動程序、工具集以與應用程序。與通用操作系統(tǒng)相比較,嵌入式操作系統(tǒng)在系統(tǒng)實時高效性、硬件的相關依賴性、軟件固態(tài)化以與應用的專用性等方面具有較為突出的特點。幾種代表性嵌入式操作系統(tǒng)比較(如下表 2-1 所列):表 2-1 四款嵌入式系統(tǒng)優(yōu)缺點對比列表VxWorks美國 WindRiver 公司于 1983 年設計開發(fā)的一種嵌入式實時操作系統(tǒng)(RTOS),良好的持續(xù)發(fā)展能力、高性能的核以與友好的用戶開發(fā)環(huán)境,在嵌人式實時操作系統(tǒng)領域逐漸占據(jù)一席之地。具有微核結構
36、可裁剪;任務管理高效;任務間通訊靈活;微秒級的中斷處理;支持 POSIX 1003.1b 實時擴展標準和多種物理介質與標準完整的TCP/IP 網(wǎng)絡協(xié)議等優(yōu)點。然而由于是專用操作系統(tǒng),其價格昂貴,一般不通供源代碼,軟件的開發(fā)和維護成本都非常高,支持的硬件數(shù)量也有限。Windows CE對 Windows系列有較好的兼容性。其中 WinCE3.0 是一種針對小容量、移動式、智能化、32 位、了解設備的模塊化實時嵌人式操作系統(tǒng)。它是從整體上為有限資源的平臺設計的多線程、完整優(yōu)先權、多任務操作系統(tǒng)。它的模塊化設計允許它對從掌上電腦到專用的工業(yè)控制器的用戶電子設備進行定制。但是由于沒有開放源代碼,使應用
37、開發(fā)15 人員很難實現(xiàn)產(chǎn)品定制;在效率、功耗方面表現(xiàn)也并不出色,占用過多的系統(tǒng)存,運用程序龐大;許可費也是廠商不得不考慮的因素。C/OS-C/OS-是著名的源代碼公開的實時核,是專為嵌入式應用設計的,可用于8位、16 位和 32 位單片機或數(shù)字信號處理器(dsp)。主要特點:公開源代碼;便于移植;可固化;可裁剪;占先式;多任務;函數(shù)調用與服務的執(zhí)行時間具有可確定性。由于僅是一個實時核,這就意味著它不能提供給用戶一些API函數(shù)接口,還有很多工作需要用戶自己去完成。嵌入式Linux嵌入式操作系統(tǒng)的研究熱點,最大的特點是:1 源代碼公開,系統(tǒng)遵循世界標準規(guī),特別是遵循開放系統(tǒng)互連國際標準,文檔資料齊
38、全可修改性強。支持多種體系結構,凡遵循國際標準所開發(fā)的硬件和軟件,都能彼此兼容。2 多用戶:系統(tǒng)資源可以被不同用戶各自擁有使用,互不影響。3多任務:Linux 系統(tǒng)調度每一個進程平等地訪問微處理器。4良好的用戶界面:Linux 向用戶提供了兩種界面:命令行界面和圖形用戶界面。5設備獨立性:Linux 核具有高度適應能力,用戶可以修改核源代碼,以便適應新增加的外部設備。6豐富的網(wǎng)絡功能:Linux 為用戶提供了優(yōu)于其他操作系統(tǒng)的完善強大的網(wǎng)絡功能。7可靠的系統(tǒng)安全:Linux 采取了許多安全技術措施,包括對讀、寫進行權限控制、帶保護的子系統(tǒng)、審計跟蹤、核心授權等,這為網(wǎng)絡多用戶環(huán)境中的用戶提供了
39、必要的安全保障。8 良好的可移植性:Linux 是一種可移植的操作系統(tǒng),能夠在從微型計算機到大型計算機的任何環(huán)境中和任何平臺上運行。可移植性為運行Linux的不同計算機平臺與其他任何機器進行準確而有效的通信提供了手段。但是在嵌入式系統(tǒng)上運行 Linux 的一個缺點是Linux 體系提供實時性能需要添加實時軟件模塊,而這些模塊運行的核空間正是操作系統(tǒng)實現(xiàn)調度策略、硬件中斷異常和執(zhí)行程序的部分。一旦出現(xiàn)代碼錯誤就可能會破壞操作系統(tǒng)從而影響整個系統(tǒng)的可靠性。對比了幾款代表性的嵌入式操作系統(tǒng)的優(yōu)缺點,發(fā)現(xiàn)嵌入式 Linux 各方面有點突出,性價比高,比較合適本畢業(yè)設計系統(tǒng)的開發(fā),所以在開發(fā)板端和主機端
40、都選用嵌入式 Linux 作為操作系統(tǒng)。4.3 HEX EDIT十六進制查看器。進行視頻格式的分析,采集,為 MPlayer 播放多種視頻格式提供支持。如圖 2-3 為 HEX EDIT 的用戶界面:HEX EDIT 的用戶界面圖 2-3 HEX EDIT 的用戶界面4.4 GCC 編譯器Linux 系統(tǒng)下的 GCC(GNU C Compiler)是 GNU 推出的功能強大、性能優(yōu)越的多平臺編譯器,是 GNU 的代表作品之一。GCC 是可以在多種硬體平臺上編譯出可執(zhí)行程序的超級編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高 20%30%。GCC 編譯器能將 C、C+語言源程序、匯程式化序和目
41、標程序編譯、連接成可執(zhí)行文件,如果沒有給出可執(zhí)行文件的名字,GCC 將生成一個名為a.out 的文件。在 Linux 系統(tǒng)中,可執(zhí)行文件沒有統(tǒng)一后綴,系統(tǒng)從文件的屬性來區(qū)分可執(zhí)行文件和不可執(zhí)行文件,GCC 則通過后綴來區(qū)別輸入文件的類別。使用 GCC 由 C 語言源文件生成可執(zhí)行文件的過程不僅僅是編譯的過程,而要經(jīng)歷四個相互關聯(lián)的步驟:預處理(也稱預編譯,Preprocessing)、1編譯(Compilation)、匯編(Assembly)和連接(Linking) 。命令 GCC 首先調用cpp 進行預處理,在預處理過程中,對源代碼文件中的文件包含(include)、預編譯語句(如宏定義 d
42、efine 等)進行分析。接著調用 cc1 進行編譯,這個階段根據(jù)輸入文件生成以.o 為后綴的目標文件。匯編過程是針對匯編語言的步驟,調用 as 進行工作,一般來講,.S 為后綴的匯編語言源代碼文件和匯編、.s為后綴的匯編語言文件經(jīng)過預編譯和匯編之后都生成以.o 為后綴的目標文件。當所有的目標文件都生成之后,GCC 就調用 ld 來完成最后的關鍵性工作,這個階段就是連接。在連接階段,所有的目標文件被安排在可執(zhí)行程序中的恰當位置,同時,該程序所調用到的庫函數(shù)也從各自所在的檔案庫中連到合適的地方。以上就是 GCC 的執(zhí)行過程。如圖 2-4 為 GCC 流程結構圖:2-4 GCC 流程結構圖5. 可
43、行性分析本次畢業(yè)設計是要實現(xiàn)多種播放格式的 MPLAYER 嵌入式移植實現(xiàn),其中有兩個最困難的部分:1、由于 MPlayer 和 GCC 編譯器不兼容的問題,需要選擇合適的 MPlayer版本和 GCC 版本。否則出現(xiàn)編譯無法通過的錯誤。2、由于本次畢業(yè)設計系統(tǒng)不是純軟件系統(tǒng),涉與到開發(fā)板硬件的使用和開發(fā)板 Linux 主機間的通信,偶爾出現(xiàn)硬件故障也是不可避免的,所以只能盡量避免硬件故障和與時處理故障。另外,在體系結構的總體把握、設計和嵌入式模塊的整合方面,良好的設計和完整的整合技術也是該課題的難點之一。嵌入式產(chǎn)業(yè)技術日新月異,相關的新技術層出不窮,但其兼容性還有待改善。本課題就是在這種形勢
44、下,采用最前沿的嵌入式移植技術來完成系統(tǒng)模型。雖然系統(tǒng)的實現(xiàn)存在難點而且還有許多問題亟待解決,但是總體分析的結果該系統(tǒng)還是可行的。相信通過努力,能夠完成該課題。第三章系統(tǒng)概要設計1. 總體設計1.1 系統(tǒng)體系結構本系統(tǒng)的體系結構如圖3-1所示:圖 3-1 系統(tǒng)體系結構圖1.2 基本設計概念1、Linux 系統(tǒng)下 MPlayer 結構:完成 Linux 系統(tǒng)下視頻的播放。采用MPlayer-1.0rc2.tar.bz2;all-20071007.tar.tar;windows-all-20071007.zip;Blue-small-1.7.tar.bz2四個包。如圖 3-2 所示,圖 3-3 為
45、實現(xiàn)效果圖:圖 3-2 Linux 系統(tǒng)下 MPlayer 四個包圖 3-3 實現(xiàn)效果圖2、ARM-Linux 系統(tǒng)下 MPlayer 結構:配置 arm-Linux-gcc 編譯環(huán)境。采用 MPlayer-1.0rc2.tar.bz2;ARM-Linux-gcc-2.95.tar.bz2;all-20071007.tar.tar;windows-all-20071007.zip;libmad-0.15.1b.tar.gz;五個包,如圖 3-4 所示,圖 3-5 為開發(fā)系統(tǒng)總體圖。圖 3-4 ARM-Linux 系統(tǒng)下 MPlayer 五個包!jpg開發(fā)系統(tǒng)總體圖3、多種視頻結構解析結構:分析
46、多種視頻格式,特別是 SWF,F(xiàn)LV,AVI,3GP 的文件格式。實現(xiàn)多種視頻格式的播放。4、QT 界面顯示結構:設計 MPlayer 的控制界面,即 GUI 外掛??刂芃Player 的播放,暫停,停止,音量調節(jié)等一系列操作。如圖 3-6 所示圖 3-6 MPlayer 的控制界面 上面這個圖想辦法弄清楚,否則打印出來不清楚的2. 模塊設計2.1 功能-模塊對照表如表 3-1 所示,此課題分為以下八大模塊。各個模塊之間有機組合,形成本課題最終成果。表 3-1 模塊功能規(guī)劃表 用word表格重做,否則一看就是拷貝其他地方的2.2 各功能模塊邏輯關系如圖 3-7 所示,此課題分成 X86PC 端
47、運行 MPlayer 與 ARM2410s 端運行 MPlayer 兩大部分組成。其中 X86PC 端運行 MPlayer 是由 X86-MPlayer模塊與解碼模塊通過 Linux-gcc 模塊編譯完成。ARM2410s 端運行 MPlaye則是由 ARM-MPlayer 模塊通過 MINICOM 模塊進行通信,解碼與 GUI 模塊共同編譯完成圖 3-7 模塊邏輯關系圖 圖也是,能重畫,重畫一下,今年特別抓這種從其他地方copy的,你需要預防第四章系統(tǒng)詳細設計1. 嵌入式開發(fā)環(huán)境的搭建嵌入式系統(tǒng)開發(fā)環(huán)境的建立是開發(fā)流程中至關重要的一步,環(huán)境搭建不成功后續(xù)開發(fā)就無從談起。搭建嵌入式開發(fā)環(huán)境的主要過程共包括安裝Linux 系統(tǒng),安裝嵌入式工具鏈,配置宿主機相關信息以與和開發(fā)板之間進行連接等四個關鍵步驟。除此之外,還可以結合實際需求裁剪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年學生課外教育服務項目合作計劃書
- 學生校服企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略研究報告
- 婦幼醫(yī)院機器人行業(yè)跨境出海戰(zhàn)略研究報告
- 醫(yī)學去黑頭解決方案行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 電影中的商業(yè)元素與市場策略
- 2025福建省建筑安全員B證(項目經(jīng)理)考試題庫
- 2025湖南省安全員C證(專職安全員)考試題庫
- 石油天然氣勘探開采服務合同
- 2025四川省建筑安全員《B證》考試題庫
- 云服務運營支持服務協(xié)議
- 《電子商務法律法規(guī)》電子商務專業(yè)全套教學課件
- 《產(chǎn)后出血預防與處理指南(2023)》解讀課件
- 全套教學課件《工程倫理學》
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- 清華大學考生自述
- 小學二年級體育課《團身滾動》教案
- 級本科診斷學緒論+問診課件
- 熱導檢測器(TCD)原理與操作注意事項
- 初中足球選拔測試標準
- 法社會學(上課)
- 沉積學與古地理
評論
0/150
提交評論