您好!
我们在将 nand 从 nand 8更改为 nand 16时遇到一些问题。
我们进行了如下更改:
int board_nand_init (struct nand_chip *nand)
{
int32_t GPMC_config = 0;
CS = 0;
+ GPMC_cfg->cs[cs].config1 |= 0x1000;
然后、在执行以下命令后、我们得到所有块都被检测为不良:
NAND scrub.chip
NAND erase.chip、
但在 Nand erase.chip 中、我发现所有块都被检测为坏块!
和 erase.chip:器件0整个芯片
正在跳过 0x00000000处的错误块
正在跳过 0x00020000处的坏块
(笑声)
我们使用 的是 am335发行版 u-boot-2013.01.01-psp06.00.00.00。
我们将其编译如下:
使 O=AM335x cross_compile=arm-linux-gnueabihf- arch=arm distclean
使 O=AM335x cross_compile=arm-linux-gnueabihf- arch=arm AM335x_evm
上述 u-boot PSP 版本是否是 AM335x 的最新版本? 执行上述 GPMC 修改后,它是否可以与 nand16配合使用?
可能是 Nand GPMC 配置时序错误的问题?
感谢您的任何想法、
已运行