新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于嵌入式Web服務器的遠程控制系統(tǒng)的實現(xiàn)

基于嵌入式Web服務器的遠程控制系統(tǒng)的實現(xiàn)

作者: 時間:2010-08-05 來源:網(wǎng)絡 收藏

2.3 驅(qū)動程序和應用程序設計
設備驅(qū)動程序是系統(tǒng)內(nèi)核和機器硬件之間的接口,它為應用程序屏蔽了硬件的細節(jié),在應用程序看來,硬件設備已抽象為設備文件,可以像操作普通文件一樣對硬件設備進行操作。Linux操作系統(tǒng)下的設備分為3類:字符設備、塊設備和網(wǎng)絡接口。應用程序在系統(tǒng)中是不能直接訪問硬件地址的,因此應用程序?qū)唧w設備的操作必須通過設備驅(qū)動程序來。本例通過編寫對應端口的驅(qū)動程序,了對端口的輸入輸出設置,以及輸出高低電平的系統(tǒng)調(diào)用接口。在目錄/μClinux-dist/linux-2.4.x/drivers/char下創(chuàng)建驅(qū)動源文件port.c和驅(qū)動頭文件polt.h。編寫端口的驅(qū)動程序最重要的是編寫port_ioctl接口調(diào)用函數(shù),其中定義了功能的所有命令,以供應用程序調(diào)用。
設備驅(qū)動程序加入系統(tǒng)有2種方式,一種是直接編入內(nèi)核中,另一種是以模塊的方式靈活添加。由于本例較簡單,所以直接編入內(nèi)核中。通過在當前目錄下的Makefile管理文件和Config.in配置文件添加相應項,并在vendor/Samsung/44BO/目錄下的Makefile中device部分添加port,c,126,0,使系統(tǒng)啟動時即注冊設備。
編寫CGI應用程序時,只需打開相應的設備文件,就可通過調(diào)用驅(qū)動中的命令控制接口實現(xiàn)對端口的控制。

本文引用地址:http://2s4d.com/article/151707.htm



然后可通過ioctl系統(tǒng)調(diào)用實現(xiàn)對端口的控制,程序結束時再調(diào)用close(fd)關閉設備。
在配置BOA時,這里設定CGI程序的目錄是/home/www/cgi-bin/目錄,使用交叉編譯工具生成CGI程序并放入此目錄下,然后對整個操作系統(tǒng)內(nèi)核進行配置裁剪,最終生成的系統(tǒng)鏡像中就可以包含編寫的程序功能,實現(xiàn)對設備的控制。圖4為控制界面。


通過測試該,實現(xiàn)了對外部設備的遠程控制,只需對CGI程序進行適當修改即可實現(xiàn)較復雜系統(tǒng)的控制。

3 結束語
隨著計算機、通信、和互聯(lián)網(wǎng)等技術的飛速發(fā)展,傳統(tǒng)現(xiàn)場總線的已不能滿足遠程控制的要求,而以太網(wǎng)的正逐漸成為遠程控制的首選。本文利用ARM內(nèi)核的32位處理器及以太網(wǎng)控制器搭建硬件平臺,移植了μClinux操作系統(tǒng),配置了BOA,通過編寫設備驅(qū)動程序和CGI程序,實現(xiàn)了遠程控制系統(tǒng),具有廣闊的應用前景。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉