This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

6657EVM板烧写NAND出错



用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)

  • 忘说了,烧写程序用到是MCSDK自带的nandwriter_EVMC6657。修改了nand_writer_input.txt,内容为

    file_name = app.bin
    start_addr = 131072

  • 问题暂时解决。

    原来的程序中读写NAND的数据都放在了DDR里,我把它改为放在MSMC中,加了cache一致性保护,顺利烧写。

    原来的程序貌似缺少对DDR的初始化。

    其他人就没有遇到过这个问题吗?这个MCSDK自带的程序应该有很多人在用啊

  • Hi wang:

    首先用MCSDK提供的工具进行NAND写,必须执行GEL文件以初始化DDR3,然后一切才能正常。此时用户程序装入的地址是:0x8000000。

    如果采用MSMC内存,你必须调整MCSDK的NAND写工具中的地址为:0x0C000000,并且此时用户程序装入的地址是:0x0C00000。