【原创】基于嵌入式的WDT驱动编写及测试
0赞
发表于 1/21/2015 10:41:53 AM
阅读(2115)
今天写一下如何编写一个字符驱动程序操作目标板的LED的亮灭。
平台还是熟悉的:
主机:Ubuntu 10.10
目标机:FS_S5PC100
目标机内核版本:2.6.35
交叉编译器版本:arm-none-linux-gnueabi-gcc-4.5.1
注意:在实验过程中"$"后的操作在主机上,"//www.ninimall.com/blog/snifer/p/#"后的操作在开发板上
1、编写代码:
#include
#include
#include
#include
#include
int main (void)
{
int fd;
int data;
fd = open ("/dev/adc",O_RDWR);
if (fd < 0) {
perror("open");
exit(0);
}
while(1)
{
read (fd, (char *)&data, sizeof(data));
printf("Voltage = %.2f\n", 3.3/4096*data);
sleep(1);
}
close (fd);
printf ("/dev/adc closed :)\n");
return 0;
}
2、编译模块
$ make
3、编译应用程序
$ arm-none-linux-gnueabi-gcc test.c –o test
4、拷贝驱动及应用程序到目标板上
$ cp s5pc100_wdt.ko test /source/rootfs
5、启动开发板后加载模块
# insmod s5pc100_wdt.ko
6、创建设备节点
# mknod /dev/wdt c 250 0
7、测试
# ./test
应用程序每隔一秒喂一次狗,10秒后系统复位