This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你(们)好。
我计划开发 KeyStone I 器件、作为大型项目的一部分、作为一个 DSP 经验非常少的人、我试图在较高层面上绕过 SYS/BIOS 如何与 DSP 内核交互。
我要尝试找出的是 SYS/BIOS 是否有一种跨多(8)个 DSP 内核运行的方法、因此使用 SYS/BIOS 的调度程序来优化所有 DSP 内核的任务处理和使用。 当我使用一些 Keystone I 评估模块时、我看到通常每个 C66x DSP 内核上加载一个.out 文件。 那么、我将如何使 SYS/BIOS 在多个内核上运行、相互交互、所有进程都由一个调度程序管理? 这样、程序员(ME)就不需要手动编写调度程序来优化所有8个 C66x DSP 内核的使用(这并不是一项简单的任务)。 这可以完成、还是其中一个 DSP 内核需要作为主核-使用自定义调度程序对其他7个内核进行任务处理?
我已经看过一些有关 SYS/BIOS 多核软件开发套件(MSDK)的讨论、但这似乎更适用于 Keystone II 的异构解决方案、在该解决方案中、您的 ARM 处理器与 C66x DSP 内核进行交互。 我不想与 ARM 处理器交互、我需要在 C66x 内核上严格运行我的实现。
因此、最终的问题是:如何使用 SYS/BIOS 来计划所有8个 Keystone C66x DSP 内核上的作业?
谢谢、
Andre
Andre、
[引用 USER="ANDRE B37">我想了解的是 SYS/BIOS 是否有一种跨多(8)个 DSP 内核运行的方法、因此使用 SYS/BIOS 的调度程序来优化所有 DSP 内核的任务处理和使用。 当我使用一些 Keystone I 评估模块时、我看到通常每个 C66x DSP 内核上加载一个.out 文件。 那么、我将如何使 SYS/BIOS 在多个内核上运行、相互交互、所有进程都由一个调度程序管理? 这样、程序员(ME)就不需要手动编写调度程序来优化所有8个 C66x DSP 内核的使用(这并不是一项简单的任务)。 这可以完成、还是其中一个 DSP 内核需要作为主核-使用自定义调度程序对其他7个内核进行任务处理?
n`t、单个 SYSBIOS 映像在所有8个 DSP 内核上都不会运行。 您描述的行为称为 SMP 模式操作(对称处理模式)。 此设计要求 DSP 具有共享高速缓存。 仅在 TI RTOS 中的双核 A15和双核 M4器件上支持此运行模式、如下所述:
http://processors.wiki.ti.com/index.php/SMP/BIOS
对于 C6678的多核编程、我们支持的是 OpenMP、这是一种编译器指令、允许主代码将任务部署到从内核。 有关 OpenMP 的详细信息,请访问:
http://downloads.ti.com/mctools/esd/docs/openmp-dsp/intro.html
一个很好的示例/起点是查看 Processor SDK RTOS 中的图像处理演示、该 RTOS 使用 core0作为主内核、所有其他7个内核用作从内核。 然后、可以将块处理算法部署到从内核以加快计算速度。
http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_examples_demos.html#image-processing-demo
在此多核 DSP 器件上进行 RTOS 软件开发的起点是 Processor SDK RTOS、这是目前这些器件支持的唯一软件。 单个安装程序将安装 RTOS、驱动程序、多核编程工具、编译器、DSP 优化库以及开始软件开发所需的所有组件。 CCS IDE 是您需要为该器件单独安装的唯一工具。
http://www.ti.com/tool/PROCESSOR-SDK-C667X
希望这对您有所帮助。
此致、
Rahul