TI中文支持网
TI专业的中文技术问题搜集分享网站

关于C6678的地址映射

大家好:

      对于C6678现在的工程,八个核使用同一个.out文件,load的时候将.out load在了每个核的LL2 SRAM里面,这样每个核都可以在自己的L2 SRAM里面执行对应的工程。

     现在我想将.out放在DDR里面,那么有个问题,由于DDR是八核共享的,如果所有核都执行这样同一个.out的话那肯定会造成访问冲突的问题,所以可以使用MPAX产生映射关系,例如core 0将0xB0000000映射到0x80000000,core 1将0xB00000000映射到0x81000000.。。。。。core7将0xB0000000映射到0x87000000,只需修改.cmd文件为0xB0000000,这样load的时候对于每个核的.out就放在了不同的物理空间开始执行,从而避免了访问冲突的问题。

    但对于如何实现上面说的我想要的功能目前还不是太清楚,对于MPAX的使用也不是很熟悉,能不能大概介绍下我需要做哪些过程以及一些资料提供?

   谢谢!

Adam Yao94020:

同一个out,说明代码段是共享的,可以不需要为每个核做不同的地址映射,而使用同一个地址映射。代码中的每个核私有的变量,可以分配到LL2中,这样也不需要映射了。

studying:

回复 Adam Yao94020:

Adam,

    您好,由于LL2的空间比较小,只有512KB,所以如果以后代码量变大的话LL2可能会装不下,所以我打算放在DDR中。请问是否有MPAX映射DDR地址的相关代码例程?MPAX寄存器的配置是在.cfg中配置的吗?还是在GEL中?

Adam Yao94020:

回复 studying:

我明白你的意思,我上面回复的意思是:如果代码段都是相同的话,可以直接在DDR上开一份共享的空间保存代码,每个核对这段地址不做映射,也就是实地址等于虚地址,这个过程跟你把代码放在LL2上时相同的,不用做MPAX映射。前面回复中提到要做DDR地址映射,是适合每个核各自有一份代码段,各个核代码都不相同的情况。

studying:

回复 Adam Yao94020:

Adam,

      您好,但如果这样做的话八个核是并行运行的,它们都在同一块DDR同时跑同样的代码,这样是否可行?会不会造成访问冲突的问题?

赞(0)
未经允许不得转载:TI中文支持网 » 关于C6678的地址映射
分享到: 更多 (0)