Beagleboard:如何向DSP发送数据/从DSP接收数据?

sna*_*ile 6 arm signal-processing image-processing sendmessage beagleboard

我有一个带TMS320C64x + DSP 的beagleboard.我正在开发一个图像处理beagleboard应用程序.以下是它的工作方式:

  1. ARM从文件中读取图像并将图像放入2D阵列中.
  2. 臂将矩阵发送到DSP.DSP接收矩阵.
  3. DSP在接收的矩阵上执行图像处理算法(算法代码使用大约5MB的动态分配的存储器).
  4. DSP将处理后的图像(矩阵)发送给ARM.手臂接收矩阵.
  5. 手臂将处理后的图像保存到文件中.

我已经编写了步骤1,3,5的代码.执行步骤3 + 4(发送数据)的最简单方法是什么?欢迎使用代码示例.

Nil*_*nck 3

最简单的方法是使用共享内存:

使用 CMEM 内核模块在 ARM 上分配一块可以从 ARM 和 DSP 访问的内存。然后使用 DspBios NOTIFY 组件将指针向下传递到 DSP。

一旦 DSP 完成处理,您可以通过 NOTIFY 通知 ARM。

这样就无需将数据从 ARM 复制到 DSP,反之亦然。您只需确保数据来自 CMEM 组件。这可确保内存是连续的(DSP 不知道 ARM 内存管理器)。