zoukankan      html  css  js  c++  java
  • 第六章读后感

    第六章主要学习到了安卓底层开发的相关知识,这章主要介绍了第一个linux驱动程序:统计单词个数。Linux驱动的工作和访问方式是Linux的亮点之一。 Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中。这种 设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易。当然,也比访问LinuxAPI 更容易。 由于大多数Linux驱动都有与其对应的设备文件, 因此与Linux驱动交换数据就变成了与 设备文件交换数据。例如,向Linux打印机驱动发送一个打印命令,可以直接使用C语言函数open打开设备文件, 再使用C语言函数 ioctl 向该驱动的设备文件发送打印命令。

    一、编写Linux驱动程序的步骤

    1.建立Linux驱动骨架(装载和卸载Linux驱动)

    Module_init处理驱动初始化,module_exit处理驱动退出

    2.注册和注销设备文件

    Misc_register函数创建和misc_deregister移除设备文件

    3.指定与驱动相关的信息

    modinfo

    4.指定回调函数

    5.编写业务逻辑

    6.编写makefile文件

    7.编译Linux驱动程序

    8.安装和卸载Linux驱动

    二.接着进行统计单词个数的驱动例子。这个驱动程序并没有访问硬件,而是利用设备文件作为介质与应用程序进行交互。应用程序通过向设备文件传递一个自空格分隔的字符串(每一个被空格隔开的子字符串称为一个单词),然后从设备文件读出来的是该字符串包含的单词数。

    三.使用多种方式测试Linux驱动

    1.使用Ubuntu Linux测试Linux驱动

    2.Android模拟器上通过原生(NativeC程序测试Linux驱动

    3.使用Android NDK测试Linux驱动

    4.使用Java代码直接操作设备文件来测试Linux驱动

    5.使用S3C6410开发板侧试Linux驱动

    6.将驱动编译经Linux内核进行测试

    四、使用eclipse开发和测试Linux驱动程序

    1.eclipse中开发Linux驱动程序

    建立C工程

    建立C源代码文件链接

    设置include路径

    编译Linux驱动

    2.eclipse中测试Linux驱动

    导入test-word_count.c

    设置include路径

    建立Target

    Build工程

    运行测试程序

    http://i.cnblogs.com/EditPosts.aspx?opt=1

  • 相关阅读:
    删除查询出以外的数据
    查询头3条
    查询共多少条记录
    Linq查询非泛型集合要指定Student类型(比如List)
    Linq to 泛型集合查询集合包括大写M和年龄小于等于18
    LINQ查询字符串判断是否大写
    LINQ查询数组里面是否包含某值
    Lambda表达式
    构建之法(四)
    构建之法(三)
  • 原文地址:https://www.cnblogs.com/zhangyuye/p/5560990.html
Copyright © 2011-2022 走看看