• 第七章


    心得体会:本章讲述了控制发光二级管,该 Linux 驱动用来控 制开发版上的 4个 LED 小灯。也就是说通过向 Linux 驱动发送数据可以控制 LED 小灯的开关。刚开始讲LED驱动的实现原理,Linux 内核提供了多个与 1/0 内存交互的函数,如 ioread16、 ioread32、 iowrite16、iowrite32 等。 Linux 内 核的内存管理模块负责同步 I/0 内存与硬件中的数据。下面讲了编写回驱动, 测试 LED 驱动之前需要用 USB 数据线连接 S3C 开发板,然后打开 S3C 开发板的电源开关。 成功启动后,执行脚本文件编译和安装 LED 驱动。如果一切顺利, build. s h 脚本文件会自 动将 s3c64 l O leds.ko 文件上传到 S3C 开发板并安装。创建 LED 驱动的设备文件,。如果想建立其他主设备号的设备文件,就需要使用 cdev_山t、 register_chrdev_region、 cdev add、 class create等函数。卸载 LED 驱动的设备文件,卸载 Linux 驱动的设备文件稍微简单-些,需要依次调用 device_destroy、 class_destroy 和 unregister_chrdev_region 方法。设置寄存器与初始化 LED 驱动
    在控制 LED 亮、 灭之前必须要了解如何设置寄存器。 ARM 处理器有多个寄存器,通过设置不同寄存器的值。可以设置 LED 引脚的状态、打开或禁止上拉(pull-up)电路以及控制 LED 的亮和灭。 控制 LED
    LED 驱动可以使用如下两种方式控制 LED
    口通过字符串控制 LED.口通过 l/0命令控制 LED
    。1.通过字符串控制 LED .
    2. 通过 l/0命令控制 LED;
    LED 驱动有两种与设备文件交互的方式: 直接写入字符串数据和 νo 控制命令.直接向设备文 件写入数据可以使用命令行方式来完成,也吁以通过 write 函数来完成。但 I/0 控制命令只能通过 iocll 函数发出。为了以后测试方便,本节编写了一个通用的发送 命令的程序。在后面的章节将 使用该程序测试I/0命令对Linux 驱动的控制。
    总之,LED 驱动是第一个Linux 驱动。虽然 LED 驱动并不复杂,只是控制了4个 LED,但 LED 驱动已经包括了 Linux 驱动所有必要的部分。

  • 相关阅读:
    MS SQL Server版本的选择
    ANSI,ASCII,Unicode的区别与联系!
    解决MSSQL中插入中文数据显示乱码的问题!
    ASP.NET中website与webApplication有何区别?
    常用SQL语句总结.
    外键的具体应用和表连接!
    String和datetime在SQL中和在C#中相互转换方法总结
    外键的学习
    if(!IsPostBack)的使用?
    如何在模板的内容页中添加javascript代码?
  • 原文地址:https://www.cnblogs.com/sjpeng/p/5540162.html
Copyright © 2020-2023  润新知