Question

How do an ARM and DSP processor work together , there instruction set being different , how can one write a code which is supposed to work on DSP processor such as FFT , Video Processing etc. How do they inter switch between themselves? It would be helpful if explained with some examples

No correct solution

OTHER TIPS

When writing software for chips with different instruction sets (ISAs) is not all that different from writing multicore software for two chips with the same ISA. All you end up having to do is compile the software to the different ISAs. Just as in the case with two processors of the same type, they generally communicate through some sort of shared memory. So the DSP might write a stream of bytes to memory. The CPU would then poll memory until it noticed the new data and then process it. Note that this is how all of the peripherals on a PC work. They run firmware (embedded software) and communicate through the shared main memory of the system. (And using interrupts).

Note that even when you write software for two chips of the same ISA, the bootup sequence usually has a master processor that runs different code from the slaves.

A software is used to help the two different OSs in ARM and DSP to communicate with each other. In the case of OMAP it is called dspbridge (or another simpler one is known as DSPlink).

Look into the Syslink , which used to communicate between arm and dsp . You can read more at :

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. 
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top