《Android底层开发技术》学习总结

《Android底层开发技术实战详解——内核、移植和驱动》学习总结整本书看的比较粗,了解个大概,以后需要的时候,可以针对性的学习!

Android与Linux的关系Linux Kernel的版权是GPL(General Public License),它要求对源代码的任何修改都必须开源。Android的Kernel采用的GPL,但Android采用ASL(Apache Software License),不必开源。Google特意修改了Kernel,将某些功能转移到上层HAL(Hardware Abstraction Layer)中。因此,从2010年2月,即Linux2.6.33起,Android Kernel已经从Linux Kernel中删除。

三种内核1、Goldfish,它是由Google提供的一种虚拟的ARM处理器,在Android的仿真环境中使用。2、MSM(Mobile Station Modem),它是由美国高通(Qualcomm)公司提供的ARM处理器芯片组。3、OMAP(Open Multimedia Application Platform),它是由美国德州仪器(Texas Instruments,简称TI)公司提供。

三类驱动程序1、字符设备2、块设备3、网络设备

两种驱动类型1、专用驱动,非Linux标准,纯软件2、设备驱动

Android专用驱动1、Staging,分期,分段,脚手架Binder,进程间通信Logger,日志系统LowMemoryKiller,低内存处理Timed Output,定时输出Timed GPIO,定时GPIORam Console,内存控制台2、WakeLock和early_suspend,休眠,唤醒3、Ashmem(Alocate SHare MEMory),内存映射与共享4、Pmem(Physical MEMory),物理内存共享,不一定连续5、Alarm,硬件时钟6、USB Gadget,USB设备驱动7、Paranoid,网络驱动

Android设备驱动FrameBuffer,屏幕显示Keyboard,键盘RTC(Real Time Clock),实时时钟TTY(TeleTYpe),终端,串口NandFlash,硬盘,FLASH存储器MMC(MultiMedia Card),存储卡Battery,电池

显示系统(LCD,VGA)FrameBufferSurfaceFlingerGralloc

输入系统(键盘,触摸屏,轨迹球)事件:MotionEvent,KeyEvent配置文件:kl=KeyLayout,kcm=KeyCharacterMap

音频系统AudioFlingerALSA(Advanced Linux Sound Architecture),MIDI

视频输出系统主显示区,RGB;额外显示区,YUVOverlay(FrameBuffer,V4L2=Video for Linux 2)

多媒体框架OpenMAX,底层驱动OpenCORE,复杂,稳定StageFright,简单,后入

照相机系统V4L2=Video for Linux 2Camera HAL

电话系统(通话Call,短信SMS,数据连接,SIM卡,电话本)MODEM调制(Modulator)解调器(Demodulator)RIL(Radio Interface Layer),AT命令其他WIFI,,Bluetooth蓝牙,GPS(Global Positioning System)Alarm报警器,Light光,Battery电池Vibrator振动器Sensor传感器

版权声明:本文为博主原创文章,未经博主允许不得转载。

太过于近,彼此身上隐性的刺又会深深的伤害对方。

《Android底层开发技术》学习总结

相关文章:

你感兴趣的文章:

标签云: