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.

DSP 6678 NAND FLASH BOOT

您好,我在分配CMD的时候,设置如下:特意避开了IBL的运行空间0x00800000 to 0x0081BDFF.

-heap  0x1000

-stack 0x2000

MEMORY

{   /* Local L2, 0.5~1MB*/

    VECTORS:    o = 0x00820000  l = 0x00000200   /*o = 0x00800000  l = 0x00000200 set memory protection attribitue as execution only*/

    LL2_CODE:   o = 0x00820200  l = 0x0000FE00   /*o = 0x00800200  l = 0x0000FE00 set memory protection attribitue as execution only*/

    LL2_R_DATA:     o = 0x00830000  l = 0x00008000   /* o = 0x00810000  l = 0x00008000 set memory protection attribitue as read only*/

    LL2_RW_DATA:    o = 0x00838000  l = 0x00047FFF   /* o = 0x00818000  l = 0x00068000 set memory protection attribitue as read/write*/

    /* Shared L2 2~4MB*/

    SL2:        o = 0x0C000000  l = 0x00180000  

    SL2_RW_DATA:    o = 0x18000000  l = 0x00200000   /*remapped SL2, set memory protection attribitue as read/write*/

    /* External DDR3, upto 2GB per core */

    DDR3_CODE: o = 0x80000000  l = 0x01000000   /*set memory protection attribitue as execution only*/

    DDR3_R_DATA:    o = 0x81000000  l = 0x01000000  /*set memory protection attribitue as read only*/

    DDR3_RW_DATA:   o = 0x82000000  l = 0x06000000   /*set memory protection attribitue as read/write*/

}

 

大家好,最近用mcsdk_2_01_02_06里的ibl进行nand的boot程序加载,我严格按照流程,但是自加载时一直打印DDR ok ,不过到最后会停止打印。我的过程是:首先烧写IBL,然后配置IBL,最后烧写NAND。但是相同的程序,烧写到NOR FLASH中就可以自加载成功。根据网上的有些大牛所说,我进行了如下尝试:

在NAND 自加载时,连上DSP,

  1. 6678芯片内部本身有boot ROM ,也就是iBL引导代码,可以完成加载前的基本初始化工作,该代码执行完后,bootcomplete 寄存器的值会置1。BOOTCOMPLETE(0x0262013C) 是 0x00000001,说明已经加载了。
  2. 查询加载后0x80000000有我烧写的代码数据内容,和bin文件一致。但是我看到有些人说这些代码数据应该在0x00800000空间??
  3. 查询MAGIC_ADDRESS(0x1x87FFFC) 为非空值。值为00803320。
  4. 查看Device Status Register(0x02620020) 始终是0x0000082b。
  5. out转bin,直接改的后缀名,烧写之后自加载不成功;采用out转hex,转ccs的dat,再转bin,烧写之后自加载也不成功。下面是转换的Bat应用脚本语言:

                               set IBL_UTIL=C:\ti\mcsdk_2_01_02_05\tools\boot_loader\ibl\src\util

                              hex6x makefile.rmd

                                pause

                              %IBL_UTIL%\btoccs\b2ccs image.hex image.dat

                               pause

                               %IBL_UTIL%\btoccs\ccs2bin image.dat image.bin

                                  pause

        6. 每一步完成之后,我都断电,重新上电后,进行下一步操作,但是没有自加载成功。

我的硬件平台是:mcsdk_2_01_02_05 和TMDXEVM6678LE Rev1.0。mcsdk_2_01_02_06的也尝试过,还是和之前的一个现象,总是显示DDR OK。现在对于NAND FLASH 的自加载正在查找原因,好长时间了,没有进展呀。但是相同的程序,烧写到NOR FLASH中就可以自加载成功。望各位大侠多多指教,不甚感激。谢谢~~