Android驱动月考1

第一章 Andorid系统移植与驱动开发概述 - 读书笔记

1.Android系统的架构:

(1)Linux内核,Android是基于Linux内核的操作系统,并且开源,所以Android与Ubuntu等操作系统的差别很小,并且这一层主要是操作系统核心,包括进程线程的调度和内存、电池管理,都是一些常驻内存的核心服务。

(2)C/C++代码库,这一层主要都是.so文件,.so文件常见在编译之后产生,包括PHP的运行so。同时这一层也包含虚拟机的Runtime。

(3)Android SDK API,安卓的SDK的接口,由Java编写,由此大部门的Android应用都是利用Java开发的,同时方便调用各种API。

(4)最上一层同时也是应用层,主要包括一些用户所开发的Application,也相当于UI层,主线程常活跃在此层,同时使用异步调用其他线程,主要依赖Android SDK API层进行开发和调用的。

2.Linux内核

(1)查看Linux的内核版本,Linux驱动都有一个装在函数和卸载函数,通过mobule_init()/mobule_exit()来调用。

使用shell命令,uname -a可以查看Linux的内核版本,同时也可以查看cat /proc/version文件以便查看内核版本。

3.了解Linux驱动,以LED为例子进行对Linux的内核驱动进行学习,

4.在学习Android驱动开发同时其实也是在进行Linux驱动的开发和学习,因为Android的底层是由Linux为内核构建的,如果想要精通Android就必须掌握Linux的内核原理以及应用的开发。

第一章 Andorid系统移植与驱动开发概述 - 读书笔记的更多相关文章

  1. 第一章Android系统移植与驱动开发概述--读书笔记

    以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...

  2. 第一章 Android系统移植与驱动开发概述

    本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...

  3. Android深度探索HAL和驱动开发(卷1) 第一章 Android系统移植和驱动开发

    由于Android是基于Linux内核的,因此,Android和其他Linux系统的核心部分差异非常小.然而不同版本的Android使用的Linux内核的版本有细微的差异,所以不同Android驱动可 ...

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

    1.Android系统架构分为四层,从下至上依次为Linux内核层,C/C++代码库.Android SDK API.应用程序,要熟悉每一层的内容以及功能: 2.Android移植分为应用移植和系统移 ...

  5. 第一章:Android系统移植与驱动开发概述

    Android是基于Linux内核的,与Linux内核没有太大的区别,只是增加了一些自己独有的驱动,随着Android发布版本的不断升级,他所使用的Linux内核也在不断升级,以适应新的安卓版本,为他 ...

  6. Android系统移植与驱动开发----第一章

    第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括 ...

  7. Android 系统移植与驱动开发--第二章搭建Android环境核心步骤及心得

    第二章 搭建Android 开发环境 虽然在这一章中讲的是Android底层开发环境,但是相应伴随的还有Android NDK程序来测试Linux驱动,HAL程序库.底层开发不仅需要交叉编译环境,还要 ...

  8. Android系统移植与驱动开发

    21世纪,Android发展非常迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是因为任何人都可以利用Android的源代码定制完全属于自己的嵌入式开发系统,而不需要向Google交一分钱. ...

  9. Android系统移植与驱动开发--第四章

    第四章 源代码的下载和编译 一个android内核相当于4G,而一个Linux内个只有几百M,Linux内核相对于android内核来说实在是小巫见大巫.了解android源代码不一定要详细了解,只去 ...

随机推荐

  1. jquery EasyUI

    http://stackoverflow.com/questions/9103633/how-to-make-drag-and-drop-docking-panels 13:18:02 F1 2015 ...

  2. MySQL初探

    慕课网http://www.imooc.com/learn/122 课程学习笔记     修改MySQL提示符        shell>mysql --prompt 提示符        my ...

  3. Kali Linux additional tools setup

    The steps are pretty straight forward. The only tool that might cause some confusion is SMBexec. Thi ...

  4. 王爽< 汇编语言>实验十二

    ;此乃安装程序 ;功能:将8086cpu中断类型码为0 的中断向量设置为我们编写的中断服务程序入口地址 ;该中断在除法发送溢出的时候产生 assume cs:code code segment mai ...

  5. 副本限制修改-M端

    魔兽的副本很多,也有很多副本都有进入的限制,比方说最普遍的,有些副本有级别限制,没达到要求的级别是不能进入对应副本的还有些副本是有任务需求限制,比方说黑翼副本,需要做完一个任务之后才可以进入副本当然, ...

  6. gui2

    事件:描述发生了什么的对象. 存在各种不同类型的事件类用来描述各种类型的用户交互. 事件源:事件的产生器. 事件处理器:接收事件.解释事件并处理用户交互的方法. 比如在Button组件上点击鼠标会产生 ...

  7. 使用 openssl 生成证书

    一.openssl 简介 目前最流行的 SSL 密码库工具官网:https://www.openssl.org/source/ 构成部分 密码算法库 密钥和证书封装管理功能 SSL通信API接口 用途 ...

  8. JQuery实现列表中复选框全选反选功能封装

    我们在做列表的时候经常会遇到全选,反选进行批量处理问题,例如: 我当时就是简单的实现了,然后想封装到公共的js中,封装的太烂,不好意思贴出来了(就是把实现代码之间放到公共js中,然后每个页面都用固定的 ...

  9. app升级方法

    1.到那里找apk? (1)Android Studio菜单Build->Generate Signed APK     (2)弹出窗口     (3)创建密钥库及密钥,创建后会自动选择刚创建的 ...

  10. TensorFlow官方文档中文版

    github地址: https://github.com/jikexueyuanwiki/tensorflow-zh