碰到一个很奇怪的问题,查了很久都找不到原因,想请教一下。我在自己的C6657电路板上运行程序,其中核0运行带SYSBIOS和NDK的程序,核1运行UPPA和UPPB同时不间断传输的程序,UPPA为发送,UPPB为DSP接收数据,UPP时钟为32M,单倍速率,UPP外部和FPGA连接;
正常情况下,比如核1运行不带NDK的程序时,核1的UPP传输不会受影响;
在有些情况下,核0的程序修改,会影响到核1的UPP传输,表现为UPP传输部分数据丢失;
怀疑是DMA访问DDR冲突,自己捕捉了下UPPB的wait信号,传输发生数据丢失现象时,没有wait信号输出;
又怀疑是PDK和NDK下面的驱动会影响到UPP的接口;UPP口本身是和EMIF接口共用的管脚,有没有可能NDK或者PDK里面的某些程序,对UPP口线的复用功能进行了配置?现在观察到的比较明显的现象,就是一旦NDK运行网络程序,UPPB接收就会丢数据,而且概率比较高,基本上传输500K LINE左右的数据就会丢掉几个甚至几十个LINE,我的LINE长度为40字节,一次配置传输256个line,请问这种情况可能是什么原因,有没有什么解决的建议?
