通过学习Android深度探索(卷一)HAL与驱动开发的第七章让我了解了如何通过驱动程序来控制发光二极管,实现驱动直接与硬件交互。 一个完整的Linux驱动主要由内部处理和硬件交互两部分组成,其中内部处理主要是指Linux驱动的装载、卸载、与设备文件相关的动作处理以及业务逻辑等;与硬件交互主要是指通 ...
分类:
移动开发 时间:
2016-06-02 13:13:49
阅读次数:
162
前面几章主要讲述了本机Linux安卓开发环境的安装搭建及安卓系统移植。本章则主要讲述了如何在开发板上安装Android。开发板是开发和学习嵌入式技术的主要硬件设备,由于许多Linux驱动访问的硬件很难在PC上实现模拟,这时就要在开发板上进行调试和测试,开发板非常合适对底层的Linux程序进行调试。 ...
分类:
其他好文 时间:
2016-06-02 13:08:28
阅读次数:
133
对于大多数Linux驱动来说,需要直接与硬件交互,本章主要介绍用Linux驱动来控制二极管的明暗,即通过Linux驱动发送数据控制开发板上LED灯的开关。 首先我们要了解LED驱动的实现原理。Linux驱动不是直接向硬件中的内存写数据,而是与本机的I/O内存交互,Linux内核提供了多个与I/O内存 ...
分类:
其他好文 时间:
2016-06-02 13:05:48
阅读次数:
128
第6章: 1.编写Linux驱动的方法: (1):建立 Linux 驱动骨架(装载和卸载 Linux 驱动) (2):注册和注销设备文件 (3):指定与驱动相关的信息 (4):指定回调函数 (5):编写业务逻辑 (6):编写 Makefile 文件 (7):编译 Linux 驱动程序 (8):安装和 ...
分类:
移动开发 时间:
2016-06-02 11:11:41
阅读次数:
187
一 LED驱动的实现原理 尽管Linux驱动直接与硬件打交道,但并不是Linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互。每一个连接Linux的硬件在I/O内存中都会有映射首地址,开发板上的LED也有其映射首地址。 二 编写LED驱动 第一步:使用cdev_init函数初始化cd ...
分类:
其他好文 时间:
2016-06-02 09:50:56
阅读次数:
124
#include <stdio.h> /* count lines in input */ main() { int c, nl; nl = 0; while ((c = getchar()) != EOF) if (c == '\n') ++nl; printf("%d\n", nl); } #i ...
分类:
系统相关 时间:
2016-06-02 00:52:45
阅读次数:
187
开发Linux驱动程序无法像开发Android 应用程序直接在Eclipse 中开发, 并在LogCat 视图中显示调试信息。不过使用OK6410 开发板也可以使用其他方式显示Linux 驱动程序输出的调试信息,这就是串口通信。OK64 1 0 开发板带了一个串口。可以通过串口线与PC 连接。 Li ...
分类:
移动开发 时间:
2016-06-01 22:57:13
阅读次数:
346
编写一个Linux的一般步骤: 第1步:建立Linux驱动骨架(装载和卸载Linux驱动) 第2步:注册和注销设备文件 第3步:指定和驱动相关的信息 第4步:指定回调函数 第5步:编写业务逻辑 第6步:编写Makefile文件 第7步:编译Linux驱动程序 第8步:安装和卸载Linux驱动 在编写 ...
分类:
系统相关 时间:
2016-05-31 23:46:37
阅读次数:
244
第8章让开发板发出声音,蜂鸣器驱动 心得体会 通过学习Android深度探索(卷1)HAL与驱动开发的第8章 让开发板发出声音,蜂鸣器驱动,我加深对驱动的认识。以下主要是我对本节实验和参考在Linux驱动开发中使用PWM控制蜂鸣器中的一些见解。 先编写一个简单的蜂鸣器驱动程序,根据开发板上的硬件IO ...
分类:
其他好文 时间:
2016-05-31 22:16:24
阅读次数:
227
一 编写Linux驱动程序 1.建立Linux驱动骨架 Linux内核在使用驱动时需要装载与卸载驱动 装载驱动:建立设备文件、分配内存地址空间等;module_init 函数处理驱动初始化 卸载驱动:删除设备文件、释放内存地址空间等;module_exit函数处理退出 包含这两个函数的两个宏的C程序 ...
分类:
系统相关 时间:
2016-05-31 18:44:49
阅读次数:
224