基于ARM9內(nèi)核和嵌入式Linux的網(wǎng)絡(luò)投影機(jī)系統(tǒng)設(shè)計(jì)
(4) 文件系統(tǒng)的選擇
cramfs 文件系統(tǒng)是專門針對閃存設(shè)計(jì)的只讀壓縮文件系統(tǒng),其容量上限為256 MB,采用zlib 壓縮,文件系統(tǒng)類型可以是EXT2 或EXT3。本系統(tǒng)選擇的文件系統(tǒng)正是cramfs文件系統(tǒng)??赏ㄟ^busybox 工具集來制作根文件系統(tǒng)。
(5)CGI 部分的設(shè)計(jì)
要實(shí)現(xiàn)網(wǎng)頁的交互性和實(shí)時更新, 就要用到CGI 技術(shù)。公共網(wǎng)關(guān)接口CGI (common gateway interface ) 是一種服務(wù)器與瀏覽器信息交換的標(biāo)準(zhǔn)接口。從物理上看,CGI程序?qū)儆谝粋€外部程序, 需要編譯成可執(zhí)行文件, 以便能夠在服務(wù)器端執(zhí)行, 它提供客戶端頁面HTML 代碼的接口, 完成無法做到的交互功能。CGI 建立在C/S 機(jī)制上, 為外部擴(kuò)展應(yīng)用程序與Web 服務(wù)器交互提供了一個標(biāo)準(zhǔn)接口。按照CGI 標(biāo)準(zhǔn)編寫的外部擴(kuò)展應(yīng)用程序可以處理客戶端輸入的工作數(shù)據(jù), 完成客戶端與服務(wù)器的交互操作。因此, 如果說CGI 是Web 能夠發(fā)展如此迅猛的最大原因也不為過。本系統(tǒng)的CGI 部分的主函數(shù)(main) 中代碼截取如圖3 所示。
(6) 鏡像的燒入
通過網(wǎng)絡(luò)燒入代碼可以利用tfttp 協(xié)議,在主機(jī)中開啟tftp 服務(wù), 同時指定鏡像文件所在的目錄, 然后利用超級終端來控制代碼的燒入,打印信息。首先需要在超級終端中設(shè)置目標(biāo)板的環(huán)境,包括MAC 地址、目標(biāo)板的IP 地址、tftp 服務(wù)器的IP 地址,這里需要將目標(biāo)板和開發(fā)主機(jī)的IP地址設(shè)置在同一個網(wǎng)段, 設(shè)置完成以后重啟目標(biāo)系統(tǒng),進(jìn)入待燒入模式, 通過tftpboot、erase、cp.b 等命令拷貝鏡像文件到嵌入式設(shè)備存儲設(shè)備中的指定地址段。
完全燒入完成后重啟目標(biāo)板上的Linux 系統(tǒng)即可。待燒入鏡像在nand flash 中存放的地址空間如表1 所示。
表1 鏡像文件在Nand Flash 中對應(yīng)的存儲位置
本文主要討論了應(yīng)用于投影機(jī)設(shè)備的嵌入式模塊的設(shè)計(jì)與開發(fā)。包括開發(fā)平臺的選擇,配置嵌入式開發(fā)的環(huán)境,對于Kernel 和文件系統(tǒng)的裁剪。最后通過tftp 程序?qū)⒕幾g生成的鏡像文件燒寫到嵌入式模塊的存儲設(shè)備中。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux相關(guān)文章:linux教程
評論