你好,
DSP芯片为C6713B,开发板为6713DSK,通过2×40引脚的J4(EMIF接口)连接了FPGA芯片,在CE2空间分别配置了22个寄存器,地址分别为 0xA0000000 (DPR0)、0xA0000100(DPR1)……0xA0000800(DPR8)……等。
FPGA程序已经固化,DSP的EMIF也配置好,DSP程序之前运行正常,一切都正常,CCS版本为6.1,但就是这同样的DSP程序,这几天突然调试失败,单步调试发现,当对某个FPGA寄存器进行写操作时,如
*(unsigned int *)DPR10 = 0x00010000;
这行代码里将DPR10寄存器的bit-16 置1,运行这一条代码之后,在CCS的Memory Browser里发现,不仅这个寄存器的bit-16变成了1,其他所有FPGA寄存器的bit-16都变成了1,更让人费解的是,在Memory Browser里发现,整个CE2空间(A000 0000 -- AFFF FFFF)的bit-16全部变成了1!
这个现象很奇怪,按EMIF原理,外部地址EA总线某一时刻只能选通一个地址,即同一时刻只能是某一个FPGA寄存器进行写操作,但是为什么会影响到别的外部存储器的值呢?
急切请指教,感激不尽!