主题 : Tiny6410 uboot擦出nand flash 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 52484
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2011-07-19
最后登录: 2012-09-12
楼主  发表于: 2011-07-19 15:25

 Tiny6410 uboot擦出nand flash

昨天新买的Tiny 6410(256MB 内存, 2G nand flash),之前有同事也买过一块一样的,见我买了一块就提示我试试看nand flash能不能擦除。于是我进入linux操作系统后查看了一下nand的分区情况。
   size                    erasesize
0x400000             0x100000              bootloader
0x800000             0 x100000              kernel
重启进入uboot中后, 我想把kernel进行擦除, 所以执行了命令   nand erase 0x400000 0x2000000,  这样肯定就把kernel擦除了
但是断点重启后我发现uboot 还打印提示信息:
nand read: device 0 offset 0x400000, size 0x500000
........Boot with zImage
starting kernel
然后就解压内核, 并且运行了一段后就卡住了。 我认为是执行擦除命令后kernel 段根本就没真正擦除掉,但是 文件系统段的有些内容被擦除了,所以系统运行起来走到一定的时候就卡住了, 不知道这样分析对不对。
我都已经把 0x400000 以后的内容都擦除了, 为什么还能读取后面的内容并且解压内核呢? 有点纳闷啊。 发邮件问了友善的技术,直接告诉我uboot不能擦除nand flash, 要使用superboot才行。。。也没告诉我这种情况是什么原因造成的。。。郁闷中。
还有, 我那同事后来换的 256MB内存的板子后 uboot中就能擦除nand flash。
不知道哪位有没有碰到和我一样的情况