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

    第七章 控制发光二极管。

    尽管linux 驱动直接和硬件打交道,但并不是linux驱动直接向硬件中的内存写数据,而是与本机的i/o内存进行交互。所谓I/O内存是通过各种接口(PCI, USB、蓝牙以太网等)连接到主机的硬件在主机的内存映射。Linux内核提供了多个与I/O内存交互的函数。Linux内核的内存管理模块负责同步I/O内存与硬件的数据。

    每一个连接Linux 的硬件在I/O内存中都会有映射首地址。在使用ioread 32ioread32等函数读写I/O内存时需要指定这些首地址。Led驱动是以动态驱动模块(.ko文件)的形式提供。

    创建一个设备文件。1)使用cdev_init函数初始化cdev

    2)指定设备号  linux设备文件的设备号分为主设备号和次设备号。用一个into 类型。其中前12位表示主设备号。后20位表示此设备号。设备号有如下两种制定方法:直接在代码中指定。动态分配。

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

    4)使用class_create 宏创建struct class

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

    ARM处理器有多个寄存器,通过设置不同寄存器的值。可以设置led引脚的状态、打开或禁止上拉电路以及控制LED灯亮和灭。

  • 相关阅读:
    DOM 与BOM
    尝试json文件导入数据
    js事件监听简介
    js事件简介
    js中的for语句简介
    作业练习正则表达式
    简单总结-BOM
    web前端第三次作业em,fr,rem,px简单解释及颜色表
    web第二次作业练习grid
    web前端课程第一次作业----注册页面代码(2018-9-14)
  • 原文地址:https://www.cnblogs.com/haiyin/p/5559756.html
Copyright © 2011-2022 走看看