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

    第七章 控制发光二极管

    作为IO内存是通过各种接口(PCI、USB、蓝牙、以太网等)连接到主机(PC、手机)的硬件(网卡、声卡、摄像头等)主机内存中的映射。Linux提供了多个与IO内存交互的函数,如ioreadl6/ioead32等。Linux内存的管理模块负责同步IO内存与硬件中的数据。每一个连接Linux的硬件在IO内存中会有映射首地址。在使用ioread32等函数读写IO内存时需要指定这些首地址。开发板上的LED也有其映射首地址。

    创建LED驱动的设备文件

    (1)       使用cdev_init函数初始化cdev

    (2)       指定设备号

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

    (4)       使用class_create宏创建struct class

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

    卸载LED驱动的设备文件

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

    在控制LED亮灭之前,必须了解如何设置寄存器。ARM处理器有多个寄存器,通过设置不同起存期的值,可以设置LED引脚的状态,打开或禁止上拉电路以及控制LED的亮和灭。

    测试LED驱动

    移植Linux驱动:

    将Linux驱动移植到新的Linux内核一般只需要在新的内核下重新编译即可

    http://www.cnblogs.com/BJBLOG/

  • 相关阅读:
    20181022-JSP 开发环境搭建
    20181019-JSP 教程/简介
    20180829-Java多线程编程
    20180827(02)- Java发送邮件
    20180827-Java网络编程
    20180912-Java实例02
    docker安装redis
    springboot2集成swagger2出现guava包下的FluentIterable.append方法找不到
    Linux Centos7 网络设置UUID号的修改方法
    CentOS 7 主机名bogon解决办法
  • 原文地址:https://www.cnblogs.com/BJBLOG/p/5561311.html
Copyright © 2011-2022 走看看