工具/软件:Linux
我希望这是我在 刷写和读取与 nand 闪存之间的 u-boot env 区域时遇到的问题的正确区域。 下面是顺序 -我们希望您能提供任何帮助
1.我使用 u-boot 的 mkenvimage 从文本文件(例如./mkenvimage -s 8192 -o env.bin env.txt)生成二进制数据文件
2.环境变量定义为进入分区5,因此/etc/fw_env.config 将其 定义如下:
MTD 器件名称 器件偏移 量编码 大小 闪存扇区大小 扇区数
/dev/mtd5 0x0000 0x2000 0x20000 1.
3.在 Linux (SD 卡)中, 将 env.bin 写入 nand flash,如下所示:
/usr/sbin/flash_erase /dev/mtd5 0
/usr/sbin/nandwrite -p /dev/mtd5 env.bin
所有这些都成功了。
然后、当我尝试从 nand flash 引导时、我会遇到以下错误:
当 u-boot 读取 env 区域时。
错误:比较错误! 失败
然后继续使用默认环境。
由于计算出的 ECC 与读取 ECC 的不同、它似乎发生了故障。
我的问题是、ECC 是如何生成的、我在哪里为 env.bin 放置有效的 ECC 计数、以便这样做
u-boot 可正确读取环境区域。
此致、
A HART
