
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于數字電視系統的嵌入式linux操作系統實現 是在電視信號產生后的處理、傳送、接收、記錄等過程都采納數字技術的電視。在設計數字電視系統時,應用于傳統模擬電視系統中的硬件,不能滿足音頻、視頻和數據處理等功能的需要,因此,數字電視系統需要更高性能的處理器和大規模的存儲器。操作系統可以有效的管理這些硬件資源。 本文將嵌入式linux操作系統移植到一個數字電視上,使其能夠接收數字廣播節目。為了將操作系統移植到數字電視系統上,需要修改內核和交錯開發環境,重新設計基本的設備驅動,配置系統的存儲器映像以便加載內核到主存儲器中,并且設計一個接口設備的驅動程序來控制囫圇系統。2.數字電視操作系統數字電視比模擬
2、電視能夠提供更優質的電視圖像和更多的視頻服務。它采納改進的掃描線和水平清楚度獲得高質量的視頻效果,同時采納ac3或mpeg2壓縮技術來獲得高質量的音頻效果。數字電視的節目不但便于存儲,而且還可以通過眾多的媒介舉行傳揚。因此,數字電視系統需要處理大量的數據。如在epg(節目指南)服務中,被提取出來的數據被修改并存儲后作為一個畫面打印至osd(屏幕菜單式調整)界面,在這個過程中需要靠操作系統來不斷地接收到被篩選、存儲后的信號,同時產生屏幕畫面。市場上的數字電視系統包括如psostm (windriver inc.)等的商業操作系統,這些系統具有高牢靠性和最優化的特點,但要支付昂貴的版稅。假如在數字
3、電視系統中用法嵌入式linux操作系統,則不用支付版稅費用。嵌入式linux操作系統還有其他一些優點,如有開放源代碼的設備驅動程序及應用程序的存在,大大縮短了開發時光;利用shell、文件系統及模塊功能便利了開發環境的配置;許多問題可以在開源社區得到迅速解決等。3.商業數字電視系統數字電視的結構數字電視系統包括數字處理模塊、視頻處理模塊、模塊、驅動模塊和模擬輸出模塊,其結構1所示。數字處理模塊負責控制其它模塊和執行程序。它由、sdram、flash存儲器、uart、i2c總線接口構成。視頻處理模塊把從射頻模塊捕捉的數據解碼生成視頻、音頻和文本消息。它由一個信號處理單元(spu)和一個sdram
4、構成,sdram中包含被顯示的數據幀。射頻模塊接收數字廣播信號,并且將該信號解調成數據流。lcd驅動模塊控制lcd面板。模擬輸出模塊控制視頻-音頻信號輸出和輸出信號。數字處理模塊通過i2c總線,控制射頻模塊、lcd模塊和模擬輸出模塊,同時通過dma控制視頻處理模塊。硬件構成在數字電視系統中,數字處理模塊的核心是7tdmitm,它不包括mmu(存儲器管理單元)。在數字電視系統中mcu只支持大端格式5,存儲器映射由mcu內的系統管理寄存器來配置,在系統運行之前,嵌入式linux內核運行在flashrom中,當系統運行時,內核被拷入ram中。除了rom和ram外,外設也常常被用法。這些設備被映射到一
5、個線性存儲器映射單元,且可以按同樣的方式尋址。mcu的中斷控制器包括21個中斷資源(其中17個來自內部設備,4個來自外部設備)。數字處理模塊中的定時器是一個32位的間隔模式定時器。在系統中用串口設備如uart(通用異步)來打印啟動過程中的消息和程序出錯信息,因為射頻模塊、lcd驅動模塊、模擬輸出模塊都是由mcu通過i2c總線控制,因此,在mcu和i2c串行總線之間需要一個接口。在這里用法pcf8584 (philips inc.)。圖2描述了mcu和i2c總線之間的銜接。圖2 mcu和i2c總線之間的銜接4.linux系統移植在這一部分中,我們將說明linux操作系統的移植挨次。包括修改內核初
6、始化代碼和編寫設備驅動程序。4.1重建內核初始化代碼為了將linux內核加載到嵌入式系統中,有須要修改與硬件相關的內核初始化代碼。這個過程包括設置存儲器映射以便加載內核映像,以及為支持內核的運行而修改設備驅動程序。4.1.1設置存儲器映射內核映像是一種壓縮文件,存放在flash存儲器中,執行時被拷貝到sdram中并解壓。圖3描述了內存映像的加載挨次。系統復位時,cpu只能接受flash rom空間的代碼,同時執行位于flash rom底層的bootloader,它負責從主機端下載代碼并且將代碼存儲到flashrom中。1)bootloader將主機的linux內核拷貝到數字處理模塊上的sdra
7、m中。2)sdram中被下載的linux內核映像被存儲在flash rom中位于bootloader頂層的空間中。3)系統初始化,同時,bootloader調用linux映像內的一段執行代碼(head.o),將所有flash rom空間中的內容拷貝到sdram中。4)cpu利用系統管理寄存器,將flash rom中的初始地址空間與sdram的初始地址空間相交換。當flash rom中的映像被加載到sdram之后,無需轉變程序計數器就可以執行代碼(head.o)。圖4中顯示了終于的存儲器映射。拷貝到sdram中的linux映像可解壓執行,為了完成釋放功能,需要一些存儲器空間,例如符號開頭段、用戶
8、堆棧、分配的內存等。在這些空間中,一個壓縮的linux內核映像被解壓工具釋放出來,被釋放的代碼位于被分配的內存空間的下一地址。4.1.2 內核需要的設備內核需要的基本設備包括中斷控制器、定時器和控制臺設備。這些設備被映像到mcu的內部寄存器中,通過修改內部寄存器而提供須要的功能。4.2設備驅動的設計數字電視系統包括視頻處理設備和模擬輸出設備以及內核所必需的設備,本文為i2c總線接口(pcf8584)設計一個設備驅動。pcf8584設備驅動包括接口模塊、內核模塊、算法模塊、適配器模塊,5所示。接口模塊提供設備驅動程序與應用程序之間的接口,定義設備文件操作(open, read, write, i
9、octl,release)以及初始化設備文件(/dev/i2c0);內核模塊用來增強或移除適配器、定義i2c總線的功能以及初始化包含系統信息的文件系統(/proc);算法模塊用來初始化pcf8584設備以及定義pcf8584的函數(i2c_start,i2c_stop(), wait_for_pin());適配器模塊通過被映射到mcu的存儲器地址將數據傳送到mcu。為了驅動pcf8584接口設備,需要對模塊舉行初始化。在通常的linux系統中,設備驅動在運行時載入和初始化,而在嵌入式linux系統中,設備驅動將在啟動階段被加載和初始化。4個模塊的初始化程序被存儲在“.init”段的“_init
10、”處,由“do_initcalls()”函數在啟動時調用執行。控制數據從接口模塊開頭,依次經內核模塊、算法模塊、適配器模塊傳送。接口模塊接收應用程序的哀求(open, write, read, ioctl),調用內核模塊的接口程序(master_send(), master_receive(),transfer(),同時傳遞參數。內核模塊將從地址、標志位、信息長度等數據傳送到算法模塊。算法模塊檢查i2c總線的狀態和從地址,設置pcf8584的控制寄存器。最后,適配器模塊從被映射到外部總線的地址空間中讀寫數據。5.系統構建為了移植linux操作系統,我們首先在主機端安裝一個交錯開發環境,然后在供
11、測試的目標板上安裝一個測試環境,測試好后,再移植到數字電視系統上。5.1安裝交錯開發環境在裁減和定制linux,運用于你的嵌入式系統之前,因為普通嵌入式開發系統存儲大小有限,通常需要在強大的pc機上建立一個用于目標機的交錯編譯環境。這是一套編譯器、和libc庫等組成的開發環境。圖6描述了交錯開發環境的安裝過程。要制作二進制linux映像文件,首先應制作二進制銜接器、匯編器和其它目標工具。然后,用 make menuconfig配置內核,此時在內核名目中將生成include/linux/version.h 和 include/linux/autoconf.h 文件。注重,因為數字電視系統的mcu
12、只支持大端存儲器格式,所以,應在內核庫中做相應修改。第三步是制作交錯編譯器(gcc)和c庫(glibc)。因為兩者是互相依靠的關系,可以先制作一個不帶glibc的gcc,然后用交錯編譯器創建一個glibc,再重新編譯這個帶glibc的gcc。第四步,因為移植好的linux運行在只讀存儲器中,所以需要安裝用于制作二進制文件系統映像的工具(genromfs),和一個用于將elf格式(通用文件格式)轉換為flt格式(扁平格式)的工具。5.2開發環境系統開發環境包括測試板的snds100tm(samsung)、用于遠程調試的jeenitm (jtag embeddedice ethernet inte
13、rface)、數字電視機主板等。表1列出了開發環境的各個部分。表1 開發環境組成部分功能測試板三星 s3c4510b (arm 7tdmi),16m字節的sdram, 1m字節的flashrom, , rj45銜接器.網絡應用開發板數字電視主板三星s3c4500(arm 7tdmi),16m字節的sdram, 8m字節的flashrom, pcf8584, spu (lg electronics),32m字節sdram.數字處理模塊jeenitmepi, 兩個硬件斷點,以太網主機接口,內部的arm 710a高速緩沖存儲器遠端調試環境軟件gcc-2.95.3, glibc-2.1.3, binutils-2.12, genromfs-0.5.1, elf2flt, gdb-5.0, ads(armtm developer suite),evaluation ver. 1.1交錯開發和調試的工具在主機中制作一個二進制的linux內
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何制作一個高質量的在線教學視頻
- 學校周邊環境治理與安全保障措施
- 學校社團工作計劃加強學生職業技能培養
- 機械制造行業新年個人工作計劃
- 探索市場變革趨勢計劃
- 市場拓展策略的年度實施計劃
- 完善健全的內部審計機制計劃
- 職業生涯規劃的個性化設計計劃
- 學校生物課程安排計劃
- 2025辦公設備的購銷合同范文
- 如何做好護理實習生的帶教
- 中藥荊芥課件
- 2020年國際命名化妝品原料INCI英漢對照名稱
- 2025二手房買賣合同正式版
- 四川省自貢市2024-2025學年八年級上學期期末考試道德與法治試題(含答案)
- 2025年人物精神創作指南:展現獨特個性和價值觀
- 《1844年經濟學哲學手稿》原文
- 醫藥行業扭虧專項措施方案
- 2025年重慶市安全員《B證》考試題庫及答案
- 真需求-打開商業世界的萬能鑰匙
- 2025中國鐵塔集團河北分公司招聘9人高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論