首页 > 其他 > 详细

第六章随笔

时间:2016-06-04 19:16:29      阅读:169      评论:0      收藏:0      [点我收藏+]

第六章:

     1、什么是驱动程序:

     a、编写Linux驱动最重要的一步就是编写回调函数,否则与设备文件交互的数据将无法得到处理;

     2、编写Linux驱动程序的步骤:

     a、建立linux驱动骨架(装载和卸载Linux驱动);

module_init和 module_exit;

     b、注册和注销设备文件:

在初始化工作的函数中完成建立设备文件misc_register;

     c、指定与驱动相关的信息;

    d、指定回调函数;

     e、编写业务逻辑;

    f、编写makefile文件(Linux内核源代码的编辑规则通过makefile文件定义的);

     g、编写Linux驱动程序:Linux驱动程序可以直接编译内核,也可以作为摸板单独编译;

     h、安装和卸载linux驱动;

     3、第一个linux驱动:

     a、编写linux驱动程序前的准备工作;

     b、编写linux驱动程序的骨架(初始化和退出驱动):

     linux系统将内存分为了用户空间和内核空间,这两个空间的程序不能直接访问,printf函数运行在用户空间,printk函数运行在内核空间。如果用户空间的程序要访问内核空间的驱动程序,用户空间的程序通过设备文件与驱动程序进行交互即可。

    安装linux驱动:#insmod word_count.ko

    查看word_count是否安装成功:#lsmod | grep word_count

    卸载linux驱动:#rmmod word_count

    查看由linux驱动输出的日志信息:#dmesg | grep word_count /tail -n 2;

    c、指定与驱动相关的信息:

    执行#modinfo word_count.ko来查看word_count.ko的信息。depends表当前驱动的依赖、vermagic表示当前linux驱动模板在哪个linux内核版本下编译。

    d、注册和注销设备文件;

    e、指定回调函数

    file_operations.read   file_operations.write成员变量可以指定读写设备文件要调用的回调函数指针。

     f、实现统计单词的算法;

     g、编译、安装、卸载linux驱动的程序。

     4、使用多种方法测试linux驱动程序:

     a、使用Ubuntu linux测试linux驱动;

     b、在android模拟器中通过原生的c程序测试linux驱动;

android模拟器在直接运行普通的linux程序的两个条件:android模拟器,开发板或手机需要root权限;可执行文件需要交叉编译器进行编译,使支持arm处理器。

     c、使用android NDK 测试linux驱动;

     d、使用Java代码直接测试设备文件来测linux驱动;

     e、使用eclipse开发和测试linux驱动程序。

第六章随笔

原文:http://www.cnblogs.com/qiekaifanqie/p/5559243.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!