全部博文(2005)
分类:
2010-03-28 00:44:01
1、使用boa服务,先交叉编译~/s3c2410/boa/boa-0.94.14rc21,编译器使用
CC =
/usr/local/arm/3.4.1/bin/arm-linux-gcc,然后在src目录下将boa二进制文件复制到文件系统的bin下面。好
像在使用的时候会出现问题,按照网上的方法重新在编译一次就可以了,然后在etc目录下建立boa文件夹里面放boa.conf配置文件,外面放
mime.types文件,其中boa.conf中 DocumentRoot /home/web,其中#ScriptAlias /cgi-bin/
/usr/lib/cgi-bin/这个可以不需要,因为在/home/web中我建立led文件夹,把led.cgi和led.html已经放在其中
了,
2、cgi 公共网关接口,建立led.cgi文件,主要是获取参数$QUERY_STRING,在led.html中每个灯都有个名字和状态,然后最关键的是 /bin/led 3 $mode $led 3为参数个数 而bin/led是链接在/home/zhjw/led上的,而led是编写的LED驱动应用程序,在led-test.c中先打开设备/dev /leds0,然后根据参数对各个灯操作ioctl(fd, on, led);
3、编写led.html网页
4、编写LED驱动 要在内核中drivers/leds目录下写好ledtrig-control.c文件,该文件主要是LED的驱动,然后在该目录下的Makefile中 添加obj-$(CONFIG_LEDS_TRIGGER_CONTROL) += ledtrig-control.o 这样在重新编译内核的时候会在make menuconfig中出现让你选择改驱动,可以选择成CONFIG_LEDS_TRIGGER_CONTROL=m 模块话,也可以选择成永久的,模块后需要将drivers/leds下的ledtrig-control.ko文件拷贝到文件系统中/home/web /下面,然后2410起来后 要先insmod ledtrig-control.ko 查看lsmod看有无该设备,crw-rw---- 1 0 0 231, 0 Jan 1 00:05 /dev/leds0
5、使用 启动boa,boa&,然后打开网页192.168.168.62/led/led.html 然后就可以点亮板子上的灯了