用6657EVM烧写NAND FLASH,出现下面的错误,注意标红的部分,看起来是随机错误,找不到原因
[C66xx_0] NAND Writer Utility Version 01.00.00.01
[C66xx_0][C66xx_0] Flashing block 1 (0 bytes of 263568)
[C66xx_0] Flashing block 2 (131072 bytes of 263568)
[C66xx_0] Flashing block 3 (262144 bytes of 263568)
[C66xx_0] Reading and verifying block 1 (0 bytes of 263568)
[C66xx_0] Failure in block 1, at byte 961, (at byte 0 in the data file) expected 0x00000000, read 0x00000000
[C66xx_0] Flashing block 1 (0 bytes of 263568)
[C66xx_0] Flashing block 2 (131072 bytes of 263568)
[C66xx_0] Flashing block 3 (262144 bytes of 263568)
[C66xx_0] Reading and verifying block 1 (0 bytes of 263568)
[C66xx_0] Failure in block 1, at byte 33, (at byte 0 in the data file) expected 0x00000080, read 0x00000080
[C66xx_0] Flashing block 1 (0 bytes of 263568)
[C66xx_0] Flashing block 2 (131072 bytes of 263568)
[C66xx_0] Flashing block 3 (262144 bytes of 263568)
[C66xx_0] Reading and verifying block 1 (0 bytes of 263568)
[C66xx_0] Failure in block 1, at byte 691, (at byte 0 in the data file) expected 0x00000000, read 0x00000000
[C66xx_0] Flashing block 1 (0 bytes of 263568)
[C66xx_0] Flashing block 2 (131072 bytes of 263568)
[C66xx_0] Flashing block 3 (262144 bytes of 263568)
[C66xx_0] Reading and verifying block 1 (0 bytes of 263568)
[C66xx_0] Failure in block 1, at byte 541, (at byte 0 in the data file) expected 0x00000080, read 0x00000080
[C66xx_0] Flashing block 1 (0 bytes of 263568)
[C66xx_0] Flashing block 2 (131072 bytes of 263568)
[C66xx_0] Flashing block 3 (262144 bytes of 263568)
[C66xx_0] Reading and verifying block 1 (0 bytes of 263568)
[C66xx_0] Failure in block 1, at byte 1069, (at byte 0 in the data file) expected 0x00000000, read 0x00000000
[C66xx_0] NAND write failed (maximum retries reached)
ZhengTian Wang:
忘说了,烧写程序用到是MCSDK自带的nandwriter_EVMC6657。修改了nand_writer_input.txt,内容为
file_name = app.binstart_addr = 131072
ZhengTian Wang:
问题暂时解决。
原来的程序中读写NAND的数据都放在了DDR里,我把它改为放在MSMC中,加了cache一致性保护,顺利烧写。
原来的程序貌似缺少对DDR的初始化。
其他人就没有遇到过这个问题吗?这个MCSDK自带的程序应该有很多人在用啊