Tiny 6410 K9GAG08U0E nand flash移植uboot

来源:互联网 发布:淘宝来图印花定制内裤 编辑:程序博客网 时间:2024/05/20 14:20
Tiny6410 nand flash启动uboot2010.09
已能从nand flash启动,没有进行Ecc校验。现在先将代码公开,供大家参考,我自己回头会再完善下,引导linux部分目前我还没有做,也没有测试。主要是之前大家一直纠结于这个mlc2驱动的问题,现在看来不是那么回事,它们读取的方法是一样的,尽管内部结构有差异。
说明:
1:编译生成的nand_spl/u-boot-spl-16k.bin需要处理下分割到两页中,每页2k(6410 nand flash启动机制决定),剩下6k进行填充即可。这里分割程序一并贴出。这里将生成的程序叫chuli.bin;然后cat chuli.bin u-boot.bin u-boot-nand-chuli.bin;即最后下到nand flash中的为
u-boot-nand-chuli.bin。
2:验证方法:假设你使用的也是4G的SD卡,则使用 命令
1:sudo dd if=./nand_spl/u-boot-spl-16k.bin of=/dev/sdb bs=512 seek=7861230
sudo dd if=./u-boot.bin of=/dev/sdb bs=512 seek=7855104
分别烧写BL1、BL2到SD卡的合适位置上。
然后拨拨码开关到SD-boot边就可以从SD卡启动了,
2:用Loadb命令将u-boot-nand-chuli.bin下到内存中(默认位置0x50000000)
先nand erase 擦除下flash,(如果觉得擦除不彻底可用nand scrub命令,但会破坏出厂坏块标记所以慎用,个人觉得没什么关系)
3: 最后nand wrte 50000000 0 40000,就完成了写内存中从50000000位置起始的大约0x40000大小的u-boot-nand-chuli.bin到flash中了。
4: 拨拨码开关到nand启动边就可以看到串口输出、显示屏有显示界面了。

声明:本代码部分借鉴了Tekkaman Ninja的uboot2019-09 for mini6410.
            其他分割程序部分借鉴了韦东山老师的示例程序,
在此向以上两位老师致谢。
 
下载链接:http://download.csdn.net/download/hntyzhangpeng/5265311
原创粉丝点击