基于ARM和uClinux的家庭網關系統(tǒng)
系統(tǒng)的軟件平臺
建立Clinux開發(fā)環(huán)境基于Clinux操作系統(tǒng)的應用開發(fā)環(huán)境一般是由目標系統(tǒng)硬件開發(fā)板(S3C44B0X的開發(fā)板)和宿主PC機所構成。目標板所用到的操作系統(tǒng)的內核編譯、應用程序的開發(fā)和調試需要通過宿主PC機來完成。兩者之間一般通過串口、并口或以太網接口來建立連接關系。首先,要在宿主機上安裝標準Linux操作系統(tǒng),之后就可以建立交叉開發(fā)環(huán)境。從網上下載工具鏈,并將交叉編譯器安裝到宿主機上。還要根據家庭網關的需要重新配置、編譯內核,進行mClinux移植。成功后可看到mClinux-Samsung/images目錄下有兩個內核文件:image.ram和image.rom。將image.rom燒寫入ROM/SRAM/FLASH Bank0對應的Flash存儲器中,當系統(tǒng)復位或上電時,內核會自解壓到SDRAM,并開始運行。這樣一個嵌入式應用開發(fā)平臺就搭建成功了。
硬件驅動和應用程序的開發(fā)
硬件驅動和應用程序的開發(fā)也要在交叉編譯環(huán)境中進行,先在PC機上開發(fā),然后移植到目標機上進行調試并最終固化到目標機上。本設計中需要開發(fā)的硬件驅動有:以太網卡控制器、串口、LCD驅動、藍牙模塊、小鍵盤的驅動程序等。為Linux內核編寫驅動并不像其他操作系統(tǒng)那么復雜,只需為相應的設備編寫幾個基本函數并向VFS注冊即可,一般都是在一個現成的驅動程序基礎上針對特殊的硬件設備作相應的改動。在嵌入式操作系統(tǒng)的基礎上還要開發(fā)微型GUI,編寫動態(tài)網頁和CGI程序來實現嵌入式WEB技術、安全認證、及無線通信協(xié)議等。例如:基于Internet的遠程控制是通過瀏覽家庭網關中的Web Server的動態(tài)網頁實現的,遠程控制程序需要從用戶訪問信息中解出有用的控制命令信息,然后按家庭控制網的內部協(xié)議組成命令幀,實現控制的關鍵是CGI程序的編制,其流程如圖3所示。
圖3 Internet 遠程控制程序流圖
結語
本文討論了一個基于ARM微處理器S3C44B0X及mClinux的無線家庭網關的軟硬件設計。該家庭網關控制方式多樣,并且能隨時隨地通過瀏覽網頁實現對家電的遠程控制。該家庭網關成本較低,易于升級,便于推廣應用。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關文章:linux教程
評論