Android移植到博创S3C2410箱-结题答辩-TeamPal-软件.PPTVIP

Android移植到博创S3C2410箱-结题答辩-TeamPal-软件.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android移植到博创S3C2410箱-结题答辩-TeamPal-软件

Android开源项目向博创2410实验箱上的移植 指导老师:孟宁 小组成员 责任矩阵 报告内容 项目概述 设计目标 设计思路 移植过程 重点和难点 项目总结 参考文献 项目概述 Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名为软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以java编写。 我们移植的Android系统其内核版本为linux-2.6.25。 Android体系结构 设计目标 将Android成功移植到博创的2410试验箱上; 添加和修改最基本的驱动程序; 系统运行后能进行最基本的操作; 编写一简单应用程序,使之能在系统中成功运行 设计思路 该设计思路遵循嵌入式系统移植的基本思路: 移植过程 搭建交叉编译环境 将交叉编译工具arm-linux-none-gnu解压到工作目录,然后设置环境变量: 打开用户主目录下的.bashrc,在这个文件中加入export PATH=$PATH:/.../ arm-linux-none-gnu/bin 修改内核根目录下的Makefile文件,设置交叉编译工具的路径: ARCH?= arm CROSS_COMPILE=…/ arm-linux-none-gnueabi- 移植过程 修改VIVI bootloader,因为博创2410自带的VIVI的MTD分区表默认如下。可以看只给内核分1M空间和根文件系统3M空间,而实际Android内核编译后大于1M,根文件系统也大于3M,所以修改要修改VIVI 移植过程 找到VIIV的arch/s3c2410/smdk.c ,修改NAND flash分区如下: 移植过程 修改后分区的大小要跟arch\arm\plat-s3c24xx\common-smdk.c中分区相同,如下: 移植过程 添加和修改驱动程序 本小组所完善的驱动程序主要有LCD驱动、USB接口驱动、网卡驱动、触摸屏驱动。 LCD驱动 1)修改arch/arm/mach-s3c2410/mach-smdk2410.c文件,添加头文件#include asm/arch/fb.h 2)添加初始化s3c2410的LCD控制器时所需的参数 3)添加LCD控制器的寄存器参数设置函数 ,查找smdk2410_init,添加如下代码:? static void __init smdk2410_init(void) ? {? ? ? ? ? ? ? ? s3c24xx_fb_set_platdata(qt2410_lcd_info);//设置LCD控制 器的寄存器参数 } 移植过程 USB驱动 因Linux2.6版本的内核已有完善的usb驱动程序,因此只需在arch/arm/mach-s3c2410/mach-smdk2410.c中添加 usb接口相关的初始化信息: 1)添加Usb接口相关的结构体: struct s3c2410_hcd_info usb_s3c2410_info = { .port[0] = { .flags = S3C_HCDFLG_USED }};? 2) 移植过程 移植过程 3)在smdk2410_map_io函数最后添加: smdk2410_usb_init(); 博创2410-S所配网卡AX88796(NE2000兼容网卡)驱动 1)修改arch/arm/目录下的Kconfig文件,增加ISA总线支持,使其在make menuconfig 时出现NE2000的网卡配置选项 2)修改include/asm-arm/arch-s3c2410文件夹下的map.h文件。加入AX88796的地址映射 3)修改arch/arm/mach-s3c2410文件夹下的mach-smdk2410.c文件。在smdk2410_iodesc 中加入AX88796的地址信息。 4)修改网卡驱动的主要文件drivers/net/ne.c 移植过程 触摸屏驱动 1)首先打一个补丁:s3c2410_touchscreen.patch,该补丁主要是在设备文件、配置文件已经驱动程序中添加与触摸屏相关的数据、参数和方法。 2) arch/arm/mach-s3c2410/mach-smdk2410.c中添加与触摸屏相关的结构体:

文档评论(0)

ailuojue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档