我们处理板的硬件架构是V7690T+C6678,由FPGA控制DSP进行复位操作,采用的是 手册中的Core-Before-IO Power Sequencing,DSP外挂NORFLASH,程序也存储在NORFLASH中,上电时FPGA通过GPIO管脚配置 DEVSTAT寄存器为EMIF16加载,以上为基本情况。
现象如下:在测试中发现,FPGA在完成复位操作(RESET拉高,POR拉高,RESETFULL拉高)后,监测DSP端RESETSTAT管脚状态由低变高,显示DSP已经被成功复位,但是此时程序并没有运行,连接仿真器发现指针卡在RBL的开头处(0x20B00000),反复测量现象一致(此时在CCS中点击resume,程序可以正常运行),开始怀疑是那几个CVDD上电时序问题,用示波器测量后发现上电时序和电平值完全满足要求。后来修改FPGA程序,将无关模块删除,仅保留给DSP复位的模块,再测试,DSP可以正常工作。此时由于FPAG程序规模变小,整个处理板电流降低了约1A左右(5.2V供电)。
问题如下:
1.DSP在完成复位后(RESETSTAT拉高),根据配置应该就开始执行RBL中的代码,为何会卡在0x20B00000处不执行呢,是否还需要其它操作?
2.删除FPGA无关模块后,DSP可以正常加载运行,与异常状态唯一区别在于FPGA程序规模的降低,那处理板供电能力不足会不会导致这种异常现象呢?若是的话应当从哪里排查呢?
多谢各位专家