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. 利用busybox制作根文件系统

    1、busybox源码下载及配置 https://busybox.net/downloads/ 1.1、修改M […]...

  2. linux下启动tomcat服务的命令是什么

    Linux下tomcat服务的启动、关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启 […]...

  3. python进行各类API的使用 – 东京$

    python进行各类API的使用 前言: 献上歌曲一首: 因为快要上学了,昨天晚上熬夜。然后今天早上起床 没有 […]...

  4. ES6中的Symbol

    —恢复内容开始— Symbol 1.1 概述 保证每个属性的名字都是独一无二的就好了, […]...

  5. UGUI的图集处理方式-SpriteAtlas的前世今生

    最糟糕的是人们在生活中经常受到错误志向的阻碍而不自知,真到摆脱了那些阻碍时才能明白过来。 —— 歌德 说到UG […]...

  6. 让流量倍增的网站优化方法

      最近在读一本名为《图解网站分析:让流量倍增的网站优化方法》的书,此书认为,网站分析有以下作用:   1、将 […]...

  7. 【01】MySQL使用入门 (全)

    一、数据库简介 1.数据库概述   ①数据库:是按照某种数据结构对数据进行组织,存储和管理的容器,简单的说就是 […]...

  8. 浏览器主页被hao.qq劫持

    今天重装系统, 一般都是顺手装上QQ电脑管家, 觉得界面还是比较好看的。 但是在装其他软件的时候, 发现edg […]...

展开目录

目录导航