On Mon, Jun 26, 2017 at 7:16 AM, MDX <[email protected]> wrote:

> By firmware you mean C program code?
>
I don't know what I can assume about the context of your question, so
please forgive me if guess wrongly and explain things that are obvious to
you or, conversely, talk over your head---please clarify in response.
You asked about coordination and partitioning of DSP coprocessors, which to
me implies  a unified system that manages both the main CPU and the
coprocessors on a similar plane. This is not how Linux sees the
coprocessors: while the CPU cores are indeed managed as an ensemble by the
kernel, the coprocessors are seen as peripheral resources. Linux kernel may
help loading them with their binary firmware, and starting and stopping
them, but you need to write all the synchronization primitives yourself.
The DSPs (and PRUs, etc) will be running their own code but will not have
the usual set of Linux system calls (unless you somehow implement them
yourself in your firmware). You can write the DSP/PRU code in their
respective assembler, or in the C variant understood by the DSP/PRU C
compiler, which is different than the C compiler used by the main CPU.
The newer kernels provide more functionality via the RemoteProc subsystem,
but it's just a way of managing high-level stuff like firmware loading,
starting/stopping, and communication with the coprocessors. You still can't
manage the computational tasks homogenously, e.g. moving them forth and
back between the CPU and coprocessors---instead, you need to split up
processing tasks between the CPU and coprocessors, write the code, deploy
and start the binaries, and communicate and synchronize their operation.

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAC%3D1GgHNub4EUOPnsSbVdTKQZqfEbJDh5ztKPwD5EjWPQXHn0Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to