DSP核部分使用UPP定时 (每2.5ms)接收FPGA数据,数据量为4096*16bits ,数据存储在DDR上,DSP开辟的DDR空间为单独的c2000000 c3FFFFFF ,这个空间是TI官方双核样例板提供的(ex04_sharedregion)样例。
ARM与DSP和通过SYSLINK通信。
现在的问题是,当ARM部分应用程序规模小时,加载DSP核程序后,双核运行正常。当ARM部分应用程序组件增大时,发现加载DSP核心应用程序运行一下就会停止运行。但是如果修改DSP程序一关闭DSP核心部分的FPGA存储DDR数据功能,DSP核心能正常运行
我现在怀疑,是不是DDR使用出现问题,系统中DSP核心应用程序UPP定时存储数据到DDR,DSP程序又是在DDR上运行,ARM部分也是用DDR最为内存,如果DDR过于繁忙的时候,会导致DDR忙不过来,导致DSP核停止运行。
开机运行时设置的UBOOT参数如下:
setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=32M@0xc0000000 mem=64M@0xc4000000
应该DDR在使用上没有冲突,上面空出的空间32M为DSP使用
yuyinfeng1982:
追加说明
我们发现问题了,现在是ARM的QT部分 当打开串口1后,系统DSP端直接不运行。说明打开串口1这个函数导致的错误。难道打开串口1导致DDR部分有问题。再次求解
Denny%20Yang99373:
回复 yuyinfeng1982:
可能还是和你的具体应用有关系,需要深入DEBUG一下。
可以在DSP不运行的时候连上仿真器看看。
cong wang7:
您好 我现在也做这个呢 能不能借鉴一下您的代码啊 谢谢!239281552@qq.com
nian zhong:
你好,在syslink下uPP是怎样接收数据的呢,需要配置中断吗,可以参考一下你的代码吗,121369473@qq.com