• 第七章 心得体会


    通过第七章的学习,使自己对驱动程序的认识更加深刻,LED灯的驱动程序帮我我学到很多,还学会了驱动的移植。

    学到的知识:

    一、编写LED驱动

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

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

    leds_cdev.owner = TRIS_MODULE;

    第二步:指定设备号

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

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

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

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

    device_create(ldes_class, NULL, dev_number, NULL, DEVICE_NAME);

    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的两个引脚:GPB0和GPB1

    4、控制LED

    1.通过字符串控制LED

    2.通过I/O命令控制LED

    5、LED驱动的模块参数

    使用module_param宏指定模块参数

    6、LED驱动的完整代码

    二、测试LED驱动

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

    LED与设备文件交互的方式:直接写入字符串数据和I/O控制命令。

    执行ioctl命令的语法格式:

    ioctl <设备文件> <cmd> <arg>

    2、使用NDK测试LED驱动

    3、使用Java测试LED驱动

    三、LED驱动的移植

    移植Linux驱动时,在修改Linux驱动的源代码时,应尽量不修改Linux驱动的接口。

  • 相关阅读:
    HBase的完全分布式搭建
    研究Zookeeper的原理(二)
    研究Zookeeper的原理(一)
    zookeeper集群的搭建
    Hadoop之伪分布式安装
    MySQL忘记密码(终极解决方法,亲测有效,windows版本)
    MySQL重置密码(liunx)
    disconf---分布式配置管理平台的搭建(linux版本)
    zookeeper的安装(单机版)
    Redis搭建一主一从及哨兵模式(二)
  • 原文地址:https://www.cnblogs.com/chen-yang/p/5558828.html
Copyright © 2020-2023  润新知