嵌入式开发者社区

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

作者: tulipyyf    时间: 2015-2-11 10:43
标题: 双核运行问题
DSP核部分使用UPP定时 (每2.5ms)接收FPGA数据,数据量为4096*16bits ,数据存储在DDR上,DSP开辟的DDR空间为单独的c2000000 c3FFFFFF ,这个空间是TI官方双核样例板提供的(ex04_sharedregion)样例。
3 ]3 g4 l: m* ]# [3 R" p) EARM与DSP和通过SYSLINK通信。
: c8 J. E# [" _* z8 a' j现在的问题是,当ARM部分应用程序规模小时,加载DSP核程序后,双核运行正常。当ARM部分应用程序组件增大时,发现加载DSP核心应用程序运行一下就会停止运行。但是如果修改DSP程序一关闭DSP核心部分的FPGA存储DDR数据功能,DSP核心能正常运行
- t1 R. k7 Y- l: h! y( w6 Y3 R我现在怀疑,是不是DDR使用出现问题,系统中DSP核心应用程序UPP定时存储数据到DDR,DSP程序又是在DDR上运行,ARM部分也是用DDR最为内存,如果DDR过于繁忙的时候,会导致DDR忙不过来,导致DSP核停止运行。; z% n9 i3 e- w  v) R
开机运行时设置的UBOOT参数如下:
! Y2 o, _) I) u$ M& xsetenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 mem=32M@0xc0000000 mem=64M@0xc4000000* L# S3 r, H6 H& t
应该DDR在使用上没有冲突,上面空出的空间32M为DSP使用
. I% L8 f, e' P" K3 w4 L+ Q! t+ Q2 a' D6 i

& Y8 Q% Q8 T' V9 h# @
作者: 希望缄默    时间: 2015-2-11 11:24
将 uPP 数据缓存放置在 DSP L2 RAM 中
# B0 h1 a$ |! h7 N4 I2 l
作者: tulipyyf    时间: 2015-2-11 11:32
谢谢答复6 p9 i0 b) a' Q3 {, a% a% |! @
但是问题是,我现在DSP部分的程序编写完毕后,使用“ex04_sharedregion”做ARM部分应用程序修改,运行没有问题。测试能稳定运行只是后来增加QT编程,加了其他组件后,出线问题
! z* Q. B2 V! S第2 ,就是我现在存储的数据量比较大 如果存储在L2 RAM 上,空间应该不够。 总大小为(4096*16its)*8*20=640k*16bits 大小   循环存储 & v; Y! {' J% b$ P2 C% i+ v1 r5 i

作者: tulipyyf    时间: 2015-2-11 11:53
我想在怀疑是不是DDR 使用上有问题~~ 冲突导致 DSP核运行错误不工作了~~急盼传龙工程师回复7 U! W3 w+ {# X, s7 [3 k' \8 z  A1 X

作者: 希望缄默    时间: 2015-2-11 14:25
错误应该不会 但是负载大的话会造成运行缓慢9 B4 M+ R3 O+ f  r

作者: tulipyyf    时间: 2015-2-11 15:29
谢谢答复,追加问题说明,我理解是,DSP的DMA存储数据到DDR必须要优先级最高,如果他经常让给ARM运行的话,会导致UPP的DMA操作DDR是不是会错误~~
) c' @0 q) G) P, t9 X
作者: 希望缄默    时间: 2015-2-11 16:09
tulipyyf 发表于 2015-2-11 15:29" Q0 t. K5 t4 q0 n0 N" m4 D9 [. }: y
谢谢答复,追加问题说明,我理解是,DSP的DMA存储数据到DDR必须要优先级最高,如果他经常让给ARM运行的话, ...

. \% m$ C" d% B$ n- _6 q/ a优先级是可以调整的
+ t$ P8 P4 G1 G" Q1 a9 k& n至于你所诉情况 目前我们还没有遇到过
& y0 B) W' z4 v+ }7 O+ [' z  n但是我的建议还是需要高速存取的数据放到 L2
4 I2 ]* [! c) G9 M& q
作者: tulipyyf    时间: 2015-2-11 16:32
你好,我们发现问题了,现在是ARM的QT部分  当打开串口1后,系统DSP端直接不运行。说明打开串口1这个函数导致的错误。难道打开串口1导致DDR部分有问题。再次求解4 c: c# O/ s( K% r

作者: tulipyyf    时间: 2015-2-11 16:36
如注销打开串口1 函数,运行就没有问题~~  请教创龙工程师/ b: N+ o2 {0 i. Z* d$ n/ c

作者: 希望缄默    时间: 2015-2-11 16:36
tulipyyf 发表于 2015-2-11 16:32: _1 _/ H, W: O4 J
你好,我们发现问题了,现在是ARM的QT部分  当打开串口1后,系统DSP端直接不运行。说明打开串口1这个函数导 ...
9 C: _6 d$ y. |3 f& c
如果你是参考的 AD7606 的例程 那个例程中 DSP 使用 串口1 输出状态信息~9 S! V5 ^0 b2 y( V8 r* h2 p* x

作者: tulipyyf    时间: 2015-2-11 16:38
DSP部分我没有使用串口
* Q8 ]4 T' d: U7 u9 gARM部分 串口2是控制台,现在ARM部分串口1打开出线问题
  z3 n0 a& h# Q0 z  a" `" a! I
作者: tulipyyf    时间: 2015-2-11 16:41
谢谢,我们DSP没有使用串口+ q0 `7 R3 I; _' ]$ ^' J
ARM部分串口2为控制台输出,串口1用作通信使用,ARM部分现在打开串口1发现直接导致DSP核停止运行
. Y  w7 m2 S5 d  O. u8 H




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