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.

TI8148 M3 地址转换问题

Other Parts Discussed in Thread: SYSBIOS

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。不知道这样理解对不对?