Chinaunix首页 | 论坛 | 博客
  • 博客访问: 102288
  • 博文数量: 25
  • 博客积分: 997
  • 博客等级: 准尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-16 18:40
文章分类

全部博文(25)

文章存档

2012年(1)

2011年(16)

2010年(8)

我的朋友

分类: LINUX

2011-03-09 17:50:59

Android内核的简单分析

  在kernel子目录下存放的就是Android的Linux Kernel了, 通过和标准的Linux 2.6.25 Kernel的对比,我们可以发现,其主要增加了以下的内容:

  1. 基于ARM架构增加Gold-Fish平台,相应增加的目录如下:

  kernel/arch/arm/mach-goldfish

  kernel/include/asm-arm/arch-goldfish

  Gold-Fish平台采用的是ARM926T CPU作为BaseBand处理器, 该CPU主频至少为200M HZ. 采用MSM7201A CPU(ARM 11)作为主CPU, 其主频为528M HZ.

  2. 增加了yaffs2 FLASH文件系统,相应增加的目录为:

  kernel/fs/yaffs2

  实际上,Android包经过编译后生成的system.img和ramdisk.img文件就是yaffs2格式的包.

  3. 增加了Android的相关Driver,相应目录为:

  kernel/drivers/android 

  主要分为:

  Android IPC系统:       Binder

  Android 日志系统:       Logger

  Android 电源管理:       Power

  Android 闹钟管理:       Alarm 

  Android 内存控制台:     Ram_console

  Android  时钟控制的gpio: Timed_gpio

  4. 增加了switch处理, 相应的目录为:

  kernel/drivers/switch/   


  5. 增加了一种新的共享内存处理方式, 相应增加的文件为:

  kernel/mm/ashmem.c  

          
  6.  其他为Linux-2.6.25内核所做的补丁等等,例如BlueTooth, 在此不做详细分析


  另外GoldFish平台相关的驱动文件如下:

  1. 字符输出设备:

  kernel/drivers/char/goldfish_tty.c    

  2. 图象显示设备: (Frame Buffer)

      kernel/drivers/video/goldfishfb.c 

  3. 键盘输入设备:

  kernel/drivers/input/keyboard/goldfish_events.c

  4. RTC设备: (Real Time Clock)

  kernel/drivers/rtc/rtc-goldfish.c

  . USB Device设备:

  kernel/drivers/usb/gadget/android_adb.c

  6. SD卡设备:

  kernel/drivers/mmc/host/goldfish.c
     
  7. FLASH设备:

  kernel/drivers/mtd/devices/goldfish_nand.c

  kernel/drivers/mtd/devices/goldfish_nand_reg.h

  8. LED设备:

      kernel/drivers/leds/ledtrig-sleep.c

  9. 电源设备:

      kernel/drivers/power/goldfish_battery.c

  10. 音频设备:

       kernel/arch/arm/mach-goldfish/audio.c

  11. 电源管理:

  kernel/arch/arm/mach-goldfish/pm.c

  12. 时钟管理:

  kernel/arch/arm/mach-goldfish/timer.c

   以上为Android内核的大致分析,希望能给有兴趣的人员以简单帮助。

阅读(1464) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~