• 深度探索android第七章


    LED 驱动是本书第一个真正和硬件打交道的Linux 驱动。虽然LED 驱动并不复杂,只是控制

    了4 个LED,"但LED 驱动已经包括了Linux 驱动所有必要的部分 一个完整的Linux 驱动主要由

    内部处理和与硬件交互降部分组成。其中内部处理主要是指Linux 驱动的装载、卸载、与设备文件

    相关的动作处理(读写设备文件、向设备文件发送νo 命令等动作〉以及业务逻辑等。与硬件交互

    主要是指通过i owrite32 、. ioread32 等函数与硬件中的寄存器进行数据交互。-Linux 驱动在不同平台

    的移植也是处理这两部分。如果在不同Lin肌肉核版本之间的移植,主要是移植第1 部分( Linux

    驱动的内部处理, γ般Linux 内核版本相差较大时, Linu叉’ 内核的APl 会有很大差别〉,如果在不

    同硬件平台(如7.4 节介绍的在不同开发板之间的移植〉的移植,主要是移植第2部分。当然, 在

    一些情况不, Linux 驱动的移植基本上相当于重新编写一遍Linux 驱动,在这种情况下,就要更好

    地了解Linux 驱动的高级技术.

    创建LED驱动的设备文件的步骤:

    1、使用cdev_init函数初始化cdev

    2、指定设备号

    3、使用cdev_add函数将字符设备添加到内核中的字符设备组中

    4、使用class_create宏创建struct class

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

    卸载LED驱动的设备文件:

           void device_destory(sruct class *class,dev_t devt)

           void clss_dsetroy(struct class *class)

           void unregister_chrdex_region(dev_t from,unsigned count)

  • 相关阅读:
    Mysql 5.7解压版安装
    Java Web 整合案例
    maven 创建Java web项目
    LintCode 数字三角形
    Hibernate 泛型Dao实现
    LintCode 将二叉查找树转换成双链表
    LintCode 删除链表中倒数第n个节点
    LintCode 二级制中有多少个1
    LintCode翻转二叉树
    SpringMVC 运行流程
  • 原文地址:https://www.cnblogs.com/maoyuan/p/5561347.html
Copyright © 2020-2023  润新知