基于數字電視系統的嵌入式linux操作系統實現
5.系統構建
為了移植linux操作系統,我們首先在主機端安裝一個交叉開發環境,然后在供測試的目標板上安裝一個測試環境,測試好后,再移植到數字電視系統上。
5.1安裝交叉開發環境
在裁減和定制Linux,運用于你的嵌入式系統之前,由于一般嵌入式開發系統存儲大小有限,通常需要在強大的pc機上建立一個用于目標機的交叉編譯環境。這是一套編譯器、連接器和libc庫等組成的開發環境。圖6描述了交叉開發環境的安裝過程。
要制作二進制linux映像文件,首先應制作二進制連接器、匯編器和其它目標工具。然后,用 make menuconfig配置內核,此時在內核目錄中將生成include/linux/version.h 和 include/linux/autoconf.h 文件。注意,由于數字電視系統的MCU只支持大端存儲器格式,所以,應在內核庫中做相應修改。第三步是制作交叉編譯器(gcc)和c庫(glibc)。由于兩者是相互依賴的關系,可以先制作一個不帶glibc的gcc,然后用交叉編譯器創建一個glibc,再重新編譯這個帶glibc的gcc。第四步,由于移植好的linux運行在只讀存儲器中,所以需要安裝用于制作二進制文件系統映像的工具(genromfs),和一個用于將elf格式(通用文件格式)轉換為flt格式(扁平格式)的工具。
5.2開發環境
系統開發環境包括測試板的SNDS100TM(Samsung)、用于遠程調試的JEENITM (Jtag EmbeddedICE Ethernet Interface)、數字電視機主板等。表1列出了開發環境的各個部分。
表1 開發環境
組成部分功能
測試板
三星 s3c4510B (ARM 7TDMI),16M字節的SDRAM, 1M字節的flashROM, LED, 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內核映像,將其通過串口線傳送到開發板上。利用JEENI來安裝遠端調試環境。由于flash ROM中的boot塊被保護,不能修改,因此我們需要將它與數字電視主板分開,在flash ROM中燒入一個bootloader后再安裝到主板上。
通過這一實驗,可以通過PCF8584控制音頻輸出。也就是說,I2C總線的從設備將數字信號轉換為音頻輸出信號。最終,我們可以聽到蜂鳴聲,也可以通過數字示波器來檢測I2C總線信號。
參考文獻:
[1].PCF8584datasheethttp://www.dzsc.com/datasheet/PCF8584_318668.html.
[2].fltdatasheethttp://www.dzsc.com/datasheet/flt_329018.html.
評論