Linux系统 将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都保存在/dev目录中。这种 设计理念使得与Linux驱动进行交互像与普通文件进行交互一样容易。当然,也比访问LinuxAPI 更容易。 由于大多数Linux驱动都有与其对应的设备文件, 因此与Linux驱动交换数据变成了与 设备文件交换数据。
  (1)编写linux驱动程序的步骤:
  1.建立linux驱动骨架(装载和卸载linux驱动)
  装载函数:module_init(); 装载过程中进行初始化操作:建立设备文件,分配内存地址等。
  卸载函数:module_exit(); 下载过程中需要释放linux驱动占用的资源:删除设备文件,释放内存地址空间等。
  2.注册和注销设备文件
  Misc_register();创建设备文件misc_deregister();移除设备文件
  3. 指定与驱动相关的信息
  4. 指定回调函数
  5. 编写业务逻辑  完成业务功能
  6. 编写makefile文件
  makefile文件定义内核源代码的编译规则
  7. 编译Linux驱动程序
  8. 安装和卸载linux驱动
  (2)第一个Linux驱动:统计单词个数驱动:
  1.编写Linux驱动程序前的准备工作
  建立存放Linux驱动程序的目录
  #mkdir –p /root/drivers/ch06/word_count
  #cd /root/drivers/ch06/ word_count
  建立驱动源代码文件
  #echo ‘’ > word_count.c
  编写一个makefile文件
  2. 编写linux驱动程序的骨架(初始化和退出驱动)
  static  int  word_count_init(void)
  static  void  word_count_exit(void)
  安装linux驱动
  #insmod word_count.ko
  查看word_count是否成功安装
  #insmod | grep word_count
  卸载linux驱动
  # rmmod word_count
  查看由驱动输出的日志信息
  # dmesg | grep word_count | tail –n 2
  3. 指定与驱动相关的信息
  模块作者,模块描述,模块别称,开源协议
  4. 注册和注销设备文件
  Misc_register建立设备文件misc_deregister注销设备文件
  5.指定回调函数
  6.实现统计单词数的算法
  7.编译、安装、卸载linux驱动程序
  (3)测试linux驱动
  使用ubuntu linux测试
  在android模拟器上通过原声(native)C程序测试
  使用android NDK测试
  使用java代码直接操作设备文件测试
  使用S3C6410开发板测试
  将驱动编译进linux内核进行测试
  (4)使用eclipse卡发和测试linux驱动
  1.建立c工程
  2.建立c源代码文件连接
  3.设置include路径
  4.编译linux驱动
  (5)在eclipse中测试linux驱动
  1.导入test_word_count.c文件
  2.设置include路径
  3.建立targe
  4.build工程
  5.运行测试程序
  用不同的方法测试linux驱动主要以平台来区分