码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2016-04-26 13:55:28      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

android系统框架包括四层:

最上层是应用层(Application层)

第二层是应用框架层(Framework层)

第三层是系统运行库层(Android Runtime 层,有人将二、三层统一到了一起)

最底层是Linux内核层(包括硬件驱动)。

Linux将存储器和外设分为3个基础大类:

字符设备。   块设备。     网络设备。

(字符设备指那些必须以串行顺序依次进行访问的设备,如触摸屏、磁带驱动器、鼠标等。块设备可以按任意顺序进行访问,以块为单位进行操作,如硬盘、eMMC等。字符设备和块设备的驱动设计有出很大的差异,但是对于用户而言,它们都要使用文件系统的操作接口open()、close()、read()、write()等进行访问。)

设备驱动的作用:

任何一个计算机系统的运转都是系统中软硬件共同努力的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是一堆废铁。硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而设计,并完成用户的最终诉求。硬件较固定,软件则很灵活,可以适应各种复杂多变的应用。因此,计算机系统的软硬件相互成就了对方。

但是,软硬件之间同样存在着悖论,那就是软件和硬件不应该互相渗透入对方的领地。为尽可能快速地完成设计,应用软件工程师不想也不必关心硬件,而硬件工程师也难有足够的闲暇和能力来顾及软件。譬如,应用软件工程师在调用套接字发送和接收数据包的时候,不必关心网卡上的中断、寄存器、存储空间、I/O端口、片选以及其他任何硬件词汇;在使用printf()函数输出信息的时候,他不用知道底层究竟是怎样把相应的信息输出到屏幕或者串口。

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

标签:

原文地址:http://www.cnblogs.com/wuxinxinxin/p/yue123161.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!