嵌入式开发者社区

标题: 求助AM5708开发板IPC例程CMEM共享内存问题!!! [打印本页]

作者: sunien    时间: 2020-7-22 17:25
标题: 求助AM5708开发板IPC例程CMEM共享内存问题!!!
求助IPC例程CMEM共享内存问题
1、使用CMEM共享内存的例程有tl-messageq-cmem-xor和tl-messageq-cmem-fft.
现修改tl-messageq-cmem-xor为交互式,ARM通过cmem共享内存下发数据a[100]数值为1-100
然后dsp1取出cmem中数据a[100],然后循环-101,计算后a[100]数据为-100~-1,dsp1进行MessageQ_put后
ARM端MessageQ_get后,打印a[0],a[1],a[100]等数据发现数据前几个是对的,后面都是错的,而dsp1的log打印数据是对的,
问题是dsp1对cmem写数值或者ARM最后读取数组有问题,求分析?
2、然后用tl-messageq-cmem-fft分配两块cmem测试,发现也是也是有问题的,也是按照(1)中测试cmem共享a[100]。而且dsp1接收的值都不对。
tl-messageq-cmem-xor代码如下图,以及附件:
arm App.c
[attach]6405[/attach]
dsp1 Server.c
[attach]6404[/attach]
AM5708开发板运行结果:
[attach]6406[/attach]

[attach]6407[/attach]


tl-messageq-cmem-fft运行结果:
ARM:
[attach]6408[/attach]
DSP1:
[attach]6409[/attach]

作者: 伊撒斯    时间: 2020-8-4 16:13
您好,
1、有可能是您的指针使用问题,建议您仔细检查一下。
2、可换成数组看是否会有同样的问题。
作者: sunien    时间: 2020-8-4 16:25
伊撒斯 发表于 2020-8-4 16:13
您好,
1、有可能是您的指针使用问题,建议您仔细检查一下。
2、可换成数组看是否会有同样的问题。 ...

感谢回复,现在已修改好了。问题原因是内存分配的问题,因分配的 DSP_MEM_TEXT 、DATA大,所以导致内存冲突了。目前正在搞怎么扩大DSP1原有的64M。




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4