zoukankan      html  css  js  c++  java
  • 第七章:LED将为我闪烁:控制发光二极管

    尽管 Linux 驱动直接与硬件打交道,但并不是 Linux 驱动直接向硬件中的内存写数据 而是与 本机的 I/0 内存(νO Memory ,位于内核空间〉进行交互。所谓 1/0 内存是通过各种接口(PCI 、 USB 、蓝牙、以太网口等〉连接到主机( PC 、手机〉的硬件〈网卡、声卡、摄像头等〉在主机内 存中的映射。例如,在 Ubuntu Linux 运行的驱动只需要访问运行 Ubuntu Linux 的主机中的I/O内存即可,然后 Linux 内核会利用I/O内存中的数据硬件交互。Linux 内核提供了多个与 1/0 内存交互的函数,如 ioread16 ioread32 iowrite16 iowrite32 等。 Linux 核的内存管理模块负责同步 I/0 存与硬件中的数据。每一个连接 Linux 的硬件在I/O内存中都会有映射首地址。在使用 ioread32 等函数读 I/O 内存时需要指定这些首地址。 开发板上的 LED 也有其 映射首地址。编写LED驱动的步骤如下:一、创建LED驱动的设备文件:第一步:使用 cdev_init函数初始化cdev

    第二步:指定设备号;第三步:使用cdev_add 函数将字符设备添加到内核中的字符设备数组中;第四不:使用 clascreate宏创建 struct class;第五步:使用 device create 函数创建设备文件。然后卸载 LED 驱动的设备文件。设置寄存器与初始化 LED 驱动。LED 驱动可以使用如下两种方式控制:LED通过字符串控制;通过命令控制LED。在将LED灯代码编写完成后,然后进行LED灯的测试。也可以使用JAVA测试LED灯驱动。测试完成后可以将LED灯移植。

  • 相关阅读:
    集合(5)—Map之HashMap()
    《转》python 10 集合
    《转》python8元组
    《转》python(7)列表
    《转》python数据类型
    《转》python对象
    《转》python
    《转》python基础下
    《转》python学习基础
    《转》python 9 字典,numpy
  • 原文地址:https://www.cnblogs.com/dongchao1/p/5559368.html
Copyright © 2011-2022 走看看