uboot移植支持nand flash启动

来源:互联网 发布:未来日记 类似 知乎 编辑:程序博客网 时间:2024/06/05 07:49
    最近买了块arm9的开发板(s3c2410),板子的具体信息参见http://www.51usb.com/list.asp?ProdId=0070,还是挺便宜的。
    板子预装了linux系统(2.4内核 + QT),所以偶就萌生了移植2.6内核和gtk的想法。
首先要搞定的就是bootloader,该开发版采用了vivi,附带了源码,用jflash烧进去就可以了,但是看大家都搞uboot,所以偶就下了个最新的uboot.1.1.6,编译uboot.bin烧进去发生串口没有输出,后来发现是我的板子只有 nand flash,没有nor flash,nor flash可以直接运行代码,而nand flash不可以,需要加载到ram才行。(nand和nor的区别参见http://blog.csdn.net/bravemanly/archive/2006/02/24/608130.aspx)但是s3c2410支持从nand flash启动,它将flash的前4k映射到ram,所以需要修改uboot,加入将自己加载到内存的代码,网上有个基于u-boot-20060523的patch(http://www.hhcn.com/cgi-bin/topic.cgi?forum=3&topic=562&start=0&show=),可以支持flash启动,下载代码,打上patch,用arm3.3.2编译,编译会出现make[1]: *** No rule to make target `hello_world.srec',的错误,参见http://www.ednchina.com/blog/seabiscuit/11759/category.aspx修改,编译完烧进去,还是没有任何输出,改用arm2.95.3编译(ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/cross-2.95.3.tar.bz2),需要将toolchain放到/usr/local/arm(应该是编译toolchain的时候指定的,我开发板带的toolchain是要放在/opt下的)下,其他地方需要做个连接,否则编译会报错,编译好了,烧进去还是没有反应。郁闷!
    和大家分享一些资料:
    基于S3C2410的Linux全线移植文档:http://www.uplinux.net/bbs/viewthread.php?action=printable&tid=3741
    senglen.cublog.cn
    Jflash源代码分析(一)
    Linux BOOTLOADER全程详解(Arm S3C2410)