嵌入式开发者社区

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

作者: tulipyyf    时间: 2015-2-11 10:43
标题: 双核运行问题
DSP核部分使用UPP定时 (每2.5ms)接收FPGA数据,数据量为4096*16bits ,数据存储在DDR上,DSP开辟的DDR空间为单独的c2000000 c3FFFFFF ,这个空间是TI官方双核样例板提供的(ex04_sharedregion)样例。/ L2 ?2 U0 q/ t1 C8 ~1 b: }/ }
ARM与DSP和通过SYSLINK通信。3 o$ ]9 R4 P' [% X
现在的问题是,当ARM部分应用程序规模小时,加载DSP核程序后,双核运行正常。当ARM部分应用程序组件增大时,发现加载DSP核心应用程序运行一下就会停止运行。但是如果修改DSP程序一关闭DSP核心部分的FPGA存储DDR数据功能,DSP核心能正常运行" N# @3 r( R8 A6 M
我现在怀疑,是不是DDR使用出现问题,系统中DSP核心应用程序UPP定时存储数据到DDR,DSP程序又是在DDR上运行,ARM部分也是用DDR最为内存,如果DDR过于繁忙的时候,会导致DDR忙不过来,导致DSP核停止运行。0 O! \7 e6 e7 `, A
开机运行时设置的UBOOT参数如下:
" f! j, F6 [0 i- C# z$ Usetenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=32M@0xc0000000 mem=64M@0xc4000000
& \6 i8 j2 ^, J2 S$ U: {" I$ l应该DDR在使用上没有冲突,上面空出的空间32M为DSP使用; }: N- a  ]; K+ q7 U

  _7 c3 u7 I5 [5 l' M
; m# o  U' k- g& j. B6 c
作者: 希望缄默    时间: 2015-2-11 11:24
将 uPP 数据缓存放置在 DSP L2 RAM 中
  H/ C) s7 K$ P2 N9 W7 m
作者: tulipyyf    时间: 2015-2-11 11:32
谢谢答复
/ \1 I8 [) D' d" ]3 x但是问题是,我现在DSP部分的程序编写完毕后,使用“ex04_sharedregion”做ARM部分应用程序修改,运行没有问题。测试能稳定运行只是后来增加QT编程,加了其他组件后,出线问题3 t% }! j$ i2 U
第2 ,就是我现在存储的数据量比较大 如果存储在L2 RAM 上,空间应该不够。 总大小为(4096*16its)*8*20=640k*16bits 大小   循环存储
) h2 D. ?, N7 \9 G& Q) F+ v1 C
作者: tulipyyf    时间: 2015-2-11 11:53
我想在怀疑是不是DDR 使用上有问题~~ 冲突导致 DSP核运行错误不工作了~~急盼传龙工程师回复) k6 ?' Z: A5 O$ j/ c1 N. x

作者: 希望缄默    时间: 2015-2-11 14:25
错误应该不会 但是负载大的话会造成运行缓慢
- p) ]! t  q1 y2 m1 k
作者: tulipyyf    时间: 2015-2-11 15:29
谢谢答复,追加问题说明,我理解是,DSP的DMA存储数据到DDR必须要优先级最高,如果他经常让给ARM运行的话,会导致UPP的DMA操作DDR是不是会错误~~3 j& k- B+ d. V

作者: 希望缄默    时间: 2015-2-11 16:09
tulipyyf 发表于 2015-2-11 15:29
9 V7 E1 L) `2 r6 r  z. g7 C谢谢答复,追加问题说明,我理解是,DSP的DMA存储数据到DDR必须要优先级最高,如果他经常让给ARM运行的话, ...

9 _3 B% ]) B# E- Q$ a优先级是可以调整的
3 d2 U) Q* h5 e9 m1 f6 ?至于你所诉情况 目前我们还没有遇到过+ m. X) R! A) u  o( J1 D7 b
但是我的建议还是需要高速存取的数据放到 L2
3 g; G( V- W) Y" N9 ?
作者: tulipyyf    时间: 2015-2-11 16:32
你好,我们发现问题了,现在是ARM的QT部分  当打开串口1后,系统DSP端直接不运行。说明打开串口1这个函数导致的错误。难道打开串口1导致DDR部分有问题。再次求解
% y7 C, G( R' x: U# p: {% g2 p/ g, c4 c
作者: tulipyyf    时间: 2015-2-11 16:36
如注销打开串口1 函数,运行就没有问题~~  请教创龙工程师
* ~" T6 M) d1 g* _( k% h
作者: 希望缄默    时间: 2015-2-11 16:36
tulipyyf 发表于 2015-2-11 16:32
  x1 G: @9 Y. K; L' t- I你好,我们发现问题了,现在是ARM的QT部分  当打开串口1后,系统DSP端直接不运行。说明打开串口1这个函数导 ...
& J2 X0 i4 |* x+ q5 @2 w# B
如果你是参考的 AD7606 的例程 那个例程中 DSP 使用 串口1 输出状态信息~. v9 |( Q2 w1 O9 |8 ?

作者: tulipyyf    时间: 2015-2-11 16:38
DSP部分我没有使用串口* m; x3 |6 }. X8 h+ m, C' q/ y2 M4 q/ J
ARM部分 串口2是控制台,现在ARM部分串口1打开出线问题
4 s& D) ~! C+ k
作者: tulipyyf    时间: 2015-2-11 16:41
谢谢,我们DSP没有使用串口9 D' `8 a5 m2 {! ^! S/ w* w2 S4 b
ARM部分串口2为控制台输出,串口1用作通信使用,ARM部分现在打开串口1发现直接导致DSP核停止运行6 B9 `0 m  h$ V# b: U





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