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.

C6678 中断控制器 INTMUX 地址问题



C6678 的每个核  和 C6645的CPU 在中断处理这部分,基本一样。

文档中,对于 中断控制器的 描述,各个寄存器的地址 也 和 C6645完全一致。

问题是:

    按照理解,C6678,应该给每个核都配 一套 中断控制寄存器,可是,只看到一套地址。

比如说,INTMUX1 的地址在 0x0180 0104h,这个应该是第一个核的 INTMUX1。

那么,第二核的 INTMUX1 地址是多少呢?

是不是也是这个地址?物理空间不同

请教!

  • 一样的地址,每个core都有各自独立的一份corepac寄存器,每个core看到各自寄存器的地址均是一样,可以根据需要分别配置,在ccs上查看时,点击每个core看到的是其本身的配置状态。

  • Shine Zhang 说:

    一样的地址,每个core都有各自独立的一份corepac寄存器,每个core看到各自寄存器的地址均是一样,可以根据需要分别配置,在ccs上查看时,点击每个core看到的是其本身的配置状态。

    谢谢!

    虽然,我还没有找打在什么文档中有这个说明,不过我还是接受你的说明,谢谢!

    疑问:

    1、那么每个核 取指或读取数据的时候,什么地址是全局的,什么地址是内部的,如何区分呢?是通过地址范围还是某个其他机制?

    2、

    00800000  512K 的 Local L2 SRAM

    10800000  512K 的 CorePac0 L2 SRAM

    11800000  512K 的 CorePac1 L2 SRAM

    12800000  512K 的 CorePac2 L2 SRAM

    13800000  512K 的 CorePac3 L2 SRAM

    14800000  512K 的 CorePac4 L2 SRAM

    15800000  512K 的 CorePac5 L2 SRAM

    16800000  512K 的 CorePac6 L2 SRAM

    17800000  512K 的 CorePac7 L2 SRAM

    片上是 8个 L2 SRAM,还是 9个 L2 SRAM?

    还是说,

    片上是 8个 L2 SRAM,全局地址分别是 10800000  到 17800000 

    但是,每个核操作的时候,都是按照 地址 00800000 来操作,是这样吗?

    这个问题,本质上和第一个问题是一个问题。

    谢谢解惑,或者告诉我哪个文档可以查到这些问题的答案,谢谢!

    @Shine Zhang

  • Shine Zhang 说:

    一样的地址,每个core都有各自独立的一份corepac寄存器,每个core看到各自寄存器的地址均是一样,可以根据需要分别配置,在ccs上查看时,点击每个core看到的是其本身的配置状态。

    经过这几天的仔细研读,终于找到来源了。

    在  sprugw0c-C66x DSP CorePac User Guide.pdf 中,有如下描述:

    1、第7章 XMC 

    C66x CorePac does not present all accesses to XMC. Accesses to addresses 0000_0000 
    to 07FF_FFFF are decoded internally to C66x CorePac and not sent to XMC。

    C66x CorePac decodes logical addresses 0000_0000 – 07FF_FFFF internally, and does
    not send these to its MDMA port. The system, though, may still map peripherals in the
    corresponding physical address space 0:0000_0000 – 0:07FF_FFFF.

    2、第6章 EMC

    Configuration registers (CFG)—This port provides access to the
    memory-mapped registers which control various peripherals and resources on
    C66x devices.

    Note—This port does not provide access to those control registers found within
    the DSP or the CorePac.

    综上所述,

    地址空间 0000 0000 – 07FF FFFF 属于

    核本地L1PL1DL2 SRAM

    核内部控制器,

    其他 C6678 片上外设控制寄存器,

    所以不会送到XMC去对外寻址操作。


    在此范围内,如果是核内部寄存器,则访问的时候,地址不会通过EMCXMC外泄,

    如果是核外部的片上外设的寄存器,则通过EMC访问。


    也就是说:

    1、L1P,L1D,L2SRAM 等有8套,可用通过 全局地址互相操作; 通过本地地址 每个核 只能操作自己的;

    2、核内部控制寄存器,统统都有8套。这些寄存器没有全局地址,核之间不可以互相操作,只能每个核操作自己的部分;

         包含 C66x DSP,      L1P memory controller,     L1D memory controller,     L2 memory controller,  IDMA, EMC,XMC,BWM,INTC,PDC。

    3、其他 片上 外设寄存器,只有一套,每个核都可以操作。