×
嵌入式开发 > 详情

怎样将Android移植到FS2410开发板上

发布时间:2020-06-16 发布时间:
|

一、目前进展
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文件中的nand flash分区设置,如gedit arch/arm/plat-s3c24xx/common-smdk.c
修改static struct mtd_partition smdk_default_nand_part[]结构体为:
static struct mtd_partition smdk_default_nand_part[] = {
[0] = {
.name = Boot Agent,
.size = SZ_256K,
.offset = 0,
},
[1] = {
.name = Linux Kernel,
.offset = SZ_256K,
.size = SZ_2M - SZ_256K,
},
[2] = {
.name = File System,
.offset = SZ_2M,
.size = SZ_32M - SZ_2M,
},
[3] = {
.name = Other,
.offset = SZ_32M,
.size = SZ_32M,
}
};

5、在网站上下载IA32 GNU/Linux TAR。

6、将文件解压到用户目录,如/home/wangan/arm-2008q3

7、进入arm-2008q3/bin文件夹,如cd ~/arm-2008q3/bin/

8、添加当前路径进入环境变量,如export PATH=$PWD:$PATH,或修改~/.bashrc文件并重新登录

9、进入内核文件夹,如cd ~/kernel.git/

10、修改Makefile文件,如gedit Makefile
更改ARCH和CROSS_COMPILE
#ARCH ?= $(SUBARCH)
ARCH ?= arm
#CROSS_COMPILE ?= arm-eabi-
CROSS_COMPILE ?= arm-none-eabi-

11、从华清远见Linux-2.6.8.1内核压缩包中提取.config文件(注意:config前面有个“.”)放入kernel.git文件夹

12、运行make menuconfig
(1) 确保System Type ---> ARM system type ()中的内容为Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443
(2) 确保System Type ---> S3C2410 Machines ---> [*] SMDK2410/A9M2410被勾选
(3) 取消选择与Goldfish相关的内容
Device Drivers ---> Character devices ---> > Goldfish TTY Driver
Device Drivers ---> Power supply class support ---> > Goldfish battery driver (NEW)
Device Drivers ---> Real Time Clock ---> > GOLDFISH (NEW)
Device Drivers ---> Graphics support ---> Support for frame buffer devices ---> > Goldfish Framebuffer
(4) 选择S3C2410 LCD相关的内容
Device Drivers ---> Graphics support ---> Support for frame buffer devices ---> *> S3C2410 LCD framebuffer support
Device Drivers ---> Graphics support ---> [*] Bootup logo ---> [*] Standard black and white Linux logo
Device Drivers ---> Graphics support ---> [*] Bootup logo ---> [*] Standard 16-color Linux logo
Device Drivers ---> Graphics support ---> [*] Bootup logo ---> [*] Standard 224-color Linux logo
(5) 选中Android内核必须选项
Kernel Features ---> [*] Use the ARM EABI to compile the kernel
General setup ---> [*] Use full shmem filesystem
General setup ---> [*] Enable Android's Shared Memory Subsystem
System Type ---> [*] Support Thumb user binaries
Device Drivers ---> Android ---> [*] Android log driver
Device Drivers ---> Android ---> *> Binder IPC Driver
(6) 尽量选中Android内核可选选项
Device Drivers ---> Android ---> [*] RAM buffer console
Device Drivers ---> Android ---> [*] Android timed gpio driver
Device Drivers ---> Android ---> [*] Only allow certain groups to create sockets
(7) 其余CONFIG选项,如系统支持请一并选择
CONFIG_ANDROID_POWER =y
CONFIG_ANDROID_POWER_STAT =y
CONFIG_ANDROID_POWER_ALARM =y
(可以在Kconfig文件中查找ANDROID_POWER等字段进行选择,或者直接修改.config文件)

13、退出并保存.config



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
scsi接口