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)):
chinaunix网友2008-11-17 17:27:37
博主您好,我按照相关资料及自己的理解,修改了U-boot1.3.4,在Fedora8下用arm-linux-gcc3.3.2编译烧写成功,一切正常,网卡能Ping通,并且可以通过tftp下载Linux内核。 但我在Fedora9下用arm-linux-gcc4.3.2编译烧写后,网卡就Ping不通,并且Ping自己也Ping不同,又换成arm-linux-gcc3.3.2重新编译后问题依旧,请问这是为什么?
cczy2008-11-11 21:08:51
您 好,我下载了你的修改后的程序,用3.3.2编译的,但编译中出现了错误: common/libcommon.a(cmd_bootm.o)(.text+0x1140): In function `do_bootm_vxworks': /home/cczy/arm/u-boot-1.3.1-/common/cmd_bootm.c:1620: undefined reference to `do_bootvx' common/libcommon.a(cmd_bootm.o)(.text+0x11b4): In function `do_bootm_qnxelf': /home/cczy/arm/u-boot-1.3.1-/common/cmd_bootm.c:1634: undefined reference to `do_bootelf' make: *** [u-boot] 错误 1 然后我又用3.4.1和2.95.3编译了,但还是有其它的错误,3.4.1是浮点类数据类的错误,网上查了,说是编译器版本问题,又找其它资料,基本上没有这个问题的信息,我用grep查了一下,在
wbshwxn2008-11-07 20:38:47
arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: srawi.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: rlwnm.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: rlwinm.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: rlwimi.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: store.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: load.o: ????????? arm-linux-gcc: unrecognized option `-
wbshwxn2008-11-07 20:38:45
arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: srawi.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: rlwnm.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: rlwinm.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: rlwimi.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: store.o: ????????? arm-linux-gcc: unrecognized option `-MQ' arm-linux-gcc: load.o: ????????? arm-linux-gcc: unrecognized option `-