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)):
wangzhentn2008-07-11 15:25:54
博主,你好,我用你提供的u-boot1.3.1,自己使用的扬创开发板yc2440-f.自己可以实现点亮板上的等,知道可以到跳转到函数start_armboot()中去了,我看了vivi串口设置,自己在start.s中可以打印出字符,但是串口没有显示,请问问题出在那里?急切求助!
chinaunix网友2008-06-12 16:02:04
博主,你好,看了你关于u-boot的文章收获颇多,按照你的方法移植了u-boot可以启动了,但是还有个问题希望向博主请教。u-boot启动后进入命令行,网卡的灯不亮,在ping一次,或者是tftp链接一下灯就会亮起,此后一切正常,是不是在uboot启动的时候没有默认激活网卡?查看了板子上带的u-boot的启动,灯会自动亮起的。 比较了各种情况后发现,当启动命令行出现 dm9000 i/o: 0x19000300, id: 0x90000a46 MAC: 01:02:03:04:05:06 后网卡灯即亮起。查看了代码不知道这一功能应该在何处加入,请问博主有没有这种经历,请赐教,谢谢
chinaunix网友2008-06-08 17:02:20
老兄按你的方法移植了boot,结果网卡灯点亮了,可ping不到,ping自己也ping不到,是什么原因阿,启动信息如下: U-Boot 1.1.3 (Jun 5 2008 - 11:52:08) U-Boot code: 33F80000 -> 33FA7974 BSS: -> 33FEA100 RAM Configuration: Bank #0: 30000000 64 MB Flash: 2 MB In: serial Out: serial Err: serial dm9000 i/o: 0x10000300, id: 0x90000a46 MAC: ff:ff:ff:ff:ff:ff operating at unknown: 15 mode Hit any key to stop autoboot: 0 KILL2440 # 有时还为: U-Boot code: 33F80000 -> 33FA7890 BSS: -> 33FEA000 RAM Config