### 移植Android到mini2440的关键步骤与注意事项 #### 1. 移植环境设置 在开始移植Android到mini2440之前,首先需要准备好合适的移植环境。根据给定的内容,本例中的移植环境配置如下: - **目标平台**:友善之臂mini2440 - **主机操作系统**:Fedora 8 - **内核版本**:Linux 2.6.25 - **编译器**:使用mini2440光盘中提供的编译器 #### 2. 内核移植 ##### 2.1 参考资料 移植过程中参考了以下资源,这些资料对于理解和解决移植过程中遇到的问题非常有帮助。 - [将Android移植到mini2440的过程](http://blog.chinaunix.net/u2/85263/showart_1729098.html) - [Android移植教程](http://blog.chinaunix.net/u/26691/showart_468007.html) - [嵌入式系统学习](http://embstudy.org/home/space.php?uid=5) - [CSDN博客](http://blog.csdn.net/tekkamanitachi) ##### 2.2 进展与缺陷 截至2009年7月17日,项目取得了一定的进展,同时也存在一些尚未解决的问题。 - **进展**: - 成功显示了Android的Home界面,大钟已出现在屏幕上; - 实现了触摸屏、LCD以及RTC等关键硬件驱动的开发。 - **缺陷**: - 触摸屏触摸后能在控制台上打印坐标,但在Android系统层面没有反应; - 时钟显示静止,未能正常工作。 ##### 2.3 移植准备 在正式开始移植之前,需要对移植对象有一个基本的了解。具体而言,移植过程主要包括两个方面的工作: - **Android与主线内核的不同之处**:这部分涉及到Android为了适应其特定需求而对标准Linux内核进行的定制和优化。 - **硬件平台相关的部分**:这部分则是针对mini2440这一特定硬件平台所作的调整。 为了完成移植任务,采取了以下策略: 1. **下载Android内核**:从[Google Code](http://code.google.com/p/android/downloads/list)下载`linux-2.6.25-android-1.0_r1.tar.gz`作为基础。 2. **去除与G1手机硬件平台相关的代码**:保留Android内核对主线内核所做的修改,但移除那些只适用于G1手机的特定硬件代码。 3. **添加与mini2440硬件平台相关的代码**:这部分是移植工作的核心,需要根据mini2440的具体特性来编写或修改代码。 #### 3. Android内核与主线Linux内核的区别 接下来,我们具体分析一下Android内核与主线Linux内核之间的区别。 - **基于ARM架构增加Gold-Fish平台**: - **内核路径**:`kernel/arch/arm/mach-goldfish` - **头文件路径**:`kernel/include/asm-arm/arch-goldfish` - **新增yaffs2文件系统**: - **路径**:`kernel/fs/yaffs2` - **作用**:用于存储系统镜像文件system.img和ramdisk.img - **新增Android相关驱动**: - **路径**:`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`) - **新增Switch处理**: - **路径**:`kernel/drivers/switch/` - **新增共享内存处理方式**: - **文件**:`kernel/mm/ashmem.c` - **GoldFish平台相关驱动**: - 字符输出设备:`kernel/drivers/char/goldfish_tty.c` - 图像显示设备 (FrameBuffer):`kernel/drivers/video/goldfishfb.c` - 键盘输入设备:`kernel/drivers/input/keyboard/goldfish_events.c` - RTC设备 (实时时钟):`kernel/drivers/rtc/rtc-goldfish.c` - USB设备:`kernel/drivers/usb/gadget/android_adb.c` - SD卡设备:`kernel/drivers/mmc/host/goldfish.c` 通过上述步骤和技术细节的介绍,可以更好地理解如何将Android系统成功移植到mini2440硬件平台上。在整个过程中,需要关注每一个环节,确保所有关键组件都能正确地集成在一起,从而实现预期的功能。
剩余7页未读,继续阅读
- 粉丝: 3
- 资源: 120
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助