zoukankan      html  css  js  c++  java
  • 读书笔记7

    通过第七章的学习我知道了,尽管 Linux 驱动直接与硬件打交道,但并不是 Linux 驱动直接向硬件中的内存写数据, 而是与本机的I/0内存进行交互。所谓 1/0 内存是通过各种接口,如:PCI USB、蓝牙、以太网口等连接到主机的硬件包括网卡、声卡、摄像头等在主机内存中的映射,LED 驱动提供了两种交互方式:命令和读写设备文件,同时我们知道测试LED驱动之前需要用USB数据线连接S3C开发板,然后打开S3C开发板的电源开关。成功启动后,执行build.sh脚本文件编译和安装 LED 驱动。LED 驱动有两种与设备文件交互的方式: 直接写入字符串数据和I/o控制命令.直接向设备文件写入数据可以使用命令行方式来完成,也吁以通过 write 函数来完成。但I/0控制命令只能通过iocll函数发出。同时我们知道,LED驱动是通过设置 GPMDAT寄存器来控制LED的亮灭的。GPMDAT 寄存器的低4位分别控制4LED0表示打开LED, 1表示关闭LED. 这是在OK64 10开发板上的设置。如果要将LED驱动移植到另外基于S3C6410 的开发版上,而这个目标开发板上恰好与OK6410开发板的GPMDA1、寄存器的低4位表示的含义相反,也就是说,1 表示打开 LED0表示关闭 LED, 那么 LED 驱动的代码就要做相应的改变。首先要改变的就是 leds_init 函数。在LED驱动装载后,会用 OxE 设置4LED 的默认状态。而在新的开发板上,就要将OxE变成Ox。这就是本章所学的基本内容。

  • 相关阅读:
    vim 乱码问题的方法参考
    Node.js的原型继承函数 util.inherits
    UML类图画法及其之间的几种关系
    repo 小结
    Js_Eval方法
    Js_数组操作
    Js_字体滚动换颜色
    Js_图片轮播
    Jq_网站顶部定时折叠广告
    Js_网站右下角悬浮视窗可关闭广告
  • 原文地址:https://www.cnblogs.com/fanyan/p/5561160.html
Copyright © 2011-2022 走看看