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

C6678NOR FLASH多核启动 运行一段时间报错

C6678采用NOR FLASH多核启动,完成8个核的多核启动,最后生成的.dat文件大约14.3 MB,测试过程中发现10次中大概有1~3次会跑死,剩下的可以正常启动并完成相应功能。我们是在启动时,让8个核先启动起来,等到所有核启动起来之后核0继续执行相关后续的代码,但是会在后续的执行中跑死。正常用仿真器load程序是没有错的,请问大概会有是什么问题,或者多核启动的过程中有哪些细节的问题需要注意的。

cmd文件如下:

-c //automate initializate variable in run-time

-stack 0x8000

-heap  0x20000

/* Memory Map for C6678EVM */

MEMORY

{

VECTORS:   origin = 0x00800000  length = 0x00000200   /* 中断向量  *////////

BOOT_CORE0:   origin = 0x00800200  length = 0x000000C0   ///////

    L2:   origin = 0x008002C0  length = 0x00077D40   /* 512KB L2/SRAM *////////

    SHRAM:   origin = 0x0C000000 length = 0x00400000   /* 4MB Multicore shared Memmory128KB给加载程序使用*/

    Descriptor_DDR3:   origin = 0x80000000 length = 0x01000000

    DDR3:   origin = 0x81000000 length = 0x1f000000   /* DDR3 512M end 0x9FFFFFFF */

}

SECTIONS

{

    .csl_vect      >  SHRAM

.text          >  SHRAM

.DDRText{MulticoreBoot.obj(.text)}>SHRAM

.stack         >  L2                  /*local variable*/

.bss           >  SHRAM

.cio           >  L2  /*printf*/

.const         >  SHRAM

.data          >  SHRAM

.switch        >  SHRAM

.sysmem        >  SHRAM

.far           >  SHRAM

    .args          >  SHRAM

.ppinfo        >  SHRAM

.ppdata        >  SHRAM

.core0_section >  SHRAM

  /* COFF sections */

.pinit         >  SHRAM

.cinit         >  SHRAM

  /* EABI sections */

    .binit         >  SHRAM

.init_array    >  SHRAM

.neardata      >  SHRAM

.fardata       >  SHRAM

.rodata        >  SHRAM

.c6xabi.exidx  >  SHRAM

.c6xabi.extab  >  SHRAM

platform_lib > Descriptor_DDR3

vecs       >    VECTORS

QMSS_Data.linkingRAM1 > SHRAM

QMSS_Data.Descriptor_SL2 > SHRAM

PacketData.buffer_SL2 > Descriptor_DDR3

QMSS_Data.Descriptor_LL2 > L2

PacketData.buffer_LL2 > Descriptor_DDR3

QMSS_Data.Descriptor_DDR > Descriptor_DDR3

PacketData.buffer_DDR > Descriptor_DDR3

.myboot

     {

        *.*<boot.obj>(.text)

     } > BOOT_CORE0

}

Andy Yin1:

一般出问题多的是在使用ccs时通过gel文件进行了DDR初始化,而在加载时由于没有运行gel导致DDR没有初始化可能导致问题,还有就是加载时需要预留LL2最后一段memory给RBL,在加载起来之后可以使用。先查一下程序出问题时每个core的具体状态,如每个core都是运行到哪个地方开始出错的。

赞(0)
未经允许不得转载:TI中文支持网 » C6678NOR FLASH多核启动 运行一段时间报错
分享到: 更多 (0)