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 L2地址映射



TI工程师,你们好,在查看PDF有关C6678地址映射时,我有个疑问:

1.有个地址段是0x00800000--0x0087FFFF,这512K的local L2SRAM是真实的物理空间吗?还是0-7核的一个虚拟映射?因为PDF上有说,每个核(0-7核)访问该段地址,就相当于访问其自身的L2,那该段地址和核本身的L2究竟是什么关系呢?这一块不是很懂!

2.如果多个核的cmd中都把程序和数据分配到0x00800000--0x0087FFFF,那么这些程序和数据运行时是在这些核自身的L2中 还是 都在0x00800000--0x0087FFFF中呢?如果都在0x00800000--0x0087FFFF地址段中,那么这多个核的程序和数据会不会互相覆盖掉呢?

请工程师们答疑解惑下,不胜感激,谢谢!!

  • L2是实际的地址 0x00800000--0x0087FFFF相对于自身的局部地址

    在全局中,它们映射的地址是不一样的  因此不会相互覆盖,你要想读的其他核中的L2可以通过全局地址或者MSMC去读

    你可以参考datasheet 去看每一个核的L2地址分布 还是比较清晰的

  • 你好,yaohui wang1。我有个疑问,请教下:

    如果我将0核和1核工程的cmd所有代码和数据分配在 0x00800000--0x0087FFFF地址段,那么实际上他们是怎么分配的呢?是分别在全局地址0x10800000-0x1087FFFF,0x11800000-0x1187FFFF中,还是说他们都是在局部地址 0x00800000--0x0087FFFF段内呢?

  • 对于每一个核都是访问的自己的L2

    比如core0 访问0x00800000--0x0087FFFF 那么实际访问的是0x10800000-0x1087FFFF

    core1访问0x00800000--0x0087FFFF 那么实际访问的是0x11800000-0x1187FFFF

    这是统一的全局编址,虽然看起来是每个核访问的地址相同,但实际上还是不同地址

  • 哇,回复的好快!理解了,多谢指教!

  • 您好

    在cmd文件中,memory 部分L2的设置设为0x00800000-0x0087FFFF,load时将8个核group是将程序下载到8个核吗?

    如果设置为0x10800000-0x1087FFFF,load时8个核group下载可以下载到8个核里面吗?

    因为数据部分过大memory部分还包括DDR3的空间,section中将.far 指向DDR3部分,其余指向0x00800000-0x0087FFFF,load到8个核里运行,这种设置是正确的吗?