zoukankan      html  css  js  c++  java
  • 第七章

    编写LED驱动,创建led驱动的设备文件第一,使用cdev_init函数初始化cdev 第二步,指定设备号,多个Linux设备文件可以拥有同一个主设备号,但两个设备的主设备号和次设备号不能都一样,在使用alloc_chrdev_region函数主动分配设备号时,baseminor和count参数不要设置的太大,否则此设备号就会溢出,并且设备号会进位,从而变成了下一个主设备号。第三步使用cdev_add函数将字符设备添加到内核中的字符设备数组中。第四步,使用class_create宏创建struct_class第五步,使用cdev_create函数创建设备文件

    写咋LED驱动的设备文件 卸载Linux驱动的设备文件稍微简单一些,需要一次调用device_destory,class_destory,unregister-chrdev_region方法。

    LED驱动可以使用如下两种方式控制LED  一。通过字符串控制LED  二 。  通过I/O命令控制LED要想使用以上两种方式控制LED ,LED驱动必须接收相应的数据,如果通过字符串控制LED 需要使用file_operations.write。如果通过I/O命令控制LED,需要使用file_operations.ioctl函数,Linux驱动在装载时会将参数值写入参数文件。如果未指定参数值,Linux会将默认的参数值写入参数文件。在Linux驱动工作的过程中,参数值会和参数文件同步内容,也就是说,修改参数变量值后参数文的内容就会改变。

  • 相关阅读:
    1155 Heap Paths (30 分)
    1147 Heaps (30 分)
    1098 Insertion or Heap Sort (25 分)
    12.SpringMVC 获得 请求头信息
    11.SpringMVC 获得Servlet相关API
    10.SpringMVC 自定义类型转换器
    18. VUE 数组的响应式
    017 vue 关于 v-for 指令内部算法
    17. VUE v-show 和 v-if 的区别
    16. VUE 的 小案列
  • 原文地址:https://www.cnblogs.com/coobeast/p/5561097.html
Copyright © 2011-2022 走看看