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.

dm368启动出错,程序停止



 

    DM368在启动后,有时程序会停止在某处。

    正常启动时,程序会在串口打印一系列信息。但是有时候,串口在某处打印信息后,就不在往下执行,即不在打印其他信息。

    我们的硬件工程师认为是nand flash的坏块原因,即程序运行时遇到坏块,导致程序不往后执行。他建议进行nand flash的坏块检测。

但是在nand write已经对nand flash进行了坏块检测。

    请问专家:

    1、上述问题的原因是不是因为nand flash的坏块?或是其他原因?

    2、如果是nand flash坏块的原因,如何做nand flash的坏块检测?

  • 如果还疑是坏块的问题,首先用nand scrub 进行修复,这个可以修复逻辑坏块,但不要常用。

    如果是物理坏块不能修复,用nand write.e 进行烧写,用nand read.e 进行读取,这样就能跳过坏块,一般nand有坏块,是正常的。

    如果你认为nand有坏块需要确认,那就进行简单的读写,看是否写进去的数据和读出来的数据一样。

    看你的情况,应该是文件系统里面的一些脚本不能执行导致系统起不来,建议你弄个干净点的文件系统,不要开机启动N多东西。

    你可以把你的出错信息贴出来,方便大家给出意见。

  • 我擦除了整个nandflash,发现了几个坏块。但是坏块都不在内核、文件系统存放的区域。

    问题的原因还是程序问题,程序调用了msg_rcv,msg_snd,导致的阻塞。

  • 还是那句话,用不到的东西,不要塞文件系统里面。整理下吧。