• 第七章读书笔记


    一、编写LED驱动

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

    第一步:使用cdev_init函数初始化cdev

    第二步:指定设备号

    设备号指定方法:1.直接在代码中指定;2.动态分配。

    第三步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中

    第四步:使用class_create宏创建struct class

    第五步:使用device_create函数创建设备文件

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

    void device_destroy(struct class *class, dev_t devt)

    void class_destroy(struct class *cls)

    void unregister_chrdev_region(dev_t from, unsigned count)

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

    通过设置不同寄存器的值,可恶意设置led引脚的状态、打开或禁止上拉电路以及控制led的亮和灭。

    4、控制LED

    可以通过 1:字符串控制led;(file_oprations.write函数) 2 :I/O命令控制led(file_oprations.icoctl函数)

    5、LED驱动的模块参数

    使用module_param宏指定模块参数

    6、LED驱动的完整代码

    二、测试LED驱动

    1、编写测试I/O控制命令的通用程序

    2、使用NDK测试LED驱动

    3、使用Java测试LED驱动

    三、LED驱动的移植

    四、小结

    一个完整的Linux驱动主要由内部处理和与硬件交互两部分组成。其中内部处理主要是指Linux驱动的装载、卸载、与设备文件相关的运动处理以及业务逻辑等。

  • 相关阅读:
    【JZOJ3188】找数【数论,数学】
    【JZOJ3187】的士【模拟】
    【JZOJ3187】的士【模拟】
    【洛谷P1641】生成字符串【数论,数学】
    【洛谷P1896】互不侵犯【状压dp】
    聚集索引与非聚集索引
    哈希索引
    索引能提高检索速度,降低维护速度
    MySQL索引基本知识
    注解
  • 原文地址:https://www.cnblogs.com/SamLee-/p/5561163.html
Copyright © 2020-2023  润新知