嵌入式开发者社区

标题: 双核运行问题 [打印本页]

作者: tulipyyf    时间: 2015-2-11 10:43
标题: 双核运行问题
DSP核部分使用UPP定时 (每2.5ms)接收FPGA数据,数据量为4096*16bits ,数据存储在DDR上,DSP开辟的DDR空间为单独的c2000000 c3FFFFFF ,这个空间是TI官方双核样例板提供的(ex04_sharedregion)样例。
7 f3 x  d) g* y6 }3 i9 U0 dARM与DSP和通过SYSLINK通信。6 [& u) c0 H( B- ]& X* u$ d( [% B
现在的问题是,当ARM部分应用程序规模小时,加载DSP核程序后,双核运行正常。当ARM部分应用程序组件增大时,发现加载DSP核心应用程序运行一下就会停止运行。但是如果修改DSP程序一关闭DSP核心部分的FPGA存储DDR数据功能,DSP核心能正常运行0 O/ x( \! F0 K! Q& H. |; z
我现在怀疑,是不是DDR使用出现问题,系统中DSP核心应用程序UPP定时存储数据到DDR,DSP程序又是在DDR上运行,ARM部分也是用DDR最为内存,如果DDR过于繁忙的时候,会导致DDR忙不过来,导致DSP核停止运行。# P  ?; b  Q, B/ a( B
开机运行时设置的UBOOT参数如下:" q" p& S' h( O
setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=32M@0xc0000000 mem=64M@0xc4000000
% C- C: X/ F) d* x3 \" L" K应该DDR在使用上没有冲突,上面空出的空间32M为DSP使用- O) ]: ~  J6 I9 W5 i

, H" ^6 r1 e, D- X" a7 \, ]) |) N& i& b; z7 F9 Q+ S, c9 s/ w

作者: 希望缄默    时间: 2015-2-11 11:24
将 uPP 数据缓存放置在 DSP L2 RAM 中+ r  V5 d9 g4 {2 h5 ^

作者: tulipyyf    时间: 2015-2-11 11:32
谢谢答复
; r' r; X9 {2 B- S但是问题是,我现在DSP部分的程序编写完毕后,使用“ex04_sharedregion”做ARM部分应用程序修改,运行没有问题。测试能稳定运行只是后来增加QT编程,加了其他组件后,出线问题
. t5 y+ ?+ ?( [7 H第2 ,就是我现在存储的数据量比较大 如果存储在L2 RAM 上,空间应该不够。 总大小为(4096*16its)*8*20=640k*16bits 大小   循环存储 + S1 G/ R* g) k

作者: tulipyyf    时间: 2015-2-11 11:53
我想在怀疑是不是DDR 使用上有问题~~ 冲突导致 DSP核运行错误不工作了~~急盼传龙工程师回复
# m6 g$ @1 x5 ^0 m
作者: 希望缄默    时间: 2015-2-11 14:25
错误应该不会 但是负载大的话会造成运行缓慢
4 _& J$ t) M# l* ~7 O: j5 t2 S0 |
作者: tulipyyf    时间: 2015-2-11 15:29
谢谢答复,追加问题说明,我理解是,DSP的DMA存储数据到DDR必须要优先级最高,如果他经常让给ARM运行的话,会导致UPP的DMA操作DDR是不是会错误~~" J. B- ?' S& z, q- z. Q% x

作者: 希望缄默    时间: 2015-2-11 16:09
tulipyyf 发表于 2015-2-11 15:29
2 q$ M& j! Y& T  ~& f6 i谢谢答复,追加问题说明,我理解是,DSP的DMA存储数据到DDR必须要优先级最高,如果他经常让给ARM运行的话, ...

4 H* I. f* K; O6 {  g+ C% l优先级是可以调整的0 V, ^' i( [: E8 j0 v
至于你所诉情况 目前我们还没有遇到过
6 o+ g: E7 S( K. r但是我的建议还是需要高速存取的数据放到 L28 y$ f- ]! N. m& z& x

作者: tulipyyf    时间: 2015-2-11 16:32
你好,我们发现问题了,现在是ARM的QT部分  当打开串口1后,系统DSP端直接不运行。说明打开串口1这个函数导致的错误。难道打开串口1导致DDR部分有问题。再次求解
5 b  v7 L' @. k) Q8 z! \" k- p
作者: tulipyyf    时间: 2015-2-11 16:36
如注销打开串口1 函数,运行就没有问题~~  请教创龙工程师. O( ]  T- E$ {  l

作者: 希望缄默    时间: 2015-2-11 16:36
tulipyyf 发表于 2015-2-11 16:32& l7 ~8 c9 R8 k; \( d- t5 b
你好,我们发现问题了,现在是ARM的QT部分  当打开串口1后,系统DSP端直接不运行。说明打开串口1这个函数导 ...

+ L* Y) S3 v, r4 Z0 n: d如果你是参考的 AD7606 的例程 那个例程中 DSP 使用 串口1 输出状态信息~2 D/ |6 p% C9 j7 S) S1 X2 s0 d

作者: tulipyyf    时间: 2015-2-11 16:38
DSP部分我没有使用串口0 z" ~! s% q) O  x  L0 j
ARM部分 串口2是控制台,现在ARM部分串口1打开出线问题
5 A2 t+ n. U% k  G; N" b
作者: tulipyyf    时间: 2015-2-11 16:41
谢谢,我们DSP没有使用串口
5 ^" }8 x& l( F, T# T" F% nARM部分串口2为控制台输出,串口1用作通信使用,ARM部分现在打开串口1发现直接导致DSP核停止运行
% N) o" ~# ^) r( g, J  m




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