Hi,
I have a question : How is MMU module enabled (xdc.useModule-ed) in XDCTool Framework on AM335x platform ?
When I build my application with SYS/BIOS, MMU looks like being enabled by default.
My environment looks like below:
- CCSv5.3
- SYS/BIOS 6.34.4.22 (installed to default path, i.e., C:\ti)
- XDCTool 3.24.5.48 (installed to default path, i.e., C:\ti)
- RTSC parameters
- Target : ti.target.arm.elf.A8Fnv
- Platform: ti.platforms.evmAM3359
- Build-profile: release
So, I needed to disable MMU explicitly in .cfg file to disable MMU.
According to my investigation, MMU is being configured during BIOS configuration time, and every physical memory which app is using (originated from app memory map)
is mapped to logical address. And this is done by module$static$init() in Mmu.xs in ti.sysbios.family.arm.a8 package path.
I think I have already had RTSC basics and according to my understanding, I think module$static$init() is basically called only if xdc.useModule('ti.sysbios.family.arm.a8.Mmu') is in .cfg file. But actually, this description is not in my .cfg file.
So how does RTSC frame work understand MMU should be xdc.useModule-ed ?
"deviceTable" in Settings.xs from ti.sysbios.family.arm ?
If so,can I understand the modules in the "deviceTable" properties are recognized by XDC framework
to be xdc.useModule-ed by default ?
FYI, the following is extracted from Settings.xs (from ti.sysbios.family.arm)
"ti.catalog.arm.cortexa8": {
"TI81XX": {
hwiDelegate : "ti.sysbios.family.arm.a8.intcps.Hwi",
timerDelegate : "ti.sysbios.timers.dmtimer.Timer",
timerSupportDelegate : "ti.sysbios.family.arm.a8.ti81xx.TimerSupport",
timestampDelegate : "ti.sysbios.family.arm.a8.TimestampProvider",
taskSupportDelegate : "ti.sysbios.family.arm.TaskSupport",
intrinsicsSupportDelegate : "ti.sysbios.family.arm.IntrinsicsSupport",
bootModule : null,
cacheDelegate : "ti.sysbios.family.arm.a8.Cache",
coreDelegate : null,
mmuModule : "ti.sysbios.family.arm.a8.Mmu",
clockTickPeriod : 1000,
targets : [ "ti.targets.arm.elf.A8F" ]
},