zoukankan      html  css  js  c++  java
  • Android深度探索(卷1)HAL与驱动开发 第七章 LED将为我闪烁:控制发光二极管 读书笔记

    本章的实验将会实现真正意义上的Linux驱动,会实现直接与硬件的交互。需要控制4LED灯。

    7.1LED驱动的实现原理

    事实上并不是Linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互。I/O内存是通过各种接口连接到主机的硬件在主机内存中的映射。

    7.2编写LED驱动

    1.创建LED驱动的设备文件

    (1).使用cdev_init函数初始化cdev

    (2).指定设备号

    (3).使用cdev_add函数将字符设备添加到内核中的字符设备数组中。

    (4)使用class_create宏创建struct class

    (5)使用device_create函数创建设备文件

    2.卸载LED驱动的设备文件

    3.设置寄存器与初始化LED驱动

    4.控制LED

    7.4LED驱动的移植

    由于LED驱动并未调用太多的Linux内核API,而这些API丢失的可能性也不大,因此移植到内核只需要重新编译即可。移植Linux驱动有一条非常重要,就是在修改Linux驱动的源代码时,应尽量不修改Linux驱动的接口。

    在一个完整的Linux驱动中,主要由内部处理与硬件交互两部分组成。如果在不同版本之间的Linux间移植,主要移植第一部分,在不同硬件平台上,则主要第二部分。

    软件1308班31号 张帆 博客园地址: http://home.cnblogs.com/u/sxauzzz/

  • 相关阅读:
    记住密码 cookie+MD5 的应用[转]
    TDD测试[转]
    架构模式随笔
    MVC架构探究及其源码实现
    强大的SqlCacheDependency【转】
    使用Nant构建入门
    web架构设计经验分享[转]
    DIV+CSS布局大全
    如何突破Windows 2003 远程桌面连接数限制
    大型互联网网站架构心得[转]
  • 原文地址:https://www.cnblogs.com/sxauzzz/p/5638348.html
Copyright © 2011-2022 走看看