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.

C6713启动,cint00段跑飞问题



C6713的系统,采用了片外flash储存程序,片外sdram,设计了单独的boot软件实现对应用软件的引导,目前发现一个问题,即在冷态情况下(断电3小时以上,跟断电时间有关,跟温度无关)启动时,boot软件能够正常启动,实现程序代码由flash向ram的搬运和校验,但是在检验完,由boot向应用软件跳转时,dsp跑飞,10套产品中,有两套出现该问题,跑飞后无法连接仿真器,经过排查,初步确定,跑飞时尚未运行到应用软件的主函数,在cint00部分就已经跑飞了。故障板多次通电后故障消失,但是放置一段时间后可以稳定复现。请问各位大神,可能是什么因素导致出现上述现象?

  • 虚焊?

    感觉像,

    先排查SDRAM-DSP呢。

    你说的—cint00是你自己bootloader的还是app程序的哦。

  • SDRAM的基本读写和走地址/走位测试全片都跑下看看呢。
  • cint00是app程序的,bootloader的本身包括两部分,第一部分是boot.asm,实现dsp的初始化等,第二部分是c写的,用于实现app的搬运、校验以及与上位机的握手等,第一部分运行在片内ram,第二部分运行在片外sdram;app是用c++写的,有一部分代码在片内ram,main函数部分在片外sdram。

    目前的现象是每次断电3小时左右就能复现,复现时bootloader部分都能正常运行,跳转到app时跑飞,并且是在app的cint00部分就飞了。

    故障现象跟温度没关,做了+70到-40的变温试验,都正常,感觉不像虚焊;

    在故障条件下,在bootloader段连接仿真器,对SDRAM进行了反复测试,测试时先写0x55555555,再写0xaaaaaaaa,再写依次递加的顺序数,都没有发现问题。

    另外,我的dsp挂了4片32M*16位的SDram,拼成了两段32M*32位的SDRAM段,分别挂在dsp的ce0和ce3空间,程序段运行在ce0空间,ce3空间暂时没有用。

  • 建议先从输入时钟和供电电源的稳定性检查,复位信号的有效时间要从输入时钟和电源都稳定起来后开始算。
  • 还缺少个走位测试呢。