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

am335x_sysbios_ind_sdk_01.01.01.01中案例关于MMU的初始化问题

这个sdk的案例中主函数都会使用 MMUInit(applMmuEntries),其中一个例子对applMmuEntries的定义如下,以0x48000000这个地址来说,技术手册上memory map这个地址是保留的,而这里却使用的了这个地址,有没有哪位大虾知道这些地址是如何来的?还有就是SYS_MMU_CACHEABLE、SYS_MMU_BUFFERABLE这些定义有什么作用?有没有哪份资料上有详细讲解这些的啊? 新手盼支招,先感谢各位了~~

SYS_MMU_ENTRY applMmuEntries[] = {
    {(void*)0x08000000,SYS_MMU_CACHEABLE|SYS_MMU_BUFFERABLE},  //NOR – bufferable| Cacheable
    {(void*)0x08100000,SYS_MMU_CACHEABLE|SYS_MMU_BUFFERABLE},  //NOR – bufferable| Cacheable
    {(void*)0x08200000,SYS_MMU_CACHEABLE|SYS_MMU_BUFFERABLE},  //NOR – bufferable| Cacheable
    {(void*)0x48300000,0},  //PWM – Non bufferable| Non Cacheable    {(void*)0x48200000,0},  //INTCPS,MPUSS – Non bufferable| Non Cacheable
    {(void*)0x48100000,0},  //I2C2,McSPI1,UART3,UART4,UART5, GPIO2,GPIO3,MMC1 – Non bufferable| Non Cacheable
    {(void*)0x48000000,0},  //UART1,UART2,I2C1,McSPI0,McASP0 CFG,McASP1 CFG,DMTIMER,GPIO1 -Non bufferable| Non Cacheable
    {(void*)0x44E00000,0},  //Clock Module, PRM, GPIO0, UART0, I2C0, – Non bufferable| Non Cacheable
    {(void*)0x4A300000,0},  //PRUSS1 – Non bufferable| Non Cacheable
    {(void*)0x49000000,0},  //EDMA3 – Non bufferable| Non Cacheable
    {(void*)0x49800000,0},  // EDMA in non-idle mode, Non bufferable| Non Cacheable
    {(void*)0x49900000,0},  // EDMA in non-idle mode, Non bufferable| Non Cacheable
    {(void*)0x49a00000,0},  // EDMA in non-idle mode, Non bufferable| Non Cacheable
    {(void*)0x4A100000,0},  //CPSW – Non bufferable| Non Cacheable
    {(void*)0xFFFFFFFF,0xFFFFFFFF}  };

Jian Zhou:

AM335x的TRM上的memory map一章,0x48000000是外设模块地址,并不是reserve的地址。

这个结构体应该是把需要MMU映射的地址空间列出来。

赞(0)
未经允许不得转载:TI中文支持网 » am335x_sysbios_ind_sdk_01.01.01.01中案例关于MMU的初始化问题
分享到: 更多 (0)