新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何將Android移植到FS2410開(kāi)發(fā)板上

如何將Android移植到FS2410開(kāi)發(fā)板上

作者: 時(shí)間:2012-03-29 來(lái)源:網(wǎng)絡(luò) 收藏

一、目前進(jìn)展
1.已經(jīng)可以通過(guò)NFS在板上運(yùn)行

本文引用地址:http://m.butianyuan.cn/article/149317.htm

二、目前缺陷
1.
觸摸屏沒(méi)有校準(zhǔn)
2.中時(shí)鐘停止,結(jié)束zygote進(jìn)程,系統(tǒng)重啟,時(shí)鐘更新,但再次停止不動(dòng)
3.串口無(wú)法與GPRS模塊通訊

三、步驟
一、內(nèi)核到板上
1、下載linux-2.6.25-android-1.0_r1.tar.gz

2、將內(nèi)核解壓到用戶目錄,如/home/wangan/kernel.git

3、進(jìn)入kernel.git文件夾,如cd ~/kernel.git/

4、修改arch/arm/plat-s3c24xx/common-smdk.c文件中的nand flash分區(qū)設(shè)置,如gedit arch/arm/plat-s3c24xx/common-smdk.c
修改static struct mtd_partition smdk_default_nand_part[]結(jié)構(gòu)體為:
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、在網(wǎng)站上下載IA32 GNU/Linux TAR。

6、將文件解壓到用戶目錄,如/home/wangan/arm-2008q3

7、進(jìn)入arm-2008q3/bin文件夾,如cd ~/arm-2008q3/bin/

8、添加當(dāng)前路徑進(jìn)入環(huán)境變量,如export PATH=$PWD:$PATH,或修改~/.bashrc文件并重新登錄

9、進(jìn)入內(nèi)核文件夾,如cd ~/kernel.git/

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

11、從華清遠(yuǎn)見(jiàn)Linux-2.6.8.1內(nèi)核壓縮包中提取.config文件(注意:config前面有個(gè)“.”)放入kernel.git文件夾

12、運(yùn)行make menuconfig
(1) 確保System Type ---> ARM system type ()中的內(nèi)容為Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443
(2) 確保System Type ---> S3C2410 Machines ---> [*] SMDK2410/A9M2410被勾選
(3) 取消選擇與Goldfish相關(guān)的內(nèi)容
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相關(guān)的內(nèi)容
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內(nèi)核必須選項(xiàng)
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內(nèi)核可選選項(xiàng)
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選項(xiàng),如系統(tǒng)支持請(qǐng)一并選擇
CONFIG_ANDROID_POWER =y
CONFIG_ANDROID_POWER_STAT =y
CONFIG_ANDROID_POWER_ALARM =y
(可以在Kconfig文件中查找ANDROID_POWER等字段進(jìn)行選擇,或者直接修改.config文件)

13、退出并保存.config

linux相關(guān)文章:linux教程



上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉