android linux kernel VS standard linux kernel
在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
5. 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 linux kernel VS standard linux kernel相关推荐
- linux kdump文件 生成,linux kdump搭建
本文将以centos系统为例,说明kdump的配置. 什么是kdump kdump 是一种crash dump捕获机制,用来捕获kernel crash时候产生的crash dump. kdump需要 ...
- Android kernel和标准Linux Kernel的差异
在这里http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Porting-Android-to-a-new-device/发现一 ...
- Android系统启动流程 -- bootloader、linux kernel、android
转载:http://blog.csdn.NET/arnoldlu/article/details/8264721 目录: 第一部分:Bootloader启动 一.Bootloader的定义和种类 二. ...
- Android 驱动(17)---如何在linux中添加新的kernel module
如何在linux中添加新的kernel module 该SOP针对客户如何添加一个kernel module,并把生成的.ko打包进system.img的过程. 解决方案 L版本(version> ...
- Linux Kernel - Debug Guide (Linux内核调试指南 )
linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 ...
- g++ linux 编译开栈_使用 linux kernel +busybox 定制linux系统
写在开头: 本来是想使用linux kernel +busybox 制作一个教程的,后来快要结束的时候,死活找不到硬盘,我了解很多文章都有类似的,但是没有谈到硬盘找不到问题,最后历经艰辛,终于把问题解 ...
- linux 内核调试 booting the kernel.,Uncompressing Linux...done, booting the kernel解决办法
u-boot是好的,是刚移植成功的,用其他的内核跑过没问题.所以皇莡-boot传参有问题,问题就是出在我移植的内核上面. 我用的是mini2440的配置,linux2.6.35的内核.网上找了很多资料 ...
- linux 内核 3.18,Linux Kernel 3.18 正式版发布下载
Linux Kernel 是所有 Linux 发行发布的核心,Linux Kernel 一直由 Linux 之父 Linus Torvalds 维护,Linux Kernel 新版本可支持intel. ...
- linux 内核rt,实时操作系统kernel rt
https://blog.csdn.net/baidu_34045013/article/details/78886617 实时应用程序在某些触发事件和应用程序对该事件的响应之间有操作截止日期.为了满 ...
最新文章
- Xilinx FPGA 芯片命名规则与查询方法
- [LeetCode]547. Friend Circles朋友圈数量--不相邻子图问题
- Spring Framework总览面试题精选
- servlet和filter的区别
- 17 | 如何正确地显示随机消息?
- java中runnable_Java:在Runnable中处理RuntimeException
- zabbix之web监控
- FTP服务的简介和配置详解
- caffe学习日记--lesson4:windows下caffe DEMO (mnist and cifar10)
- 集腋成裘-13-git使用-02进阶篇
- Python基础--01
- Latex安装教程(附美赛论文latex模板)
- linux 6.4 multipath.conf跟其他版本的区别,宏杉与其他厂商存储共用multipath的配置方法...
- 新网站收录及备忘录网址
- 编译安装Greenplum源码包
- 洛谷—— P1069 细胞分裂
- Qt使用QMediaplayer实现视频播放和简易音乐播放
- 后端返回的类型都有哪些 如何处理这些数据类型?
- 与编程密切相关的数学——离散数学——代数系统篇
- 【Java的垃圾回收】
热门文章
- 【动画技巧】在Flash中自定义鼠标外观
- PowerDesigner(1)----转载
- Exchange2003配置垃圾邮件实时黑名单RBL
- php csv 类,php csv操作类代码 - trim
- oracle locked time,ORACLE distributed_lock_timeout参数
- mysql 相邻记录时间差_sql 相邻2条记录时间差比较
- Array with Odd Sum CodeForces - 1296A
- Remove One Element(贪心)
- Just h-index(主席树+二分)
- adas功能受限_高级驾驶辅助系统(ADAS)的主要功能有哪些?