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