今天学习把android内核交叉编译后移植到YLP2440开发板,下面是一些心得。
1、从http://code.google.com/p/android/downloads/list上下载linux-2.6.25-android-1.0_r1.tar.gz
2、解压到任意目录下,解压命令为tar tar –zxvf linux-2.6.25-android-1.0_r1.tar.gz。
3、解压YLP2440板的交叉编译工具arm-linux-gcc-3.4.1.tar.bz2命令为tar xjvf arm-linux-3.4.1.tar.bz2,将文件解压到用户目录,如/usr/local/arm/下。
4、添加当前路径进入环境变量,命令export PATH=/usr/local/arm/3.4.1/bin:$PATH
5、进入内核文件夹,如cd ~/kernel.git/
6、修改Makefile文件,gedit Makefile,如下
CROSS_COMPILE ?= arm-linux-
7、运行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
device drivers->Graphics support->Console display driver support->[]VGA text console
(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内核必须选项
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
8、使用命令make zImage生成映像。
出现的一些问题
问题一:
CC arch/arm/kernel/asm-offsets.s
cc1: error: invalid option `abi=aapcs-linux'
make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2
解决方法:
关闭kernel features -->Use EABI。
问题二:
drivers/video/console/vgacon.c:494: error: `PCIMEM_BASE' undeclared (first use in this function)
drivers/video/console/vgacon.c:494: error: (Each undeclared identifier is reported only once
解决方法:
device drivers->
Graphics support->
Console display driver support->
[ ]VGA text console(取消)
上面一些东西是参考如下的文章
Android在TQ2440开发板上的移植
whizer发表于 2009-5-21 14:22 | 只看该作者
http://www.arm9.org.ru/viewthread.php?tid=6&extra=page%3D1
分享到:
相关推荐
优 龙 YLP-2440 开 发 板 的 使 用 手 册
DragonJTAG用户指南V11关于优龙公司s3c2410开发板使用说明,及Qt4相关介绍。
优龙2440开发板的测试程序(ADS 编写)
优龙公司YLP2440开发板的bootloader程序,可以借鉴!
YLP270开发板使用手册v1.2(深圳优龙科技)_B.pdf YLP270开发板使用手册v1.2(深圳优龙科技)_B.pdf YLP270开发板使用手册v1.2(深圳优龙科技)_B.pdf
YLP270开发板使用手册v1.2(深圳优龙科技)_A.pdf YLP270开发板使用手册v1.2(深圳优龙科技)_A.pdf YLP270开发板使用手册v1.2(深圳优龙科技)_A.pdf
优龙的YLP2440 BIOS源码包资源
与优龙的YLP2440的板子的USB驱动程序
英特尔的 PXA27X 系列嵌入式处理器提供了业界领先的多媒体性能,更低的功耗,丰富的外设集成, 以及第二代内存堆栈技术。它的设计面向于无线客户端,吸收了从PXA255 处理器问世以来到最近英特尔 ...
优龙YLP——2440开发板的 bootloader,用ADS编写
YLP2440原理图_PDF格式YLP24XX-DEV是外围设备的
优龙的YLP2440的网卡DM9000A的芯片资料
YLP2440原理图_PDF格式YLP24XX-DEV是内核的
优龙YLP2440,YLE2440,YLE2440W系列开发板的Wince6.0下的开发BSP包和使用说明
YLP2440 wince5.0 BSP
uCOS_2440.axf是ucosii操作系统s3c2440开发板demo程序,YLP2440_Test.axf是优龙开发板测试程序, 使用方法简单,用Window命令行输入" rbs3c2440.exe uCOS_2440.axf "执行,参考uCOS_2440.bat文件.
这是一个优龙S3C2440A开发板上运行的eboot,是ADS版的,可以通过ADS同步跟踪,这个EBOOT功能比较简单:SD卡升级功能+启动NK。正因为简单,所以很适合初学者用来了解EBOOT的基本架构。
这是一个在WINCE下对2440的定时器控制的程序,在YLP2440开发板上调试通过
S3C2440芯片ARM嵌入式平台的64MB的SDRAM测试程序,ADS编译。可以用于YLP2440开发板的测试程序
YLP2440_Test.axf是优龙开发板配套测试程序,是使用ads编译出的二进制代码,源代码来自http://www.enpudn.com/d-2eZ7.html 使用方法简单,在Window命令行敲" rbs3c2440.exe YLP2440_Test.axf "即可,可参考压缩包中...