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.

C6455在线跑程序没问题,boot启动后初始化TMR中断完,程序就会复位



          在调试C6455时,发现基带板在线跑程序没问题(仿真软件为CCS3.3),一旦程序烧写进flash后,会发生反复复位,处于反复复位状态,故障判断如下:

1. dsp的看门狗始终处于死狗状态,不会是软件不喂狗导致的看门狗复位,硬件测试也排除了此原因;

2. c6455的初始化配置、TMR配置和硬件应该都没有问题,因为用仿真器在线跑程序没有问题,TMR设置为非级联双定时器模式,只使用了TMR0,TMR1禁用,TMR的初始化配置由另一个平台移植而来,除了修改了中断周期其他无区别,另一平台已生产多台产品,无问题;

3. 故障判定方法是:在DSP程序的每个函数后设置GPIO测试管脚翻转信号(或设置死循环,现象一样),周期、翻转次数和等待时间都不一样,最后判定是,在中断初始化完成后理应在GPIO测试脚上有4次翻转,但只测到2次,DSP就发生了复位现象;将中断初始化程序屏蔽后,复位现象消失,后续只运行了硬件配置和变量初始化,主程序因为没有中断不会运行; 

4. .OUT文件到.BIN文件的转换不会有问题,已经过其他平台验证,唯一区别是在DSP的L2 RAM中开了一小段缓冲区做数据缓存,编译map文件显示L2空间充裕,不会发生内存冲突现象,而且没有在L2内设置cache空间,编译选项中的heap/stack的设置为0x4000,也不会有问题。

        程序运行顺序:I2c  boot启动--->dsp初始化---->配置时钟芯片--->配置FPGA--->DSP外设接口总线自检---->配置DAC等芯片--->初始化TMR中断(发生复位现象)--->变量及数据缓冲区初始化清零--->初始化串口等接口模块----->打开中断----->进入信号处理程序

       请专家和大拿给把脉支招,看看会是哪方面的问题,或指明排查方向,焦急等待。

       您的回复和留言,是对我最大的支持,万分感激,谢谢,谢谢!!!