feiyang007 发表于 2010-1-22 08:08:42

如何解决u-boot执行saveenv时不能erase的错误

gfy@S3C2440 # saveenv
Saving Environment to NAND...
Erasing Nand...
                                                                              
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -22
                                                                              
Writing to Nand...
gfy@S3C2440 #

xdwkl 发表于 2010-2-13 02:24:41

应该那个flash.c文件没移植好,u-boot没办法操作flash.擦不了也写不了

xdwkl 发表于 2010-2-13 02:24:57

应该那个flash.c文件没移植好,u-boot没办法操作flash.擦不了也写不了

xdwkl 发表于 2010-2-13 02:25:23

应该那个flash.c文件没移植好,u-boot没办法操作flash.擦不了也写不了

fengyueduzi 发表于 2010-4-7 14:54:02

我也遇到这个问题,能具体点不?

luo496724812 发表于 2010-9-8 20:41:39

悲剧了,我也这样了,是哪个宏没定义还是怎么回事……

luo496724812 发表于 2010-9-8 21:15:57

刚发现擦除从某块的开始擦除就正常,比如地址0x20000,0x40000等。如果不是一块的开始,比如0x30000,0x50000等,就会失败……

lqz263 发表于 2010-12-28 22:29:30

我也碰到了这个问题,请问这个是怎么解决的啊?

juedi 发表于 2010-12-28 22:42:21

offset要位于整块的开始,len是整数块的大小

Octagram 发表于 2010-12-28 22:55:57

我觉得可能是没有块对齐,擦写nand的地址要注意块对齐。

最好把程序贴出来看看

bikong7 发表于 2010-12-31 16:21:48

也不知道这个问题解决了没有,关注一下

bikong7 发表于 2010-12-31 16:22:35

一般来说,这个问题是因为nandflash已经坏掉了,或者是因为nandflash没有焊接好

randy922 发表于 2011-1-1 02:23:56

在 u-boot/include/configs/xxx.h里面定义环境参数的时候:
//#define        CFG_ENV_IS_IN_FLASH                1
#define CFG_ENV_IS_IN_NAND                1
#define CFG_ENV_OFFSET                        0x40000
#define CFG_ENV_SIZE                        0x20000        /* Total Size of Environment Sector */


CFG_ENV_SIZE这个数值必须是nand flash block size的整数倍。

lihp1603 发表于 2013-4-16 20:13:29

nand 启动,我的环境变量保护出现了这种情况,谢谢!

woee 发表于 2013-7-3 16:25:02

学个arm不容易,一个小问题弄两天
页: [1]
查看完整版本: 如何解决u-boot执行saveenv时不能erase的错误