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.

MSMC xmc映射问题



void
Xmc_map(
    uint8_t  priorityIndex,
    uint32_t pa4K,
    uint32_t va4k,
    uint8_t  pow2Size,
    uint8_t  premission
){
    uint32_t H = CSL_FMK(XMC_XMPAXH_BADDR, va4k)
               | CSL_FMK(XMC_XMPAXH_SEGSZ, pow2Size);
    uint32_t L = CSL_FMK(XMC_XMPAXL_RADDR, pa4K)
               | CSL_FMK(XMC_XMPAXL_PERM, premission);

    hXmc->XMPAX[priorityIndex].XMPAXH = H;
    hXmc->XMPAX[priorityIndex].XMPAXL = L;

    //MAP MSMC, this is only used for MSMC remap right now.
    if (premission & MPAX_EXT) {
        int master = DNUM;

        CSL_MSMC_unlockSES(DNUM);
        hMsmc->SES_MPAX_PER_PRIVID[master].SES[7-priorityIndex].MPAXH = H;
        hMsmc->SES_MPAX_PER_PRIVID[master].SES[7-priorityIndex].MPAXL = L;
        CSL_MSMC_lockSES(DNUM);

        if (DNUM == 0) {//map other peripheral masters.
            for (short master = 8; master < 16; master++) {
                CSL_MSMC_unlockSES(DNUM);
                hMsmc->SES_MPAX_PER_PRIVID[master].SES[7-priorityIndex].MPAXH = H;
                hMsmc->SES_MPAX_PER_PRIVID[master].SES[7-priorityIndex].MPAXL = L;
                CSL_MSMC_lockSES(DNUM);
            }
        }
    }
}

使用如上的代码,将MSMC地址的0x0c000000映射到0x1c000000,期望core和SRIO以及edma等外设均能从0x1c000000访问MSMC重映射空间(配置为非cache方便数据共享)
现在在core上使用内存查看,core地址成功映射,但是srio的dio写操作看起来没错,但是数据用内存查看器看没有写入;

烦请ti及各路专家帮忙检视下,指出问题所在,不胜感激!