新闻中心

EEPW首页>嵌入式系统>设计应用> 基于嵌入式Web服务器的远程控制系统的实现

基于嵌入式Web服务器的远程控制系统的实现

作者: 时间:2010-08-05 来源:网络 收藏

2.3 驱动程序和应用程序设计
设备驱动程序是系统内核和机器硬件之间的接口,它为应用程序屏蔽了硬件的细节,在应用程序看来,硬件设备已抽象为设备文件,可以像操作普通文件一样对硬件设备进行操作。Linux操作系统下的设备分为3类:字符设备、块设备和网络接口。应用程序在系统中是不能直接访问硬件地址的,因此应用程序对具体设备的操作必须通过设备驱动程序来。本例通过编写对应端口的驱动程序,了对端口的输入输出设置,以及输出高低电平的系统调用接口。在目录/μClinux-dist/linux-2.4.x/drivers/char下创建驱动源文件port.c和驱动头文件polt.h。编写端口的驱动程序最重要的是编写port_ioctl接口调用函数,其中定义了功能的所有命令,以供应用程序调用。
设备驱动程序加入系统有2种方式,一种是直接编入内核中,另一种是以模块的方式灵活添加。由于本例较简单,所以直接编入内核中。通过在当前目录下的Makefile管理文件和Config.in配置文件添加相应项,并在vendor/Samsung/44BO/目录下的Makefile中device部分添加port,c,126,0,使系统启动时即注册设备。
编写CGI应用程序时,只需打开相应的设备文件,就可通过调用驱动中的命令控制接口实现对端口的控制。

本文引用地址://m.amcfsurvey.com/article/151707.htm



然后可通过ioctl系统调用实现对端口的控制,程序结束时再调用close(fd)关闭设备。
在配置BOA时,这里设定CGI程序的目录是/home/www/cgi-bin/目录,使用交叉编译工具生成CGI程序并放入此目录下,然后对整个操作系统内核进行配置裁剪,最终生成的系统镜像中就可以包含编写的程序功能,实现对设备的控制。图4为控制界面。


通过测试该,实现了对外部设备的远程控制,只需对CGI程序进行适当修改即可实现较复杂系统的控制。

3 结束语
随着计算机、通信、和互联网等技术的飞速发展,传统现场总线的已不能满足远程控制的要求,而以太网的正逐渐成为远程控制的首选。本文利用ARM内核的32位处理器及以太网控制器搭建硬件平台,移植了μClinux操作系统,配置了BOA,通过编写设备驱动程序和CGI程序,实现了远程控制系统,具有广阔的应用前景。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭