问题:hi3510dvs平台上insmod second.ko在/dev/下却没有second,我的测试程序怎样才能打开设备呢?
(设备文件在哪里呢!)
测试程序:
#include
#include
#include
#include
#include
#include
main()
{
int fd;
int counter = 0;
int old_counter = 0;
/*打开/dev/second设备文件*/
fd = open("/dev/second", O_RDONLY);
if (fd != - 1)
{
while (1)
{
read(fd,&counter, sizeof(unsigned int));//读目前经历的秒数
if(counter!=old_counter)
{
printf("seconds after open /dev/second :%d\n",counter);
old_counter = counter;
}
}
}
else
{
printf("Device open failure\n");
}
}
此时就需要自己创建设备节点,那么在开发板上使用“定向”功能可以实现该要求,下面是解决的过程。
在开发板上执行命令:
mknod /dev/second c 111 0
其中c表示是字符设备,111是我写得主设备号,0是次设备号
检验节点:
echo 'hello word'>/dev/second //写入helloword到设备中
cat /dev/second //读取写入的数据
这样,我的测试程序就可以正确打开设备文件了。
鉴于上面的问题,所以在创建根文件系统时,需要创建好设备节点!
阅读(1400) | 评论(0) | 转发(0) |