TI中文支持网
TI专业的中文技术问题搜集分享网站

dm368 sd卡烧写启动异常

ti的专家们好,我们用dm3xx_sd_boot_6工具用sd卡批量烧写dm368,我发现flash在内核所在区域有坏块时,启动后停在starting kernel….文件系统部分有坏块时烧写虽然会报错:Data verification failed! Block: 0x000000CC page: 0x00000000. First Failing Byte: 0x00000000
((Uint32 *)src)[i]=0xFD172C00
((Uint32 *)dest)[i]=0x00000000
src=0x82E80000
dest=0x80000840
Write verify failed!
block_idx=0x000000CC
page_idx=0x00000000

但是系统还是能起来,不影响使用。我跟踪源代码,发现在nand write 的时候不管是否坏块都会写入,只是会验证page写入是否成功,验证失败也会继续向后写入。

while (len > 0) {
  if (NAND_writePage(nand, block_idx, page_idx, src_ptr) != E_PASS) {
   print("Write failed!\n");
   return -1;
  }
  UTIL_waitLoop(200);
  if (NAND_verifyPage(nand, block_idx, page_idx, src_ptr, hNandReadBuf) != E_PASS) {
   print(RED "Write verify failed!\n" NOCOLOR);
   trvx(block_idx);
   trvx(page_idx);
   //return -1;
  } else {
   //print(".");
  }
  src_ptr += nand->dataBytesPerPage;
  pages++;
  page_idx++;
  len -= nand->dataBytesPerPage;

  if (page_idx == nand->pagesPerBlock) {
   block_idx++;
   page_idx = 0;
   print("block=");
   print_hex(block_idx);
   print(" ");
   print("\r");
  }
 }
请问这个问题该如何解决?

Eason Wang:

http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/61619.aspx
你指的是6.1的烧写工具吗

赞(0)
未经允许不得转载:TI中文支持网 » dm368 sd卡烧写启动异常
分享到: 更多 (0)