8148上的M3,由A8上电初始化时,MMU是不是必须配置?默认不配置的话访问内存或者寄存器是不是会出错?在syslink模块中,加载程序到M3处理器时,是不是已经做了MMU的初始化了?好像是在$syslink/packages/ti/syslink/samples/hlos/slaveLoader/ti81xx_memmap.txt 中?这个文件?
还有个问题是在M3的sys/bios工程中,配置文件.cfg中加载AMMU模块,有如下语句:
/* configure ammu (because unicache is enabled) */
var AMMU = xdc.useModule('ti.sysbios.hal.ammu.AMMU');
/* increase small page 1 to 16 KB (to access timers) */
var entry = AMMU.smallPages[1];
entry.pageEnabled = AMMU.Enable_YES;
entry.translationEnabled = AMMU.Enable_YES;
entry.logicalAddress = 0x40000000;
entry.translatedAddress = 0x55080000;
entry.size = AMMU.Small_16K;
entry.L1_cacheable = AMMU.CachePolicy_NON_CACHEABLE;
/* map program code/data memory into ammu (cacheable) */
var entry = AMMU.largePages[1];
entry.pageEnabled = AMMU.Enable_YES;
entry.translationEnabled = AMMU.Enable_NO;
entry.logicalAddress = configBld.ammu.prgmBaseAddr;
entry.size = AMMU.Large_512M;
entry.L1_cacheable = AMMU.CachePolicy_CACHEABLE;
这段语句是分别开启MMU转换的。在第一段语句中,开启0x40000000虚拟地址到0x55080000物理地址的转换。转换总的size为16K。意思是当往0x40000000地址上写值,会写入物理地址0x55080000地址中去。不会被L1CACHE。
第二段语句则是关闭MMU转换。configBld.ammu.prgmBaseAddr就是真实的物理地址。总大小为512M。而且已经被L1cache。不知道这样理解对不对?
Chris Meng:
你好,
M3的MMU是在加载M3的firmware的时候配置的。M3的MMU是一定需要配置的。你可以参考相关cfg文件。
两端AMMU配置里面entry.pageEnabled = AMMU.Enable_YES,我认为AMMU还是使能的。
Chris Meng:
回复 Chris Meng:
你好,
pageEnabled = AMMU.Enable_YES就表示AMMU是使能的。
如果 logcaladdress=translatedAddress,那 translationEnabled 就可以等于 AMMU.Enable_NO,否则必须等于AMMU.Enable_YES。
ma lingshen:
回复 Chris Meng:
我现在还不是特别明白AMMU到底控制的是那个协处理器的?
是两个M3共享的吗?DSP是有自己的MMU的.
再个ti文档的框图
把AMMU框到dsp的mega模块里面去,不知道怎么理解?
还有,文档上提到816x系统总共有四个MMU.
1.5.1 MMU Overview
A memory management unit (MMU) is a hardware component responsible for handling accesses to
memory requested by a processing unit. MMU functions include translation of virtual addresses to physical
addresses (that is, virtual memory management).
The device contains the following MMUs:
• System MMU for C674x DSP and other requestors (please refer to the device specific data manual for other requestors)
• L1 Shared cache MMU and L2 MMU in Media Controller Subsystem
• ARM® Cortex™-A8 MMU
• SGX530™ MMU很想弄清楚CortexM3上电初始化的这个AMMU指的是哪一个?谢谢
ma lingshen:
回复 ma lingshen:
有人吗?
ma lingshen:
回复 Chris Meng:
TI8148 M3 地址转换问题
我有新的问题,原帖也没有人解决。
麻烦你看看,谢谢
ma lingshen:
回复 Chris Meng:
能帮忙看看我的问题吗?谢谢