android深度探索xinde < 7>

对于大多数Linux驱动来说,需要直接与硬件交互,本章主要介绍用Linux驱动来控制二极管的明暗,即通过Linux驱动发送数据控制开发板上LED灯的开关。

第一节介绍了LED驱动的实现原理。Linux驱动不是直接向硬件中的内存写数据,而是与本机的I/O内存交互,Linux内核提供了多个与I/O内存交互的函数,每个连接Linux的硬件在I/O内存中都会有映射首地址,开发板上的LED等也有其映射首地址。

第二节编写LED驱动,步骤如下:

(1)测试开发板,打开电源开关

(2)创建LED驱动设备文件

(3)卸载LED驱动的设备文件

(4)设置寄存器与初始化LED驱动

(5)控制LED

(6)设置LED驱动的模块参数

(7)给出了LED驱动的完整代码。

第三节介绍测试LED驱动

(1)编写测试I/O控制命令的通用程序

(2)使用NDK测试LED驱动

(3)使用Java测试LED驱动

第四节介绍了LED驱动的移植,最简单的移植是将其在不同Linux内核版本下进行编译,移植驱动时要注意再修改驱动的源代码时,尽量不修改驱动的接口。

本章是通过具体的控制发光二极管来实现驱动开发,通过实验明白Android驱动的实例,了解Android驱动的移植。驱动移植是Android的精髓,在学习的过程中一定要认真努力的掌握每个细节概念。

时间: 2024-10-28 21:37:53

android深度探索xinde < 7>的相关文章

android深度探索xinde &lt; 5&gt;

通过学习Android深度探索(卷1)HAL与驱动开发的第五章搭建S3C6410开发板的测试环境,我掌握了搭建S3C6410开发板的测试环境的方法 1安装串口调试工具:minicom 以Ubuntu Linux为例,需要按照如下步骤安装.配置和调试minicom: 第一步:检测当前系统是否支持USB转串口 #lsmod | grep usbserial 如果有usbserial说明系统支持USB转串口 第二步:安装minicom #apt-get install minicom 第三步:配置mi

android深度探索xinde &lt; 6&gt;

Linux驱动的工作和访问方式是Linux的亮点之一,Linux系 统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中.这种设计理念使得与Linux驱动进行交互就像与普通文件进 行交互一样容易.Linux驱动交换数据就就是设备文件交换数据.在进行设备文件交互时,必须编写回调函数,否则设备文件无法得到处理. 编写Linux驱动程序的步骤如下: 1.建立Linux驱动骨架(装载和卸载Linux驱动). 2.注册和注销设备文件. 3.指定与驱动相关的信息. 4.指定

Android深度探索HAL与驱动开发 第四章

Android深度探索HAL与驱动开发 第四章 源代码的下载和编译 读书笔记 一.下载编译和测试Android源代码 1.配置Android源代码下载环境 创建一个用于存放下载脚本文件的目录(可将该文件放到任何一个目录在这里使用-/bin) # mkdir ~/bin # PATH=~/bin:$PATH 2.下载repo脚本文件(用于下载Android源代码) # curl htttps://dl-ssl.google.com/dl/googlesource/git-repo/repo> ~/

Android深度探索HAL与驱动开发 第三章

Android深度探索HAL与驱动开发 第三章 Git使用入门 读书笔记 Git是对源代码进行管理的软件. 一.安装Git # apt-get install git # apt-get install git-doc git-emall git-gui gitk 用以下命令控制Git: # apt-get install git-core # apt-get install git-doc git-svn git-email git-gui gitk 二.查看Git文档 查看git-check

Android深度探索(卷1)HAL与驱动开发学习笔记(2)

Android深度探索(卷1)HAL与驱动开发学习笔记(2) 第二章搭建Android开发环境 书中介绍了两种JDK的安装方法, 方法一: 从官网下载JDK并进行配置,解压后在终端打开profile文件来设置PATH环境变量(# soure /etc/profile),打开profile文件后输入下面的内容 export PATH=.:developer/jdk6/bin:$PATH 保存profile文件以后,有两种方法可以重新加载profile文件. 1.# sourse  /etc/pro

《Android深度探索》第十章心得体会

<Android深度探索>第十章讲的是嵌入式Linux的调试技术.对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行测试.printk函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间.也就是说,像Linux驱动这样的Linux内核程序只能使用printk函数输出调试信息.在Linux文件系统中,/proc经常用来作为内核空间和用户空间进行数据交互的工具./proc文件系统的行为方式和设备文件系统(/dev)类似./proc是

Android深度探索HAL与驱动开发 第二章

Android深度探索HAL与驱动开发 第二章 搭建Android开发环境 读书笔记 一.Android底层开发需要的工具 1.JDK6或以上版本 2.Eclipse3.4或以上版本 3.ADT(用于开发Android的应用程序) 4.CDT(用于开发Android NDK程序) 5.Android SDK 6.Android NDK 7.交叉编译环境 8.Linux内核源代码 9.Android源代码 10.用于调试开发板的串口工具:minicom 二.安装JDK 下载JDK后在终端输入 #

Android深度探索总结

Android深度探索前四章总结 通过这几章的学习真实体会到“移植”的概念:为特定设备定制Android的过程,但是移植的过程中开发最多的就是支持各种硬件设备的Linux驱动程序,本章对Android和Linux做了总体介绍.接着介绍了Android的四层架构:Linux内核:C/C++代码库:Android SDK API;应用程序.又引入Android移植,Android移植包括两部分:应用移植,系统移植.而且为硬件平台添加新的模块,必须为此模块添加一个新的驱动程序,或者修改原来的程序. 学

《Android深度探索》第五章心得体会

<Android深度探索>第五章讲的是搭建S3C6410开发板的测试环境.S3C6410开发板是由三星公司生产的一款开发板产品,具有许多优点.本书的研究就是基于这块开发板的. 搭建环境需要先安装串口调试工具,然后烧入Android系统. 1. 安装串口调试工具:minicom, 第1步:输入命令 insmod | grep usbserial命令检测当前系统是否支持USB转串口: 第2步:输入命令apt-get install minicom命令安装minicom: 第3步:输入minicom