zoukankan      html  css  js  c++  java
  • Android深度探索读书笔记 第七章

        第七章主要介绍led驱动。1测试led驱动:测试之前需要用USB数据线连接s3c开发板,然后打开S3C开发板的电源开关,成功启动后,执行build..sh脚本文件编译和安装led驱动。2 创建led驱动的设备文件:1使用cdev_init函数初始化cdev,cdev的大多数成员变量并不需要我们自己去初始化,是需要调用cdev_init函数就可以初始化大部分cdev的成员变量。2指定设备号(直接在代码中指定;动态分配)3 使用cdev_add函数将字符设备添加到内核中的字符设备数组中。4 使用class_create宏创建struct class。 5 使用device_create函数创建设备文件,该函数在<linux内核源代码>/include/linux/device.h文件中定义。6卸载led驱动的设备文件,依次调用device_destrory、class_destrory和unregister_chrdev_region方法;控制led(通过字符串控制和通过I/O命令控制);其中测试led驱动程序,使用NDK测试led驱动和可执行程序测试差不多。不同的是NDKlibrary可以被Java程序调用。最后介绍的是led驱动的移植,首先要改变的就是leds_init函数,在led驱动装载后,会用0xE设置4个led的默认状态。然后需要修改控制led的代码。其中移植linux驱动有一条非常重要,就是在修改linux驱动的源代码时,应尽量不修改linux驱动的接口。

                                                                                                                                      http://www.cnblogs.com/sam0304/

  • 相关阅读:
    DateTime 格式化示例
    Linq To XML概述[转]
    .net邮件发送代码
    ASP.NET中c#的URL编码处理
    消息队列(Message Queue)简介及其使用
    C#多线程学习笔记之(abort与join配合使用)
    异常处理的性能损失
    推荐一款DataGridView的打印解决方案
    玩转App.Config
    推荐一个快速反射调用的类
  • 原文地址:https://www.cnblogs.com/sam0304/p/5561497.html
Copyright © 2011-2022 走看看