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网友2010-01-11 22:34:03
博主,很感谢你的无私分毫!^-^让我少走了很多弯路。 但现在出现了一个问题,按照你的文章我移植了一遍,make后没错,成功生成了uboot.bin文件,就是下到板子上没显示,指示灯都亮了,找了一天也没发现错在哪,请博主指点下,大概哪些地方可能出了问题,谢谢啦^-^ (我用是友善之臂的mini2440, 编译器是3.4.1) (板子应该没问题,用它自带资料的bootloader可行)
config20102009-12-28 14:58:12
博主,你好! 又有问题要请教了,照着开发板做了DM9000电路(开发板软件硬件都没问题)。现在我的板子ping胡时候,时不是的会丢些包,如1114 packets transmitted, 1111 received,而且延时与开板相比,变化较大。请问问题出在哪?软件上开发板是一样的。
chinaunix网友2009-09-23 15:30:23
楼主,你好,我最近打算移植u-boot,发现你的文章,很感谢你的无私分享! 按照你的步骤进行到第7步时,再次修改/include/configs/tekkaman2440.h后,出现了如下问题(由于才开始学u-boot,怕出现很多问题解决不了,步骤完全按照你写的来的,就是用的编译器是3.4.1的,没有用到s3c2410的部分): [root@friendlyarm u-boot-1.3.1]# make for dir in tools examples ; do make -C $dir _depend ; done make[1]: Entering directory `/opt/FriendlyARM/mini2440/u-boot-1.3.1/tools' make[1]: Nothing to be done for `_depend'. make[1]: Leaving directory `/opt/FriendlyARM/mini2440/u-boot-1.3.1/tools' make[1]: Entering directory `/opt/Frie