ARM和DSP处理器如何协同工作?

时间:2012-06-06 06:40:26

标签: multiprocessing processor microprocessors ti-dsp

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

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:4)

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

答案 2 :(得分:3)

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

  

http://omappedia.org/wiki/Syslink_Project

enter image description here

   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.