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.
