博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android系统移植与驱动开发概述
阅读量:6996 次
发布时间:2019-06-27

本文共 1031 字,大约阅读时间需要 3 分钟。

1.Android系统架构分为四层:linux内核,Android是基于linux内核的。

c/c++代码库,包括C/C++编写的代码库,包括dalivk虚拟机的运行时。

Android SDK API,这一层实际是JAVA编写的各种library

应用程序,这一层相当于AndroidUI,通过第三层中的Android SDK API来完成各种功能。

2.Android移植分为应用移植和系统移植。应用移植是将第四层的应用程序移植到某一个硬件平台上。系统移植则是指让Android操作系统在某一个特定硬件平台上运行,是一个操作系统在特定硬件平台上运行的一个首要条件就是该操作系统支持硬件平台的CPU架构

3.HAL表示硬件抽象层,是普通的linux程序库(.so文件),Android SDK通过HAL直接访问linux驱动。对有些来说它并不是必需的,通过NDK可直接访问Linux驱动。

4.安卓移植的主要工作:移植linux驱动,移植HAL。很大程度上是内核的移植,linux内核移植主要就是移植驱动程序。判断Linux内核是否相同的方法是Linux的内核版本号,内核相同,驱动可通用。

5.计算机系统硬件由CPU,存储器,外设组成,将存储器和外设分为三大类:字符设备,块设备,网络设备。

6.Linux驱动核心代码用C语言实现,控制开发板上的四个LED灯。

Linux驱动都有一个装载函数(用来装载驱动)和一个卸载函数(用来卸载函数)。

7.驱动是直接和硬件和交互的一类程序。

8.查看linux系统的内核版本的两种方法:

1)执行下列命令 uname   -a

2linux终端执行以下命令 cat  /proc/version

/proc不是普通的文件系统,而是系统内核的映像,也就是说,该目录中的文件是存放在系统内存之中的,以文件系统的方式访问系统内核数据的操作提供接口。

9.linux内核版本号有主版本号,次版本号,修订版本号,微调版本号,为特定的linux系统特别调校的描述组成

本章对android以及linux做了总体的介绍,刚开始,自己确实不明白什么是Linux驱动,接触的比较少,对核心代码自己并写不出来,感觉十分困惑,但还是认真的看了,学习android驱动开发,实际上就是学习linux驱动开发,android增加了一个HAL

转载于:https://www.cnblogs.com/yqing/p/5438449.html

你可能感兴趣的文章
Java程序员从笨鸟到菜鸟之(九十八)深入java虚拟机(七)深入源码看java类加载器ClassLoader...
查看>>
kickstart及引导镜像制作
查看>>
python进程
查看>>
Vue.js笔记,从入门到精通
查看>>
Skype for Business实战演练之七:创建并发布新的拓扑
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ADMT3.2域迁移之Server2003至Server2012系列(六)安装SQL Server2008
查看>>
webpack源码分析(1)----- webpack.cmd
查看>>
Oracle存在修改,不存在插入记录
查看>>
Java实现欢迎登录学员管理系统
查看>>
自我剖析,坚持有多难?
查看>>
find 指令
查看>>
系统学习redis之六——redis数据类型之set数据类型及操作
查看>>
【简报】帮助开发人员在线了解CSS Filter特性的工具 - CSS FilterLab
查看>>
软考信息系统监理师:2016年4月22日作业
查看>>
META-INF\MANIFEST.MF (系统找不到指定的路径)
查看>>
俄罗斯方块软件:C语言应用初步感受
查看>>
【安全牛学习笔记】收集敏感数据、隐藏痕迹
查看>>
LinkedME|Deep Linking技术你真的了解吗
查看>>