码迷,mamicode.com
首页 > 其他好文 > 详细

第一章du后感

时间:2016-04-25 19:31:02      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

    Android是当前智能手机操作系统的老大,它之所以发展神速,在很大程度上取决于任何人都可以利用Android的源代码定制完全属于自己的嵌入式系统。这就需要我们队Android系统架构有更深层次的了解。Android系统架构分为4层:Linux内核,C/C++代码库,Android SDK API,应用程序。Android移植都是指Android操作系统的移植,其可分为两部分:应用移植和系统移植。因Linux内核本身已经支持很多常用的CPU架构,因此无需做太多改动,但Android在不同平台上正常运行,只支持CPU架构还不行,必须要让Android可以识别平台上各种硬件,其主要也是由Linux内核完成,其中主角是Linux驱动。因此,系统移植除了移植CPU架构外,最主要的就是移植Linux驱动。

    HALAndroid所特有的)表示硬件抽象层,是普通的Linux程序库,只是Android SDK通过HAL直接访问Linux驱动,即如果为Android增加了新的驱动或修改原来的驱动代码,HAL中的代码就要做相应的调整。不过HAL也不是必需的,通过NDK也可以直接访问Linux驱动,但Google建议最好为Linux驱动编写对应的HAL程序库,因此,Android移植的主要工作如下:移植Linux驱动;移植HAL.

    Linux系统的内核版本(只有组成内核版本号的五部分完全相同,才能说明两个Linux系统的内核是相同的),可使用下面两种方法:1.Linux终端执行下面命令。Uname -a,如果当前系统是Ubuntu Linux11.10,会在Linux终端输出信息,白框内是Linux内核的版本。

2.在Linux终端执行下面命令。Cat /proc/version.Linux终端输出信息,白框内是Linux内核的版本。

    学习Linux驱动需要做以下几点:

1.准备一个自己熟悉的Linux操作系统,用于开发和测试Linux驱动,建议使用Ubuntu Linux10.04及以上版本

2.准备一块开发版

3.学习GNU C

4.学习相关的硬件知识

5.不断地实践

   驱动是直接与硬件交互的一类程序,负责对硬件进行抽象。驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),而不是针对CPU内核。Linux将存储器和外设分为3大类:1.字符设备,2块设备,3.网络设备。其字符设备不经过系统的快速缓冲,而块设备经过系统的快速缓冲,这两者并没有明显的界限。http://i.cnblogs.com/EditPosts.aspx?opt=1

 

   

 

第一章du后感

标签:

原文地址:http://www.cnblogs.com/zhangyuye/p/5432228.html

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