第一章读书笔记

ndroid系统移植的主要工作

系统移植:让android操作系统在某一个特定平台上运行,条件是 操作系统支持硬件平台的CPU架构、移植linux驱动、移植HAL(HAL位于第二层,android SDK通过HAL直接访问linux驱动),后两个是android系统移植的主要工作。

应用移植:第四层的应用程序一直到一个特定平台上,由于硬件平台之间有差异,android SDK API有可能存在差异,需要对源代码进行修改,并不涉及驱动和HAL程序库。

说到 Android 驱动是离不开 Linux 驱动的。Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码)。但 Android 并没有完全照搬 Linux 系统内核,除了对Linux 进行部分修正,还增加了不少内容。android 驱动 主要分两种类型:Android 专用驱动 和 Android 使用的设备驱动(linux)。

Android 专有驱动程序:

1)Android Ashmem 匿名共享内存; 为用户空间程序提供分配内存的机制,为进程间提供大块共享内存,同时为内核提供回收和管理这个内存。

2)Android Logger    轻量级的LOG(日志) 驱动;

3)Android Binder     基于 OpenBinder 框架的一个驱动;

4)Android Power Management  电源管理模块;

5)Low Memory Killer  低内存管理器;

6)Android PMEM        物理内存驱动;

7)USB Gadget             USB 驱动(基于 gaeget 框架);

8)Ram Console           用于调试写入日志信息的设备;

9)Time Device             定时控制设备;

10)Android Alarm         硬件时钟;

Android 上的设备驱动:

1)Framebuff 显示驱动;

2)Event 输入设备驱动;

3)ALSA 音频驱动;

4)OSS 音频驱动;

5)v412摄像头:视频驱动;

6)MTD 驱动;

7)蓝牙驱动;

8)WLAN 设备驱动;

时间: 2024-10-15 15:32:16

第一章读书笔记的相关文章

《内核设计与实现》第一章读书笔记

<内核设计与实现>第一章读书笔记 第一章:Linux内核简介 1.1 Unix的历史 Unix强大的特点 A.简洁,几百个系统调用,明确的设计目的 B.文件对待所有东西 C.移植性强(C语言) D.进程创建快,使用fork()系统调用. E.进程间通信元语,进程间通信机制 1.2 linux的简介 Linux系统的基础是内核.C库.工具库和系统的基本工具. 1.3 操作系统和内核简介 内核:管理者,操作系统的核心 通常一个内核由负责响应中断的中断服务程序和网络.进程间通信等系统服务共同组成.

《现代前端技术解析》第一章读书笔记(未完成)

今天是2017年6月26日,星期一,开始从第一章看起.第一章主要讲的是前端技术的发展概况以及一些必须掌握的浏览器基础知识与常用开发技术. 页面内容多而复杂,为了保证开发效率,我们可以借助符合特定场景的前端框架来提高开发效率,例如使用JQuery丶MVVM等开发框架,对常用的 HTML DOM 操作进行高效封装,大大简化开发工作量,提高效率. 前端项目代码越来越多丶结构越来越复杂,我们必须考虑用模块化和组件化的思路来管理.所谓的模块化和组件化是指采用代码管理中分治的思想,将复杂的代码结构拆分成多个

《构建之法》第一章读书笔记

工程有了一个初步的了解.介绍了软件工程里的一些基本概念,软件开发的几个阶段.软件工程的特殊性.目标以及软件工程与计算机科学之间的联系与区别.    软件工程作为一门新兴的学科,是连接计算机硬件和传统机械工程的一个桥梁.起先,我所认为的软件工程单纯的只是编程,通过算法实现正确的输出而已.但在构建之法的第一章中,我认识到会写程序只是一个合格的软件工程师最基本的素质.一个完整的项目,应该在需求分析,软件构架设计.代码实现.程序测试.软件发布运营及维护每个阶段都尽职尽责,并结合用户体验去完善软件的每一个

&lt;java编程思想&gt;第一章读书笔记二

7.伴随多态的可互换对象 前面说了继承,我们知道继承中存在基类(父类)以及导出类(子类),不知道大家有没有遇到过这种情况?就是在向一个方法中传递一个对象作为参数时,我们往往会选择传递一个基类而不是一个子类,为什么要这么做呢?其实原因也很简单,说的高大上一点就是这样做有利于代码的健壮性和可扩展性,说的详细还是有利于代码的健壮性和可扩展性,更重要的也就是可扩展性. 还拿喝可乐的例子来说,如果你传递的参数对象是可乐,那么不管你是给我百事可乐还是可口可乐我都可以接受啊,但是如果你传递的参数仅仅是百事可乐

Android系统移植与驱动开发第一章读书笔记

最近,认真学习了Android深度探索的第一章内容——Android系统移植与驱动开发概述,了解了Android是基于Linux内核的.这一章作为学习Linux驱动的基础,对Android以及Linux驱动做了总体的介绍,为之后的学习打下良好的基础. Android作为优秀的嵌入式操作系统,其系统架构可分为四层,通过学习,清楚的明白了每一层的作用以及功能.Android移植可分为两部分:应用移植和系统移植.应用移植是指将应用程序移植到某一个特定硬件平台上.系统移植是指让Android操作系统在某

《CSS那些事儿》第一章读书笔记

css语法结构: selector{property:value:} 属性值名称过长且带有空格,要用引号包含,如"sans serif" css中的注释: /*this is a comment*/ css中的简写: 颜色  十六进制形式#RRGGBB RGB函数值形式RGB(x,x,x) x可为0-255数值,也可以是0-100%百分数(但是与255乘积必须是整数) 直接写颜色名,如 red yellow等 用户系统色盘值 当数值为0的时候,单位可省略: border属性简写:wid

第一章读书笔记--关于View

Chapter1 Views Chapter1 Views The Window Experimenting With Views Subview and SuperView 可见性和透明度Visibility and Opacity Frame Bounds and Center 窗口坐标和屏幕坐标 Transform Trait Collection and Size Classes Layout 1 Autoresizing 2 AutoLayout 21 Constraints 22 A

Android深度探索--HAL与驱动开发----第一章读书笔记

1.1   Android拥有非常完善的系统构架可以分为四层: 第一层:Linux内核.主要包括驱动程序以及管理内存.进程.电源等资源的程序 第二层:C/C++代码库.主要包括Linux的.so文件以及嵌入到APK程序中的NDK代码 第三层:android SDK API 直接面向应用程序的Java APK 第四层:应用程序.直接面向最终用户的Java应用程序 1.2  Android系统移植的主要工作 Android移植可以分为应用移植和系统移植两个部分.(本书对移植没有太多的介绍) Andr

《深入理解计算机系统》 第一章读书笔记

最近开始啃CSAPP,买了英文版,看得比较慢.只有先理解系统才能在更多方面学的更明其实质 Chapter1: * 一份hello.c代码的编译分为四个阶段:1.Pre-processor:编译预处理,就是把#include后面的库代码加入到程序中,生成hello.i的文件. 2.Complier:用编译器把hello.i的C代码翻译成汇编语言,并生成:hello.s文件.(汇编语言是高级语言转为机器码的一个中间过程) 3.Assembler:汇编机把汇编语言翻译成机器二进制代码,生成hello.