《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM9內核和嵌入式Linux的網絡投影機系統設計
基于ARM9內核和嵌入式Linux的網絡投影機系統設計
來源:微型機與應用2011年第10期
章 勇, 呂俊白
(國立華僑大學 計算機學院, 福建 泉州362021)
摘要: 對嵌入式系統的基本概念、原理和基于ARM的嵌入式Linux應用系統的設計與開發作了介紹;設計開發了一套用于投影機的嵌入式遠程監控系統,利用Internet,通過對底層設備驅動編程和上層軟件系統的設計開發,客戶端可通過瀏覽器訪問嵌入式系統內置的http服務器,將投影機的相關參數直觀實時地在Web頁面上顯示出來,并且可以實現對于投影機現場相關顯示參數的設置。
關鍵詞: ARM 投影機 Linux CGI S3C2410
Abstract:
Key words :

摘  要: 對嵌入式系統的基本概念、原理和基于ARM的嵌入式Linux應用系統的設計與開發作了介紹;設計開發了一套用于投影機的嵌入式遠程監控系統,利用Internet,通過對底層設備驅動編程和上層軟件系統的設計開發,客戶端可通過瀏覽器訪問嵌入式系統內置的http服務器,將投影機的相關參數直觀實時地在Web頁面上顯示出來,并且可以實現對于投影機現場相關顯示參數的設置。
關鍵詞: 投影機; Linux; ARM;CGI

    投影機網絡化正成為投影機發展過程中的一個重要趨勢,通過標配的有線及無線網絡接口或選配的網絡適配器,用戶可以通過計算機更方便地向投影機傳送顯示控制信號,在投影機上顯示輸出內容,可通過計算機來監控管理投影機。
1 嵌入式計算機系統的特點
    嵌入式計算機系統[1]同通用型計算機系統相比具有以下特點:
    (1)嵌入式系統通常面向特定應用。與通用型系統的最大不同是嵌入式CPU大多工作在為特定用戶群設計的系統中,它通常具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的功能集成在芯片內部,從而有利于嵌入式系統設計趨于小型化,移動能力大大增強,與網絡的耦合也越來越緊密。
    (2)嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合后的產物。這一點決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
    (3)嵌入式系統的硬件和軟件都必須高效率地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力。
    (4)嵌入式系統與具體應用有機結合,它的升級換代也是與具體產品同步進行的,因此嵌入式系統產品一旦進入市場,一般具有較長的生命周期。
    (5)為了提高執行速度和系統可靠性,嵌入式系統中的軟件一般都固化在存儲器芯片或單片機中,而不是存儲于磁盤等載體中。
    (6)嵌入式系統本身不具備自舉開發能力,設計完成以后用戶通常不能對其中的程序功能進行修改,必須有一套開發工具和環境才能進行開發[2]。
2 嵌入式投影機系統的組成
    本系統采用目前比較流行的ARM處理器和嵌入式Linux操作系統平臺,對投影機進行信息采集,并向局域網中的投影機發出控制命令。在ARM處理器的NAND Flash中,固化了嵌入式Linux操作系統和http服務器,可以將投影機的投影信息及時地傳輸給用戶,同時用戶可以方便地通過瀏覽器修改投影機的投影參數。
    首先,用戶在瀏覽器中輸入已經聯入局域網的投影機嵌入式模塊的IP地址,向嵌入式模塊的http服務器提出連接請求,輸入正確的用戶名和密碼之后,用戶就可以登錄系統進行控制。當用戶登錄系統之后,嵌入式模塊首先會通過IPC(進程間通信)的方式和投影機的核心模塊通信,投影機設備將當前投影參數讀取出來,然后將參數通過IPC(進程間通信)發送給嵌入式模塊,嵌入式模塊通過TCP/IP協議棧將參數返回給瀏覽器,用戶則通過Web頁面直觀實時地查看投影機當前的投影信息。用戶也可以選擇對投影機的投影信息進行修改,如增加投影機投影亮度、對比度、選擇Auto Keystone方式等。
    系統的整體框架如圖1所示。


3 嵌入式投影機應用系統架構詳細設計
3.1 硬件平臺的選擇

    基于嵌入式微處理器在嵌入式系統中的核心地位,選擇一款恰當的處理器非常重要。目前市場主流的32位微處理器主要有Power PC、68K、MIPS和ARM等。通常在選擇微處理器時,需要考慮很多因素,如性能、功耗、價格、配套的開發工具以及市場的供貨情況,而ARM在這些方面都具有優勢。同時ARM還具有業界領先的RISC體系架構,所以,選擇基于ARM核的處理器是最理想的。
    本設計采用S3C2410開發板為硬件平臺。該平臺在盡可能小的電路板面積上集成了64 M SDRAM、64 M Nand Flash、1 M Nor Flash、RJ-45網卡、音頻輸入與輸出、USB Host、USB Slave、標準串口、SD卡插座、,用戶按鍵和一些用戶燈等設備接口,并且引出CPU的大部分信號引腳。通過這個平臺可以針對S3C2410進行系統級的硬件和軟件設計,并且能夠很方便地在該平臺上進行相關的功能擴展,并進行所需的產品設計。

 


3.2 系統的軟件實現
3.2.1開發平臺宿主機的配置

    本系統的開發平臺選擇ubuntu 8.04 LTS。首先從網絡上下載vmware workstation的體驗版,在Windows XP環境下安裝配置好。從網絡下載ubuntu 8.04 LTS版本的ISO鏡像文件,在vmware workstation虛擬機環境下安裝配置好ubuntu 8.04 LTS系統,設置虛擬機中ubuntu系統的網絡連接方式為Bridged,通過apt軟件包管理程序可以方便地安裝配置虛擬機中的ubuntu開發環境,安裝系統開發所必須的程序庫,如build-essential,samba以及openssh-server等。
3.2.2 開發過程
    (1)搭建交叉編譯環境
    當開發嵌入式Linux軟件時,一般都要經過交叉編譯。如果是開發PC機上的軟件,只要用Linux本身提供的強大的編譯器(如GCC)直接編譯即可。而一般的嵌入式設備所用的CPU和PC機上的CPU有著不同的架構,這樣就要求在PC機上編譯出適用于嵌入式設備CPU架構的軟件,這就是交叉編譯的概念。圖2是交叉編譯環境圖示。

    (2)U-boot的移植
    嵌入式的軟件系統主要由Bootloader、Kernel、嵌入式文件系統以及應用程序等組成。其中,Bootloader是介于硬件和操作系統之間的一層,其作用就好像PC機中的BIOS。系統加電運行后,由系統自動加載,通過這段程序,可以初始化硬件設備,建立內存空間的映射圖,從而將系統的硬件環境引導到一個合適的狀態,以便為最終調用操作系統內核準備好環境。本系統對于bootloader的選擇采用Das U-boot,由于U-boot的使用范圍相當廣,因此很容易找到關于U-boot移植的相關資料。U-boot引導程序分為stage1和stage 2兩大部分,stage1中主要包括設備初始化、中斷設置、時鐘的設置以及存儲器初始化等工作,并且采用匯編語言實現,而一些通用功能大多采用C語言實現,放在stage 2階段執行。
    修改cpu/arm920t/start.s文件,start.s文件是采用匯編語言編寫的U-boot程序入口代碼,完成對底層硬件的初始化。
    修改board/smdk2410/nand_read.c中的nand_read_11函數將stage 2階段的代碼復制到ram中。
    修改U-boot根目錄下的makefile文件完成以后,依次在終端中執行:
    Make distclean //清除生成的鏈接
    Make smdk2410_config
    Make CROSS-COMPILE=arm-linux-編譯成功后,將生成三個文件,其中需要燒到開發板中的文件是二進制的u-boot.bin文件。
    (3)裁剪Linux內核
    修改根目錄下的makefile文件,指定目標平臺為ARM,ARCH:=arm,指定交叉編譯器,CROSS_COMPILE=/usr/local/3.3.2/bin/arm-linux-gcc內核移植完成后,可以對內核進行配置,一般用“make menuconfig”命令即可,具體的配置要根據自己的軟件平臺以及應用程序的使用情況來確定,內核要盡可能小,以滿足嵌入式系統資源少的特點。
    (4)文件系統的選擇
    cramfs文件系統是專門針對閃存設計的只讀壓縮文件系統,其容量上限為256 MB,采用zlib壓縮,文件系統類型可以是EXT2或EXT3。本系統選擇的文件系統正是cramfs文件系統。可通過busybox工具集來制作根文件系統。
    (5)CGI部分的設計
    要實現網頁的交互性和實時更新,就要用到CGI技術。公共網關接口CGI(common gateway interface)是一種服務器與瀏覽器信息交換的標準接口。從物理上看,CGI程序屬于一個外部程序,需要編譯成可執行文件,以便能夠在服務器端執行,它提供客戶端頁面HTML代碼的接口,完成無法做到的交互功能。CGI建立在C/S機制上,為外部擴展應用程序與Web服務器交互提供了一個標準接口。按照CGI標準編寫的外部擴展應用程序可以處理客戶端輸入的工作數據,完成客戶端與服務器的交互操作。因此,如果說CGI是Web能夠發展如此迅猛的最大原因也不為過。本系統的CGI部分的主函數(main)中代碼截取如圖3所示。

    (6) 鏡像的燒入
    通過網絡燒入代碼可以利用tfttp協議,在主機中開啟tftp服務,同時指定鏡像文件所在的目錄,然后利用超級終端來控制代碼的燒入,打印信息。首先需要在超級終端中設置目標板的環境,包括MAC地址、目標板的IP地址、tftp服務器的IP地址,這里需要將目標板和開發主機的IP地址設置在同一個網段,設置完成以后重啟目標系統,進入待燒入模式,通過tftpboot、erase、cp.b等命令拷貝鏡像文件到嵌入式設備存儲設備中的指定地址段。
    完全燒入完成后重啟目標板上的Linux系統即可。待燒入鏡像在nand flash中存放的地址空間如表1所示。

    本文主要討論了應用于投影機設備的嵌入式模塊的設計與開發。包括開發平臺的選擇,配置嵌入式開發的環境,對于Kernel和文件系統的裁剪。最后通過tftp程序將編譯生成的鏡像文件燒寫到嵌入式模塊的存儲設備中。
參考文獻
[1] 孫瓊.嵌入式Linux應用程序開發詳解[M].北京:人民郵電出版社, 2006.
[2] YAGHMOUR K. Building embedded linux systems[M]. O′Reilly, 2008.
[3] 葉欣.嵌入式Linux環境下Web頁面技術的實現[J].現代商貿工業,2009(1):356-357.
[4] HENKEL J. Software development in embedded linux[M]. Wirtschaftinformatik proceedings, 2003.
[5] 汪小燕,連曉平,董燕,等. 基于TFTP協議的嵌入式系 統開發方法設計與實現[J].武漢:華中科技大學學報
(自然科學版),2006,34(12):56-58.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区日韩| 亚洲一区欧美激情| 一区二区免费在线播放| 亚洲国产va精品久久久不卡综合| 国产婷婷97碰碰久久人人蜜臀| 欧美日韩国产精品自在自线| 欧美激情按摩| 欧美福利视频在线观看| 免费在线观看成人av| 老司机精品福利视频| 久久久999| 久久久久久久久综合| 久久九九国产| 老司机午夜精品视频| 久久综合久久久| 免费欧美电影| 欧美激情一区二区三区全黄| 欧美另类专区| 欧美日韩不卡合集视频| 欧美日韩国产成人在线| 欧美日韩精品免费观看| 欧美精品在线观看播放| 欧美精品一区在线| 欧美日韩亚洲一区三区| 欧美三级日本三级少妇99| 欧美日韩中文字幕在线视频| 国产精品magnet| 国产精品专区h在线观看| 国产亚洲精品久久久久动| 好看的av在线不卡观看| 一区在线免费| 亚洲国内欧美| 一区二区三区欧美激情| 亚洲欧美日韩精品久久久| 久久福利精品| 久久国产精品免费一区| 久久免费少妇高潮久久精品99| 久久综合福利| 欧美激情一区二区三区蜜桃视频| 欧美日韩一区二区欧美激情| 国产精品捆绑调教| 国产专区综合网| 亚洲国产精品久久精品怡红院 | 国产精品综合不卡av| 国产一区二区看久久| 亚洲高清色综合| 一二三区精品| 欧美在线免费视屏| 99精品视频免费在线观看| 亚洲欧美日韩另类精品一区二区三区| 久久精品99| 欧美精品久久久久a| 国产精品有限公司| 亚洲激情视频| 午夜国产精品影院在线观看| 亚洲欧洲久久| 校园春色综合网| 蜜桃av一区二区三区| 久久九九全国免费精品观看| 亚洲国产日韩在线一区模特| 这里是久久伊人| 久久精品亚洲乱码伦伦中文| 欧美国产欧美亚洲国产日韩mv天天看完整 | 99视频精品免费观看| 性色av香蕉一区二区| 免费视频最近日韩| 国产精品va| 亚洲福利视频在线| 亚洲嫩草精品久久| 日韩一级黄色大片| 久久精选视频| 国产精品爱啪在线线免费观看 | 欧美专区在线播放| 亚洲一区二区在线播放| 久久亚洲国产精品日日av夜夜| 欧美三级中文字幕在线观看| 激情久久影院| 亚洲婷婷在线| 99国产精品自拍| 久久精品亚洲一区| 国产精品高潮呻吟久久av无限| 影视先锋久久| 亚洲欧美韩国| 中国女人久久久| 欧美成人高清视频| 国内精品久久久久久久影视麻豆 | 亚洲一区二区在线播放| 99re66热这里只有精品4| 久久久久久久一区二区| 国产精品久久久| 亚洲免费电影在线| 亚洲国产一区二区三区高清| 久久精品夜色噜噜亚洲aⅴ| 国产精品高潮呻吟久久av无限| 亚洲国产精品一区二区www在线| 欧美一区二区在线看| 亚洲欧美在线免费观看| 欧美欧美天天天天操| 激情久久一区| 欧美在线视频导航| 欧美一级午夜免费电影| 欧美性久久久| 亚洲免费观看高清完整版在线观看熊 | 玖玖玖免费嫩草在线影院一区| 国产九九精品| 亚洲视频一二三| 一区二区三区四区五区视频| 欧美国产一区在线| 亚洲国产精品综合| 亚洲国产精品999| 久久影院午夜片一区| 国产日韩欧美一区在线 | 亚洲色图制服丝袜| 欧美日韩亚洲精品内裤| 亚洲区在线播放| 亚洲精品欧美极品| 先锋影音国产一区| 亚洲自拍偷拍色片视频| 欧美性猛交xxxx乱大交退制版 | 麻豆精品传媒视频| 在线免费一区三区| 亚洲人www| 欧美二区视频| 亚洲精品1区2区| 一区二区三区免费看| 欧美无乱码久久久免费午夜一区 | 亚洲欧美激情在线视频| 欧美在线在线| 国产专区欧美精品| 亚洲福利小视频| 欧美ed2k| 亚洲麻豆av| 亚洲欧美www| 国产精品一区在线播放| 欧美一区二区黄| 久久亚洲综合色一区二区三区| 尤物在线观看一区| 亚洲理论在线| 欧美三级黄美女| 亚洲免费在线电影| 久久精品亚洲国产奇米99| 伊人色综合久久天天| 亚洲精品乱码| 欧美日韩国产综合网| 99精品黄色片免费大全| 欧美亚洲在线| 狠狠色丁香久久婷婷综合_中| 亚洲国产精品电影| 欧美二区在线看| 一区二区三区国产精华| 久久成人免费日本黄色| 激情六月综合| 宅男精品视频| 国产亚洲精品aa| 亚洲美女av电影| 国产精品国产三级国产aⅴ浪潮| 午夜久久美女| 欧美成人免费网站| 亚洲视频综合在线| 鲁大师成人一区二区三区| 99国产精品国产精品毛片| 欧美一区亚洲二区| 亚洲黄色在线观看| 欧美亚洲免费电影| 亚洲国产精品精华液网站| 亚洲摸下面视频| 在线播放视频一区| 亚洲一区二区三区视频播放| 国产综合精品| 国产精品99久久久久久白浆小说| 国产视频久久网| 99视频精品免费观看| 国产一区二区看久久| 一区二区三区视频在线看 | 影音先锋日韩有码| 午夜精品999| 亚洲国产人成综合网站| 欧美一区二区三区四区视频| 亚洲激情av在线| 欧美在线一二三四区| 亚洲欧洲精品一区二区三区波多野1战4| 午夜精品美女久久久久av福利| 在线日韩电影| 久久国产精品第一页| 999在线观看精品免费不卡网站| 久久久国际精品| 中文在线不卡视频| 欧美高清成人| 欧美亚洲自偷自偷| 欧美性视频网站| 91久久在线| 国产欧美不卡| 亚洲午夜免费福利视频| 在线日韩日本国产亚洲| 欧美在线亚洲综合一区| 一本色道久久99精品综合| 蜜臀av一级做a爰片久久| 亚洲影院一区| 欧美日韩一区视频| 亚洲欧洲精品一区二区三区波多野1战4 |