Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1255306
  • 博文数量: 404
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 5382
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-03 16:29
文章存档

2010年(40)

2009年(140)

2008年(224)

我的朋友

分类: LINUX

2008-12-16 16:48:48

问题: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) |
给主人留下些什么吧!~~