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.

咨询专家关于6678多核心如何在DDR中同时加载和运行相同代码副本问题



咨询专家关于6678多核心如何同时加载和运行相同代码副本问题。

CCS5.2环境,硬件EVM6678L。

问题是这样产生的,实际工程代码需要使用LLD,特别是edma3,这样就导致代码较大,完全无法装入L2SRAM中运行,况且还必须将L2留出较多空间用于数据处理,这样就非常迫切需要将代码放入DDR中运行,如果不采取措施,堆栈和cache一致性问题都导致程序无法运行。

目前希望能借助逻辑地址到物理地址的映射实现代码动态运行。请问专家:

1、是否每个核心均有16个MPAX,能够实现不同核心相同逻辑地址不同物理地址的目的?

2、如果每个核心都有16个MPAX,用gel配置完成映射后,仿真器加载的代码应该是按照逻辑地址加载到每个核心的,请问这样的理解对吗?

3、这个方法是否是实现多核心在DDR中运行相同的代码副本的最佳方法,有其他更好的方法吗?

4、能否给个例子参考?

  • 每个核确实分别有16个MPAX,可以分别进行地址映射配置。DSP复位情况下最低两个MPAX完成了L2, SL2, DDR的初始映射,一般情况下使用初始映射即可。对于你说的多核共享代码,每个核需要一个独立的cmd文件进行数据空间的独立划分,即每个核对共享代码分配不同地址段的堆栈空间。

  • 事实上不再需要多个cmd文件了,8个核8个cmd麻烦点而已,要是20处理器160核心160cmd就全晕了