Linux字符设备驱动程序的编写框架

[11-20 15:54:01]   来源:http://www.88dzw.com  arm嵌入式   阅读:8269

文章摘要:如果安装成功,在/proc/devices文件中就可以看到设备test,并可以看到它的主设备号。要卸载的话,运行 :$ rmmod test下一步要创建设备文件。mknod /dev/test c major minorc 是指字符设备,major是主设备号,就是在/proc/devices里看到的。用shell命令$ cat /proc/devices就可以获得主设备号,可以把上面的命令行加入你的shell script中去。minor是从设备号,设置成0就可以了。我们现在可以通过设备文件来访问我们的驱动程序。写一个小小的测试程序。#include <stdio.h>#inclu

Linux字符设备驱动程序的编写框架,标签:arm嵌入式系统,arm系统,http://www.88dzw.com
  如果安装成功,在/proc/devices文件中就可以看到设备test,并可以看到它的主设备号。要卸载的话,运行 :

  $ rmmod test

  下一步要创建设备文件。

  mknod /dev/test c major minor

  c 是指字符设备,major是主设备号,就是在/proc/devices里看到的。

  用shell命令

  $ cat /proc/devices

  就可以获得主设备号,可以把上面的命令行加入你的shell script中去。

  minor是从设备号,设置成0就可以了。

  我们现在可以通过设备文件来访问我们的驱动程序。写一个小小的测试程序。

  #include <stdio.h>

  #include <sys/types.h>

  #include <sys/stat.h>

  #include <fcntl.h>

  main()

  {

  int testdev;

  int i;

  char buf[10];

  testdev = open("/dev/test",O_RDWR);

  if ( testdev == -1 )

  {

  printf("Cann't open file \n");

  exit(0);

  }

  read(testdev,buf,10);

  for (i = 0; i < 10;i++)

  printf("%d\n",buf[i]);

  close(testdev);

  }

  编译运行,看看是不是打印出全1

  以上只是一个简单的演示。真正实用的驱动程序要复杂的多,要处理如中断,DMA,I/O port等问题。这些才是真正的难点。上述给出了一个简单的字符设备驱动编写的框架和原理,更为复杂的编写需要去认真研究LINUX内核的运行机制和具体的设备运行的机制等等。希望大家好好掌握LINUX设备驱动程序编写的方法。

  “www.88dzw.com提供”



  

上一页  [1] [2] [3] 


Tag:arm嵌入式arm嵌入式系统,arm系统arm嵌入式
分类导航
最新更新
热门排行