Android深度探索与驱动开发(五)

开发板是开发和学习嵌入式技术的主要硬件设备, 尽管可以在 PC 上开发 Linux 驱动, 然后重 新编译成 ARM 架构的 Linux 驱动模块。但最终都是要在开发板上进行测试的。这主要是因为 ARM 架构的开发板可基于 X86 架构的 PC 在 CPU 指令以及二进制格式上都有所不同。 而且如果 Linux 驱动需要访问硬件(如 LCD、 Wi-町、蓝牙等〉,并且这些硬件很难在 PC 上进行模拟, 那么就要在 带有这些硬件的开发板上进行调试和测试。 开发板从技术上说与我们经常用的手机类似, 也包含显示屏、 键盘、 Wi-Fi、 蓝牙等模块(可 能有的是选配〉。但与手机不同的是在开发板上安装嵌入式系统要比手机容易得多。而且一般开发 扳都有很多扩展的端口,可以很容易开发定制的硬件, 并与开发板链接。因此,开发板相对于孚机 来说,更适合对程序进行测试,尤其适合对底层的 Linux 程序(如 Linux 驱动〉进行测试。当然, 一般开发板可没有孚机那么漂亮和小巧〈尽管有的大屏孚机看上去并不小巧, 但仍然很顺眼〉,开 发板的很多电路都是暴露的,看上去就像一块集成电路板。 目前市面上的开发板型号和种类很多。但目前最流行的是基于三是 S3C64 IO ARM I l 架构的开 发板。国内很多厂商在 S3C6410ARMI l 架构的开发板的基础上进行了扩展, 开发了扩展板。本书 采用的是飞凌生产的 OK6410-A 开发板。本书后面的章节所使用的 “开发板”如无特殊说明,都是 指 OK6410-A 开发板。本书的示例也可以运行在其他基于 S3C6410 的开发板上, 但可能需要重新 进行编译。读者在运行本书示例时要注意这一点。本书主要介绍开发板的调试环境的搭建, 以及如 何将 Android 系统安装在开发板上。本书的 Linux 驱动示例都会提供 山untu Linux、 Android 模拟 器和开发板 3 种运行方式〈涉及特殊硬件,只能在特定平台上运行的 Linux 驱动除外〉。

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

时间: 2024-11-08 17:54:34

Android深度探索与驱动开发(五)的相关文章

Android深度探索与驱动开发(六)

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

Android深度探索与驱动开发(八)

蜂鸣器是 S3C6410 开发板上带的一个硬件设备.可以通过向寄存器写入特定的值来控制蜂鸣器 发出尖叫声.一个完整的蜂呜器驱动(可以打开和关闭蜂鸣 器). PW时驱动的实现方式不同于 LED 驱动, PWM 驱动将由多个文件组成.这也是大多数 Linux 驱动的标准实现方式. 也就是说-个复杂的驱动不太可能将所有的代码都放在一个文件中.最好将 相关的代码放在相应的文件中.在编译 Linux 驱动时将这些文件进行联合编译.这些文件中的数据结构.函数的代码也可以被多个不同的驱动使用, 所 以这也是代

Android深度探索与驱动开发(四)

Linux 网络设备驱动程序由 4 部分组成,分别是网络设备媒介层.网络设备驱动层.网络设 备接口层及网络协议接口层.网络设备媒介层包括各种物理网络设备和传输媒介.对于网络设备 接口层,Linux 系统用 Net_device 结构表示网络设备接口.Net_device 结构保存所有与硬件有关 的接口信息,各协议软件主要通过 Net_device 结构来完成与硬件的交互.网络设备驱动层主要包 括网络设备的初始化.数据包的发送和接收.网络协议接口层提供网络接口驱动程序的抽象接口.初始化(initi

Android深度探索与驱动开发(七)

任何现代的操作系统主机中插入硬件时都会检测到该硬件.例如,将一个打印机通过 USB 口连接到 PC上,如果操作系统是 Windows , 会在右下角状态栏显示已发现新设备信息.这说明操作系统已经探测到有硬件已连接到 PC 上然后系统会尝试安装驱动.如果驱动 F注意 :未安装成功,就会弹出对话框要求用户指定驱动程序的路径. 在这一过程中,操作 系统虽然可以检测到硬件设备连接的信号,但此时并不能使用该硬件设备,这是因 为还需要安装与硬件交互的驱动程序. 从这一点可以看出,硬件被检查到只说明在 内核空

Android深度探索与驱动开发(三)

Relay 的原理Relay 提供了一种机制,使得内核空间的程序能够通过用户定义的 Relay 通道(channel)将  大量数据高效地传输到用户空间.一个 Relay 通道由一组和 CPU 一一对应的内核缓冲区组成.这 些缓冲区又被称为 Relay 缓冲区(buffer),其中的每一个在用户空间都用一个常规文件来表示, 叫做 Relay 文件(file).内核空间的用户可以利用 Relay 提供的 API 接口来写入数据,这些数据 会被自动写入当前的 CPU ID 对应的那个 Relay 缓

Android深度探索-卷1第五章心得体会

S3C6410是由三星公司推出的一款低功耗.高性价比的RISC处理器,开发是,首先安装minicom串口调试工具: 第一步:检测当前系统是否支持USB转串口. Lsmod | grep usserial 第二步:安装minicom apt-get install minicom 第三步:配置minicom: Minicom –s按提示和需要配置即可 第四步:测试minicom Minicom 烧写Android系统 使用Eboot擦除NandFlash的方法如下: 第一步:准备工作 第二步:进入

Android深度探索(卷一)HAL与驱动开发 第五章

通过学习Android深度探索(卷一)HAL与驱动开发的第五章让我清楚了如何搭建s3c6410开发板的测试环境. S3c6410是由三星公司推出的一款低功耗.高性价比的RISC处理器,它基于ARM11内核,可广泛应用于移动电话和通用处理等领域. 首先,安装串口调试工具:minicom:第一步,检测当前系统是否支持USB转串口#lsmod | grep usbserial:第二步,安装minicom#apt_get install minicom:第三步,配置minicom#minicom -s:

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深度探索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后在终端输入 #