Android深度探索(卷1)HAL与驱动开发5-7章

第5章:搭建 S3C6.410 开发板的测试环境

开发板是开发和学习嵌入式技术的主要硬件设备, 尽管可以在 PC 上开发 Linux 驱动, 然后重 新编译成 ARM 架构的 Linux 驱动模块。但最终都是要在开发板上进行测试的。这主要是因为 ARM 架构的开发板可基于 X86 架构的 PC 在 CPU 指令以及二进制格式上都有所不同。 而且如果 Linux 驱动需要访问硬件(如 LCD、 Wi-町、蓝牙等〉,并且这些硬件很难在 PC 上进行模拟, 那么就要在 带有这些硬件的开发板上进行调试和测试。

本章还主要介绍了如何安装串口调试工具,烧写Android系统,配置有限网络的步骤。

本章只介绍了如何在 OK6410-A 开发板上安装 的droid . 当然,我们可以选择其他的开发板, 也可以直接在手机上测试 Linux 驱动程序。由子不同的开发板和手机安装 Andro id 的方法有一定的 差别, 所有元法介绍得面面俱到e 如果读者使用本书米介绍的硬件测试本书的例子,需要仔细阅读 相应的官方说明文挡以便了解如何使用这些设备。

第6章: 第一个Linux驱动程序: 统计单词个数

在这一章中主要介绍了一个Linux驱动程序,以实战的方式向我们介绍了一个Linux驱动程序的例子。

Linux驱动的工作和访问方式是Linux的亮点之一,同时受到了业界的广泛好评。 Linux系统 将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都保存在/dev目录中。这种 设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易。当然,也比访问LinuxAPI 更容易。 由于大多数Linux驱动都有与其对应的设备文件, 因此与Linux驱动交换数据就变成了与 设备文件交换数据。

编写Linux驱动程序的步骤:1.建立 Linu x 驱动骨架 (装载和卸载 Linu x 驱动)。2.:注册和注销设备文件。3. 指定与驱动相关的信息。4.指定回调函数。5.编写业务逻辑。6.编写 Makefile文件。7.编译 Linux 驱动程序。8. 安装和卸载 Linux 驱动。

这一章中还介绍了如何使用不同的方法测试 Linux 驱动。这些方法主 要以平台来区分。例如,可以直接使用 Ubuntu Linux 测试 Linux 驱动。有很多驱动只要再利用相 应的 Linux 内核编译一边,就可以直接安装在 Android、 Linux 等嵌入式系统中。 当然,也可以直 接在 Android模拟器、 开发板甚至手机上测试 Linux 驱动。 为了更快地开发 Linux 驱动,也可以 考虑采用 6.5 节介绍的 Eclipse 集成开发环境。

第7章:LED 将为我闪烁: 控制发光二级管

本章完成了一个真正意义上的 Linux 驱动。该 Linux 驱动用来控 制开发版上的 4个 LED 小灯。也就是说通过向 Linux 驱动发送数据可以控制 LED 小灯的开关。为 了方便称呼这个驱动,本书及后面的章节都将其称为 LED 驱动。

虽然 LED 驱动并不复杂,只是控制 了 4个 LED,"但 LED 驱动已经包括了 Linux 驱动所有必要的部分 一个完整的 Linux 驱动主要由 内部处理和与硬件交互降部分组成。其中内部处理主要是指 Linux 驱动的装载、卸载、与设备文件 相关的动作处理(读写设备文件、向设备文件发送 νo命令等动作〉以及业务逻辑等。与硬件交互 主要是指通过iowrite32、 . ioread32 等函数与硬件中的寄存器进行数据交互。 -Linux 驱动在不同平台 的移植也是处理这两部分。如果在不同 Lin肌 肉核版本之间的移植,主要是移植第 1 部分( Linux 驱动的内部处理,一般 Linux 内核版本相差较大时, Linu叉’内核的 APl 会有很大差别〉,如果在不同硬件平台的移植,主要是移植第 2部分。

时间: 2024-10-11 11:58:28

Android深度探索(卷1)HAL与驱动开发5-7章的相关文章

Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记

Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记     本章学习了使用git下载两套源代码并搭建两个开发环境.分别为Android源代码和Linux内核源代码.Android源代码中包含了HAL(即硬件抽象层) 的代码,并学习了如何搭建这两种开发环境. Android 的移植的本质就是Linux内核的移植,Linux内核的移植主要是Linux驱动的移植.而开发和测试Linux驱动就需要安装以上两个开发环境. 搭建两套环境的具体步骤如下: 一.下载编译和测试A

Android深度探索(卷1)HAL与驱动开发 第三章 Git使用入门 读书笔记

Android深度探索(卷1)HAL与驱动开发 第三章 Git使用入门 读书笔记     本章是对Git的一个概述. Linux是一个开源的系统.事实上,在Linux上许多软件都和底层程序以及内核驱动有关,然而Linux内核的版本非常多,如果每个版本上的软件都采用安装包的形式,则匹配这么多版本的安装包将十分庞大.所以有很多软件不是以二进制安装包的形式来安装和使用的.而是将源代码下载下来,并在每个用户自己的Linux中编译并安装,即使用make 和make install 命令.而Linus作为L

Android深度探索(卷1)HAL与驱动开发 第六章 第一个Linux驱动程序:统计单词个数

Android深度探索(卷1)HAL与驱动开发 第六章 第一个Linux驱动程序:统计单词个数 统计单词个数的功能是封装在Linux驱动中的. Linux驱动的工作和访问方式是Linux亮点之一,同时受到了业界大防范好评.Linux系统将每一个驱动都映射成一个文件.这些文件称为设备文件或者驱动文件,都保存在 /dev 目录中.这种设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易.当然,也比访问Linux API 更容易.由于大多数Linux驱动都有与其对应的设备文件,因此与Li

Android深度探索(卷1)HAL与驱动开发读后感---第一章

第1章  Android系统移植与驱动开发概述 1.1  Android 系统架构 Android是一个非常优秀的嵌入式操作系统.经过几年的发展和演进,Android已经发展形成林非常完善的系统架构. Android的系统架构分为4层:Linux内核.C/C++代码库.Android SDK API.应用程序. 1.2  Android 系统移植的主要工作     Android系统移植可分为两部分:应用移植和系统移植.Android移植的主要工作如下:移植Linux驱动.移植HAL. 1.3

Android深度探索(卷1)HAL与驱动开发第三章总结

Git—由linux之父Linus编写,是进行源代码管理的一种软件.Linus以一个文件系统专家和内核设计者的视角对Git进行了设计,其独特的设计让Git拥有了非凡的性能和最为优化的存储能力,Git在各方面都优于其他同类的的源代码管理软件.在学习Android及linux 内核,驱动开发的过程中会涉及大量的源代码,而这些代码都是由Git 管理的,因此,在学习Android移植与linux驱动开发之前了解Git的理论和基本使用方法.安装Git 以及查看Git 文档并不难,而在源代码的提交与获取的过

Android深度探索(卷1)HAL与驱动开发读后感---第二章

  第2章  搭建Android开发环境 2.1  Android底层开发需要哪些工具 开发.测试和调试Linux驱动.HAL程序库需要哪些工具: JDK6或以上版本: Eclipse3.4或以上版本: ADT: CDT: Android SDK: Android NDK: 交叉编译环境: Linux内核源代码: Android源代码: 用于调试开发板和串口工具:minicom . 2.2  安装JDK     直接下载后进行配置. 2.3  搭建Android应用程序开发环境     通过本节

ANDROID深度探索(卷1)HAL与驱动开发 第六章

Linux系统 将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都保存在/dev目录中. 由于大多数Linux驱动都有与其对应的设备文件, 因此与Linux驱动交换数据就变成了与 设备文件交换数据. 编写Linux驱动程序的步骤: 第 1 步:建立 Linux 驱动骨架 (装载和卸载 Linux 驱动). 第 2 步:注册和注销设备文件. 第 3 步:指定与驱动相关的信息. 第 4 步:指定回调函数. 第 5 步:编写业务逻辑. 第 6 步:编写 Makefile文件. 第 7 步

Android深度探索(卷1)HAL与驱动开发第六章读书笔记

编写Linux驱动程序的步骤 第1步:建立Linux驱动骨架(装载和卸载Linux驱动) 第2步:注册和注销设备文件 第3步:指定于驱动相关的信息 第4步:指定回调函数 第5步:编写业务逻辑 第6步:编写Makefile文件 第7步:编译Linux驱动程序 第8步:安装和卸载Linux驱动 安装Linux驱动: # insmod word_count.ko 查看word_count是否成功安装: # lsmod | grep  word_count 卸载L inux驱动: # rmmod wor

Android深度探索(卷1)HAL与驱动开发第六章总结

操作系统是通过各种驱动程序赖家与硬件设备的,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式.设备驱动程序是操作系统最基本的组成部分之一,在Linux内核源程序中也占有60%以上,因此熟悉驱动的编写很重要. Linux系统将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都存在/dev目录中.这样,在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作,从而大大方便了对设备的处理. 编写驱动程序的步骤: (1)建

Android深度探索(卷1)HAL与驱动开发 第五章 搭建S3C6410 开发板的测试环境

第五章 搭建S3C6410 开发板的测试环境 心得体会 开始进行安装串口调试工具:minicom  OK6410开发板带了一个串口.可以通过串口线与PC连接.Linux驱动在输出调试信息的同时会通过串口线教调试信息发送到PC上,这样Linux驱动程序员就可以直接在PC上查看调试信息了.(对一些笔记本需要使用USB转RS232串口线) 1.检测当前系统是否支持USB转串口 #lsmod | grep usbserial 2.安装minicom #apt-get install minicom 3.