- 论坛徽章:
- 0
|
我移植的版本是2010.06,错误如下:- [u-boot@lhc2440] # nand read 0x32000000 0x0 0x40000
- NAND read: device 0 offset 0x0, size 0x40000data abortpc : [<320082d0>] lr : [<320082cc>]sp : 31fd1a74 ip : 00000003 fp : 32028800r10: 00000051 r9 : 00000001 r8 : 31fd3fe0r7 : 32028758 r6 : ffffffff r5 : 00000000 r4 : 00000000r3 : 00000051 r2 : 00000083 r1 : 00000000 r0 : 32028758Flags: nzcv IRQs on FIQs off Mode SVC_32Resetting CPU ...
复制代码
read的时候提示data abort,要不就是NAND read: device 0 offset 0x0, size 0x40000后就不动了。
nand erase 倒是没问题,但有个警告,例如saveenv的时候:好像是定义的size 48K小于擦除的最小块单位。但环境变量是写进去了,重启就没有
*** Warning - bad CRC or NAND, using default environment这样的警告了。
- [u-boot@lhc2440] # saveenv Saving Environment to NAND...Erasing Nand...Warning: Erase size 0x0000c000 smaller than one erase block 0x00020000 Erasing 0x00020000 insteadErasing at 0x4000000000002 -- 0% complete.
复制代码
nand write同样失败,这个很莫名其妙的:
- [u-boot@lhc2440] # nand write 0x32000000 0x24c000 0x100000
- NAND write: device 0 offset 0x24c000, size 0x100000Writing at 0x26000000020000 -- NAND write to offset 260000ffffffff failed 0 81920 bytes written: ERROR
复制代码
我是按照黄刚大哥的文章做的:http://blog.chinaunix.net/u3/101649/showart.php?id=2119943
之前按照s3c2440的手册添加了/arch/arm/include/asm/arch‐s3c24x0/s3c24x0.h中的s3c2440_nand
- struct s3c2440_nand { u32 NFCONF; u32 NFCONT; u32 NFCMD; u32 NFADDR; u32 NFDATA; u32 NFMECCD0; u32 NFMECCD1; u32 NFSECCD; u32 NFSTAT; u32 NFESTAT0; u32 NFESTAT1; u32 NFMECC0; u32 NFMECC1; u32 NFSECC; u32 NFSBLK; u32 NFEBLK;};
复制代码
谢谢各位! |
|