[技術] [轉錄]Android 內核的簡單分析

Written on 1:38 上午 by Yu Lai

From: http://www.cnmsdn.com/html/201002/1266986960ID865.html

在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

If you enjoyed this post Subscribe to our feed

No Comment

張貼留言