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

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及各路专家帮忙检视下,指出问题所在,不胜感激!

Ryan BL:

使用如上的代码,将MSMC地址的0x0c000000映射到0x1c000000,期望core和SRIO以及edma等外设均能从0x1c000000访问MSMC重映射空间(配置为非cache方便数据共享)现在在core上使用内存查看,core地址成功映射,但是srio的dio写操作看起来没错,但是数据用内存查看器看没有写入;烦请ti及各路专家帮忙检视下,指出问题所在,不胜感激!

Shine:

回复 Ryan BL:

感谢分享解决方法。

另外,给您一直热心回复帖子帮助其他客户点赞!

Ryan BL:

回复 Shine:

呀, 被表扬啦*—*
感谢,顺祝节日快乐!

赞(0)
未经允许不得转载:TI中文支持网 » MSMC xmc映射问题
分享到: 更多 (0)