问题名称:28335有时候不能正常上电,程序跑飞

问题名称:28335有时候不能正常上电,程序跑飞

此问题已被解答
All Replies
  • 秀才60分

    系统是28335外挂RAM和FPGA

    问题是程序烧入DSP芯片上的FLASH内,在DSP反复上下电的情况下,初始化程序中如果存在访问外部RAM的部分, DSP有时候会不能正常工作,程序跑飞。发生这种问题的频率不是很高,在DSP反复上下电几十次上下电可能会出现一次,尤其是在上下电比较快速时,问题出现的概率会增大。我想请问下这个问题发生的原因是什么,有什么解决的办法吗

  • 秀才10分

    我也遇到这个问题了,把外部接口的时钟频率改成系统时钟频率就好了,之前是系统时钟频率4分频,原因不清楚 你可以试试

  • 秀才80分

    你好 我现在也遇到了同样的问题,我定位到上电跑飞的代码位置,这个位置是在第一次访问外部空间单元的时候。好多次上电,出现一次上电跑飞的情况。如果跑飞每次都是在第一次访问外部空间单元的位置。你解决这个问题了吗?是硬件问题还是软件问题?

  • 秀才80分

    你好,你修改之后有没有再次出现相同的故障?能不能回复一下。谢谢

  • 秀才80分

    解决了。

    这是28335的一个bug。参考http://www.ti.com/lit/er/sprz272h/sprz272h.pdf

    在main函数中加下面这段代码。

    EALLOW;
    if(!(SysCtrlRegs.WDCR & 0x0080)) //check WDFLag
    {
    //Force a reset
    //make sure WDog is enabled
    //watch dog enable, and WDCHK value
    SysCtrlRegs.WDCR = 0x00A8; //previous value of 0x0068
    //would disable the WDog
    //write invalid data forces reset
    SysCtrlRegs.WDCR = 0x0000;
    }
    //Clear WDFlag - also need to write WDCHK correctly
    SysCtrlRegs.WDCR = 0x00E8; //This will also disable the WDog
    //SysCtrlRegs.WDCR = 0x00A8; //This will enable the WDog
    EDIS;

  • 秀才121分

    你好,程序中引用了这段代码,在RAM仿真运行的时候,看门狗复位没有起作用,XRS没有拉低,请问你有遇到过这种情况吗?

  • 秀才80分

    这个参考文档不存在了,能再发一下吗

  • 秀才50分

    请问你是通过什么方法定位的?

  • 秀才70分

      方便交流下怎么解决的吗?微信849689074

  • 秀才70分

    楼主方便说说怎么解决的吗?