《Android系统移植和驱动开发》-IT培训学习资料.PDFVIP

《Android系统移植和驱动开发》-IT培训学习资料.PDF

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Android系统移植和驱动开发》-IT培训学习资料

《Android系统移植和驱动开发》 作者:华清远见 第 5 章 Android 移植与驱动 本章目标 在第 4 章我们搭建了移植 Android 系统的环境,并且在 FS_S5PC100 开发平 台上进行了 Android 系统内核和文件系统的编译和烧写,这只是 Android 系统移植 的第一步,在进行Android移植的过程中难点不在于编译Android内核和文件系统, 更不是把 Android 镜像烧写到开发板上,而是对 Android 内核中驱动程序的修改。 专业始于专注 卓识源于远见 5.1 Android 移植和驱动的关系 假设我们出产基于 Android 的代号为“大米”的手机的摄像头是 800 万像素,伴随着硬件的发展,我 们打算升级这款手机为“老米”手机,它的摄像头升级为 1000 万像素,那么这时原先“大米”手机的 Android 镜像中的摄像头驱动就要进行修改,然后重新进行编译和烧写,所以在进行 Android 移植中的难点在于驱 动程序的编写和修改。 5.2 设备驱动程序 5.2.1 设备驱动概念 任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件 的硬件则只是一堆废铁。硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合 逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,满足了用户的需求。硬件 较固定,软件则很灵活,可以适应各种复杂多变的应用。可以说,计算机系统的软硬件互相成就了对方。 但是,软硬件之间同样存在着悖论,那就是软件和硬件不应该互相渗透到对方的领地。为了尽可能快速地 完成设计,应用软件工程师不想也不必关心硬件,而硬件工程师也难有足够的闲暇和能力来顾及软件。 例如,应用软件工程师在调用套接字发送和接收数据包时,不必关心网卡上的中断、寄存器、存储空 间、I/O 端口、片选,以及其他任何硬件词汇;在使用 printf() 函数输出信息时,不用知道底层究竟是怎样 把相应的信息输出到屏幕或串口的。也就是说,应用软件工程师需要看到一个没有硬件的纯粹的软件世界, 硬件必须被透明地呈现给他们。谁来实现硬件对应用软件工程师的隐形?这个艰巨的任务就落在了驱动工 程师的身上。对设备驱动最通俗的解释就是“驱使硬件设备行动”。设备驱动与底层硬件直接打交道,按 照硬件设备的具体工作方式读/写设备寄存器,完成设备的轮询、中断处理、DMA 通信,进行物理内存向 虚拟内存的映射,最终使通信设备能够收发数据,使显示设备能够显示文字和画面,使存储设备能够记录 文件和数据。由此可见,设备驱动充当了硬件和应用软件之间的纽带,它使得应用软件只需要调用系统软 件的应用编程接口(API )就可让硬件去完成要求的工作。在系统中没有操作系统的情况下,工程师可以 根据硬件设备的特点自行定义接口,如对串口定义 SerialSend()、SerialRecv();对 LED 定义 LightOn() 、 LightOff() ;以及对Flash 定义 FlashWrite() 、FlashRead()等。而在有操作系统的情况下,设备驱动的架构则 由相应的操作系统定义,驱动工程师必须按照相应的架构设计设备驱动,这样,设备驱动才能良好地整合 到操作系统的内核中。驱动程序沟通着硬件和应用软件,而驱动工程师则沟通着硬件工程师和应用软件工 程师。 随着通信、电子行业的迅速发展,全世界每天都会有大量的新芯片被生产,大量的新电路板被设计, 因此,也会有大量设备驱动需要开发。这些设备驱动,或运行在简单的单任务环境中,或运行在 VxWorks 、 Linux 、Windows 等多任务操作系统环境中,发挥着不可替代的作用。 5.2.2 内核驱动程序 内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这 种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常 复杂的,所以内核

您可能关注的文档

文档评论(0)

xyl118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档