Fedora-ARM
全部博文(241)
分类: LINUX
2008-03-01 14:01:48
移植U-Boot.1.3.1到S3C2410和S3C2440
(本文介绍的uboot已经很旧,请到uboot-2009.01获取最新版本代码补丁)
在9月份移植u-boot1.2.0到S3C2410AL以及10月份在将其移植到s3c2440之后,就再没怎么碰U-Boot了。现在U-Boot已经更新到了1.3.1版本,我决定趁过年的时间看看U-Boot的变化,并移植到S3C2440和S3C2410。这次移植主要是依据以前的移植记录,将S3C2440和S3C2410的移植修改合并了,还加了U-Boot对JFFS2和USB支持配置。至于网卡的支持,沿用以前1.2.0的修改记录(支持的网卡:CS8900、DM9000和AX88796A),这里不再赘述,请看我以前的移植记录。
对于YAFFS文件系统的镜像烧写功能,网上已有高人做了相关补丁,我还没时间研究,待有时间研究完后再写出相关的移植记录。
以下提供所有修改过的文件的压缩包(.rar文件),如果想省时间直接将其复制到相应文件夹,修改\include\configs\tekkaman2440.h(SBC2440V4+DM9000)中的配置就好了(tekkaman2440.h_2410 是2410 (博创UP-NETARM2410-S+AX88796A)的配置文件,修改文件名为tekkaman2440.h即可使用)。
请自行修改Makefile中的编译器路径!(老版本,不支持yaffs烧写,使用nand_legacy)
|
以下是进一步学习后的改进版(暂时只支持2410),使用nand驱动,支持Xmodem传输和yaffs镜像烧写(我使用Linux2.6.24.3内核):
|
以下是配套的yaffs镜像制作工具:
|
Xmodem传输是参考了上的补丁。
yaffs烧写除了参考了中的补丁外还主要参考了嵌入式中国中的文章。在这里谢谢hiboy的分享。
修改记录如下(大致如下,若有遗漏以压缩包中文件为准(老版本,不支持yaffs烧写,使用nand_legacy)):
skyful_stars2008-03-10 17:31:38
你好,我是刚开始学习linux,我使用的是扬创的YC2440的板子,用你的这个方法在Fedora8系统下编译u-boot 1.1.4 (官网的源包)环境是arm-linux-gcc 2.95.3,应该适用吧?但我怎么第一步编译就不能通过呢?不只如此我编译内核自带的smdk2410_config都是同样的错误,最后的错误提示 in -ffreestanding -nostdinc -isystem /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/include -pipe -DCONFIG_ARM -D__ARM__ -march=armv4 -mabi=apcs-gnu -Wall -Wstrict-prototypes -c -o hello_world.o hello_world.c cc1: Invalid option `abi=apcs-gnu' make[1]: *** [hello_world.o] 错误 1 make[1]: Leaving directory `/utuLinux/s3c2440/u-bo