zoukankan      html  css  js  c++  java
  • 第六章

     本章是android底层开发的第一个章节,本章是第一个linux驱动程序,统计单词个数。

    本章作为实战第一章,首先要做的就是了解linux驱动到底是个什么东西,首先了解linux驱动的工作方式,linux系统将每一个驱动都映射成一个文件,保存在/dev中,再使用c语言函数ioctl向驱动的设备文件发送打印命令。编写linux驱动程序,需要接受被写入的数据,并将它们通过pc的并口、usb等端口发送给打印机, 需要linux响应应用程序传过来的数据。

        然后编写linux驱动程序的步骤,步骤如下:

    1建立linux驱动骨架。

      Module_init module_exit宏制定

    2注册和注销设备文件

      Misc_register   mics_deregister

    3.指定驱动相关信息

          Module_author  module_license module_alias module_description

    4.制定回调函数

    5.编写业务逻辑

    6.编写makefile文件

    7.编译linux驱动程序

    8.安装和卸载linux驱动

    然后,我们就可以真正开始我们的程序了,利用设备文件作为介质与应用程序进行交互。应用程序通过向设备文件传递一个由空格分隔的字符串,然后从设备文件读出来的是该字符串包含的单词数。在编写前首先建立存放驱动程序的目录,然后建立驱动源代码文件并编写一个makefile文件,之后进行编写骨架等一系列操作,通过书上内容可以完美编译。  

    最后测试驱动,可以使用的方法有:

    1 Ubuntu linux进行测试

    android模拟器上通过原生c程序测试

    使用android NDK测试

    使用java代码直接操作设备文件测试

    5使用S3C6410开发板测试

    将驱动编译进linux内核进行测试

    最后一个小节讲述了使用Eclipse开发和测试linux驱动程序,利于深入了解内核技术。

    开发步骤如下:

    1.建立c工程

    2建立c源代码文件链接

    3设置include路径

    4编译linux驱动

    测试步骤如下

         1导入test_word_count.c文件

         2设置include路径

         3建立target

         4build工程

         5运行测试程序

    虽然驱动的功能不复杂,但是足以让我了解驱动的完成开发过程。本章虽然仅仅是一个简单的实例,但是包含内容很多,

  • 相关阅读:
    css backgroud属性与雪碧技术
    css margin 外边距塌陷问题
    css 浮动元素与清除浮动
    css 盒模型的概念与使用
    七年iOS架构师教你如何一举拿下35K的Offer,(附面试技巧)
    iOS开发者月薪想要突破30K,需要经历+提升些什么?
    月薪 8K 与30K的程序员 区别到底在哪里?
    那些月薪35K以上的iOS开发者 都掌握了什么技能?
    从事 iOS 开发8年的面经——送给准备跳槽的你!
    想进BAT大厂的 iOS程序员,看完这个你还觉得Offer难拿吗???
  • 原文地址:https://www.cnblogs.com/liang0202/p/5555123.html
Copyright © 2011-2022 走看看