【问题标题】:How ARM and DSP processor work together?ARM 和 DSP 处理器如何协同工作?
【发布时间】:2012-06-06 06:40:25
【问题描述】:

ARM 和 DSP 处理器如何协同工作,指令集不同,如何编写应该在 DSP 处理器上工作的代码,例如 FFT、视频处理等。它们如何相互切换?如果用一些例子来解释会很有帮助

【问题讨论】:

  • 你用的是哪个芯片/板子?
  • 我用的是小猎犬板,但这个问题本质上是一般性的

标签: multiprocessing processor microprocessors ti-dsp


【解决方案1】:

为具有不同指令集 (ISA) 的芯片编写软件与为具有相同 ISA 的两个芯片编写多核软件并没有什么不同。您最终要做的就是将软件编译到不同的 ISA。就像两个相同类型的处理器一样,它们通常通过某种共享内存进行通信。因此 DSP 可能会将字节流写入内存。然后 CPU 会轮询内存,直到它注意到新数据然后处理它。请注意,这就是 PC 上所有外围设备的工作方式。它们运行固件(嵌入式软件)并通过系统的共享主存储器进行通信。 (并使用中断)。

请注意,即使您为相同 ISA 的两个芯片编写软件,启动序列通常也会有一个主处理器运行与从属处理器不同的代码。

【讨论】:

    【解决方案2】:

    一个软件用来帮助ARM和DSP中两个不同的操作系统相互通信。在 OMAP 的情况下,它被称为 dspbridge(或者另一种更简单的称为 DSPlink)。

    【讨论】:

      【解决方案3】:

      查看用于在 arm 和 dsp 之间进行通信的 Syslink 。你可以阅读更多:

      http://omappedia.org/wiki/Syslink_Project

         1 Application calls RCM client object on local processor to request execution of a remote function.
         2 RCM client object passes function request message to remote RCM server through local MessageQ.
         3 Local MessageQ puts message in remote MessageQ's list of received messages.
         4 Local MessageQ requests local Notify module to send notification to remote processor that a message has arrived.
         5 Local Notify module notifies remote Notify module.
         6 Remote Notify module tells Remote MessageQ object to check its list of received messages.
         7 Remote MessageQ object gives remote RCM server the function request message it received.
         8 Remote RCM Server calls remote function. 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-18
        • 1970-01-01
        • 2012-01-26
        • 1970-01-01
        • 1970-01-01
        • 2019-04-12
        • 1970-01-01
        • 2020-07-02
        相关资源
        最近更新 更多