Android学习笔记10&s3c2440学习系列10
来源:互联网 发布:异界之全科技召唤知轩 编辑:程序博客网 时间:2024/06/06 05:48
关于mini2440的开发板的移植,第一步是要多读两遍S3C2440.pdf,以及mini2440原理图.pdf。
在移植设备驱动的时候,更要针对相应的spec来研究。
首先我们从bootloader开始,可以从我前段时间s3c2440学习系列。
开始看起:
在bootloader里面有一个match-type的问题
MACH_TYPE = 782
kernel include/asm/mach-types.h
uboot include/asm_arm/mach-types.h
MACH_TYPE_MINI2440 782
vivi include/platform/smdk2440.h MACH_TYPE 782
要全部对应起来
下面部分是copy网络上的介绍(转过来的)
<!-- /* Font Definitions */ @font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-alt:SimSun;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;}@font-face{font-family:Verdana;panose-1:2 11 6 4 3 5 4 4 2 4;mso-font-charset:0;mso-generic-font-family:swiss;mso-font-pitch:variable;mso-font-signature:536871559 0 0 0 415 0;}@font-face{font-family:"/@宋体";panose-1:2 1 6 0 3 1 1 1 1 1;mso-font-charset:134;mso-generic-font-family:auto;mso-font-pitch:variable;mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal{mso-style-parent:"";margin:0cm;margin-bottom:.0001pt;text-align:justify;text-justify:inter-ideograph;mso-pagination:none;font-size:10.5pt;mso-bidi-font-size:12.0pt;font-family:"Times New Roman";mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;} /* Page Definitions */ @page{mso-page-border-surround-header:no;mso-page-border-surround-footer:no;}@page Section1{size:612.0pt 792.0pt;margin:72.0pt 90.0pt 72.0pt 90.0pt;mso-header-margin:36.0pt;mso-footer-margin:36.0pt;mso-paper-source:0;}div.Section1{page:Section1;}-->
关于Android内核与主线Linux内核不同的地方,夜猫子大侠已经做了分析,分析的比较到位,现在拷贝在这里,标注红色的为与硬件相关的,标注蓝色的是硬件无关的,黑色的部分是笔者目前还不清楚的,有待研究:
(1)基于ARM架构增加Gold-Fish平台,相应增加的目录如下:
kernel/arch/arm/mach-goldfish
kernel/include/asm-arm/arch-goldfish
(2)增加了yaffs2 FLASH文件系统,相应增加的目录为:
kernel/fs/yaffs2
实际上,Android包经过编译后生成的system.img和ramdisk.img文件就是yaffs2格式的包.
3. 增加了Android的相关Driver,相应目录为:
kernel/drivers/android
主要分为:
Android IPC系统: Binder (binder.c)
Android 日志系统: Logger (logger.c)
Android 电源管理: Power(power.c)
Android 闹钟管理: Alarm (alarm.c)
Android 内存控制台: Ram_console (ram_console.c)
Android 时钟控制的gpio: Timed_gpio (timed_gpio.c)
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. 图象显示设备: (FrameBuffer)
kernel/drivers/video/goldfishfb.c
3. 键盘输入设备:
kernel/drivers/input/keyboard/goldfish_events.c
4. RTC设备: (Real TimeClock)
kernel/drivers/rtc/rtc-goldfish.c
5. USBDevice设备:
kernel/drivers/usb/gadget/android_adb.c
这里只要用了支持Android的ADB工具,用于调试
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学习笔记10&s3c2440学习系列10
- Android学习笔记6&s3c2440学习系列7
- Android学习笔记7&s3c2440学习系列8
- Android学习笔记8&s3c2440学习系列9
- s3c2440学习系列1
- s3c2440学习系列2
- s3c2440学习系列3
- s3c2440学习笔记
- S3C2440学习笔记
- s3c2440学习笔记 串口
- s3c2440学习笔记 MMU
- Android学习笔记系列
- 第10讲 s3c2440硬件学习笔记----存储控制器
- s3c2440学习笔记 存储管理器
- Android学习笔记系列开篇
- s3c2440学习系列5(bootloader)
- s3c2440学习系列5(续)
- s3c2440学习系列6(dma)
- [WPF] Binding Enum to ComboBox
- W3M基本使用说明
- 解决UpdatePanel 与 jQuery的冲突
- SQL2005 des加密算法存储过程
- c# Winform 如何实现程序只能同时运行一个实例
- Android学习笔记10&s3c2440学习系列10
- C语言中的各种百分号都代表什么意思
- 2009年的思考
- jsp页面防刷新,提交数据重复
- Ubuntu实现开机进入命令行
- 关于标准库中的ptr_fun/binary_function/bind1st/bind2nd
- BT 应用框架
- 用ioctl获得本地ip地址
- qt for Windows命令行编译问题