Android系统移植与驱动开发概述

yqing 2021-09-04 原文


Android系统移植与驱动开发概述

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

发表于
2016-04-27 12:53 
cherish丶彘 
阅读(303
评论(0
编辑 
收藏 
举报

 

版权声明:本文为yqing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yqing/p/5438449.html

Android系统移植与驱动开发概述的更多相关文章

随机推荐

  1. Office 2010/2007 简繁体转换按钮不见了?

    注:此文章来自微软官方,原文链接:http://support.microsoft.com/kb/245949 […]...

  2. 损失函数(交叉熵 均方误差)

    损失函数 Question?   是什么?   有什么用?   怎么用? 1 是什么?   损失函数(loss […]...

  3. 解决ssh的\”Write failed: Broken pipe\”问题

    用 ssh 命令连接服务器之后,如果一段时间不操作,再次进入 Terminal 时会有一段时间没有响应,然后就 […]...

  4. 前端面向对象理解

    <!DOCTYPE html> <html lang="en"> <head&g […]...

  5. SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议

    SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议 实验环境: Kali msf以及wiresh […]...

  6. UWP 手绘视频创作工具技术分享系列 – 有 AI 的手绘视频

    AI(Artificial Intelligence)正在不断的改变着各个行业的形态和人们的生活方式,图像识别 […]...

  7. 每日一问:讲讲 JVM 的类加载机制

    前面给大家讲解了 Java 虚拟的内存结构 以及 Java 虚拟机的垃圾回收机制,我们更加明白了 Java 的 […]...

  8. 微博立场检测 60分Baseline

    AI研习社最近举办了一个比赛——微博立场检测,实际上就是一个NLP文本分类的比赛 Baseline—FastT […]...

展开目录

目录导航