




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑Android移植到FS2410开发板分析一、目前进展
1.Android已经可以通过NFS在FS2410开发板上运行
二、目前缺陷
1.触摸屏没有校准
2.Android中时钟停止,结束zygote进程,系统重启,时钟更新,但再次停止不动
3.串口无法与GPRS模块通讯
三、移植步骤
一、移植Android内核到FS2410开发板上
1、linux-2.6.25-android-1.0_r1.tar.gz
2、将内核解压到用户目录,如/home/wangan/kernel.git
3、进入kernel.git文件夹,如cd~/kernel.git/
4、修改arch/arm/plat-s3c24xx/common-smdk.c文件中的nandflash分区设置,如geditarch/arm/plat-s3c24xx/common-smdk.c
修改staticstructmtd_partitionsmdk_default_nand_part[]结构体为:
staticstructmtd_partitionsmdk_default_nand_part[]={
[0]={
.name="BootAgent",
.size=SZ_256K,
.offset=0,
},
[1]={
.name="LinuxKernel",
.offset=SZ_256K,
.size=SZ_2M-SZ_256K,
},
[2]={
.name="FileSystem",
.offset=SZ_2M,
.size=SZ_32M-SZ_2M,
},
[3]={
.name="Other",
.offset=SZ_32M,
.size=SZ_32M,
}
};
5、在网站上IA32GNU/LinuxTAR。
6、将文件解压到用户目录,如/home/wangan/arm-2022q3
7、进入arm-2022q3/bin文件夹,如cd~/arm-2022q3/bin/
8、添加当前路径进入环境变量,如exportPATH=$PWD:$PATH,或修改~/.bashrc文件并重新登录
9、进入内核文件夹,如cd~/kernel.git/
10、修改Makefile文件,如geditMakefile
更改ARCH和CROSS_COMPILE
#ARCH?=$(SUBARCH)
ARCH?=arm
#CROSS_COMPILE?=arm-eabi-
CROSS_COMPILE?=arm-none-eabi-
11、从华清远见Linux-内核压缩包中提取。config文件(注意:config前面有个“。”)放入kernel.git文件夹
12、运行makemenuconfig
(1)确保SystemTypeARMsystemtype()中的内容为SamsungS3C2410,S3C2412,S3C2413,S3C2440,S3C2442,S3C2443
(2)确保SystemTypeS3C2410Machines[*]SMDK2410/A9M2410被勾选
(3)取消选择与Goldfish相关的内容
DeviceDriversCharacterdevicesGoldfishTTYDriver
DeviceDriversPowersupplyclasssupportGoldfishbatterydriver(NEW)
DeviceDriversRealTimeClockGOLDFISH(NEW)
DeviceDriversGraphicssupportSupportforframebufferdevicesGoldfishFramebuffer
(4)选择S3C2410LCD相关的内容
S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer,I/O口,RTC,8路10位ADC,TouchScreen接口,IIC-BUS接口,IIS-BUS接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器可运行在203MHz。
DeviceDriversGraphicssupportSupportforframebufferdevices*S3C2410LCDframebuffersupport
DeviceDriversGraphicssupport[*]Bootuplogo[*]StandardblackandwhiteLinuxlogo
DeviceDriversGraphicssupport[*]Bootuplogo[*]Standard16-colorLinuxlogo
DeviceDriversGraphicssupport[*]Bootuplogo[*]Standard224-colorLinuxlogo
(5)选中Android内核必须选项
KernelFeatures[*]UsetheARMEABItocompilethekernel
Generalsetup[*]Usefullshmemfilesystem
Generalsetup[*]EnableAndroid'sSharedMemorySubsystem
SystemType[*]SupportThumbuserbinaries
DeviceDriversAndroid[*]Androidlogdriver
DeviceDriversAndroid*BinderIPCDriver
(6)尽量选中Android内核可选选项
DeviceDriversAndroid[*]RAMbufferconsole
DeviceDriversAndroid[*]Androidtimedgpiodriver
DeviceDriversAndroid[*]Onlyallowcertaingroupstocreatesockets
(7)其余CONFIG选项,如系统支持请一并选择
CONFIG_ANDROID_POWER=y
CONFIG_ANDROID_POWER_STAT=y
CONFIG_ANDROID_POWER_ALARM=y
(可以在Kconfig文件中查找ANDROID_POWER等字段进行选择,或者直接修改。config文件)
13、退出并保存。config
二、移植LCD驱动到Linux-2.6.25内核
Linux是的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux早是由芬兰黑客LinusTorvalds为尝试在英特尔x86架构上提供自由的类Unix操作系统而开发的。该计划开始于1991年,在计划的早期有一些Minix黑客提供了协助,而今天无数程序员正在为该计划无偿提供帮助。技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。
如果Linux内核的可移植性和效率还不够好,Linux还提供了其他一些特性,它们无法划分到上面的分类中。作为一个生产操作系统和开源软件,Linux是测试新协议及其增强的良好平台。Linux支持大量网络协议,包括典型的TCP/IP,以及高速网络的扩展(大于1GigabitEthernet[GbE]和10GbE)。Linux也可以支持诸如流控制传输协议(SCTP)之类的协议,它提供了很多比TCP更的特性(是传输层协议的接替者)。
Linux还是一个动态内核,支持动态添加或删除软件组件。被称为动态可加载内核模块,它们可以在引导时根据需要(当前特定设备需要这个模块)或在任何时候由用户插入。Linux的一个增强是可以用作其他操作系统的操作系统(称为系统管理程序)。近,对内核进行了修改,称为基于内核的虚拟机(KVM)。这个修改为用户空间启用了一个新的接口,它可以允许其他操作系统在启用了KVM的内核之上运行。除了运行Linux的其他实例之外,Microsoft?Windows?也可以进行虚拟化。惟一的限制是底层处理器必须支持新的虚拟化指令
1、进入kernel.git文件夹,如cd~/kernel.git/
2、修改arch/arm/mach-s3c2410/mach-smdk2410.c文件,如geditarch/arm/mach-s3c2410/mach-smdk2410.c
(1)增加头文件#includeasm/arch/fb.h
(2)增加两给结构体
staticstructs3c2410fb_displaysmdk2410_lcd_cfg__initdata={
.lcdcon5=S3C2410_LCDCON5_FRM565|
S3C2410_LCDCON5_INVVLINE|
S3C2410_LCDCON5_INVVFRAME|
S3C2410_LCDCON5_PWREN|
S3C2410_LCDCON5_HWSWP,
.type=S3C2410_LCDCON1_TFT,
.width=320,
.height=240,
.pixclock=174757,
.xres=320,
.yres=240,
.bpp=16,
.left_margin=16,
.right_margin=59,
.hsync_len=9,
.upper_margin=2,
.lower_margin=6,
.vsync_len=16,
};
staticstructs3c2410fb_mach_infosmdk2410_fb_info__initdata={
.displays=smdk2410_lcd_cfg,
.num_displays=1,
.default_display=0,
.gpccon=0xaa955699,
.gpccon_mask=0xffc003cc,
.gpcup=0x0000ffff,
.gpcup_mask=0xffffffff,
.gpdcon=0xaa95aaa1,
.gpdcon_mask=0xffc0fff0,
.gpdup=0x0000faff,
.gpdup_mask=0xffffffff,
.lpcsel=0xf82,
};
(3)在smdk2410_ini
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蓝牙智能家居设备认证标准研究-全面剖析
- 跨境税收筹划策略研究-全面剖析
- 跨界合作用户行为影响-全面剖析
- 工业互联网平台同态加密技术在工业设备设备生产环境监测中的可行性分析报告
- 新能源汽车产业链投资银行融资模式创新与市场分析报告
- 展览会场照明效果提升计划
- 2025年广告设计师专业知识考核试卷:广告创意表现力试题
- 幼儿园教师培训计划与经验分享
- 2025年注册建筑师专业知识考核试卷:建筑景观与城市规划试题
- 苏教版科学课程家长参与计划
- 福建省龙岩市一级校2024-2025学年高二下学期4月期中联考 数学试题(含答案)
- 2025年街道全面加强乡村治理工作实施方案
- 明股实债协议合同
- 2025“十五五”金融规划研究白皮书
- 9.2法律保障生活(教案) -2024-2025学年统编版道德与法治七年级下册
- 2025年江西上饶铅山城投控股集团有限公司招聘笔试参考题库含答案解析
- 建筑工程结算审核现场踏勘
- 浙江省杭州市2024年中考英语真题(含答案)
- 大众速腾2009年型电路图
- 新能源电力设备项目立项报告(模板范本)
- 第六章 纳米复合材料
评论
0/150
提交评论