Part Number: PROCESSOR-SDK-AM335X
Other Parts Discussed in Thread: SYSBIOS
Tool/software: Code Composer Studio
I am running my program on AM335x and i am running into data abort exception.
I see "CortxA8: Unhandled ADP_Stopped exception 0x20023" on my console when exception occurs and the ROV looks like below
MMU configuration in the .cfg file looks like below
/***********************************************
* MMU Configuration *
***********************************************/
var Mmu = xdc.useModule('ti.sysbios.family.arm.a8.Mmu');
Mmu.enableMMU = true;
var peripheralAttrs = {
type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
tex: 1,
bufferable : true, // bufferable
cacheable : true, // cacheable
shareable : false, // shareable
noexecute : false, // not executable
};
/* MMU configuration for NOR - bufferable| Cacheable */
var peripheralBaseAddr = 0x08000000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for NOR - bufferable| Cacheable */
var peripheralBaseAddr = 0x08100000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for NOR - bufferable| Cacheable */
var peripheralBaseAddr = 0x08200000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* Force peripheral section to be NON cacheable strongly-ordered memory */
var peripheralAttrs = {
type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
tex: 0,
bufferable : false, // bufferable
cacheable : false, // cacheable
shareable : false, // shareable
noexecute : false, // not executable
};
/* MMU configuration for PWM - Non bufferable| Non Cacheable */
var peripheralBaseAddr = 0x48300000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for INTCPS,MPUSS - Non Bufferable| Non Cacheable */
var peripheralBaseAddr = 0x48200000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for I2C2,McSPI1,UART3,UART4,UART5, GPIO2,GPIO3,MMC1 - Non bufferable| Non Cacheable */
var peripheralBaseAddr = 0x48100000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for UART1,UART2,I2C1,McSPI0,McASP0 CFG,McASP1 CFG,DMTIMER,GPIO1 -Non bufferable| Non Cacheable */
var peripheralBaseAddr = 0x48000000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for UART1,UART2,I2C1,McSPI0,McASP0 CFG,McASP1 CFG,DMTIMER,GPIO1 -Non bufferable| Non Cacheable */
var peripheralBaseAddr = 0x48030000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for Clock Module, PRM, GPIO0, UART0, I2C0, - Non bufferable| Non Cacheable */
var peripheralBaseAddr = 0x44E00000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
var peripheralAttrs = {
type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
tex: 1,
bufferable : true, // bufferable
cacheable : false, // cacheable
shareable : true, // shareable
noexecute : false, // not executable
};
/* MMU configuration for //PRUSS1 -Bufferable| Non Cacheable | Shareable */
var peripheralBaseAddr = 0x4A300000; // Should it be bufferable??
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
var peripheralAttrs = {
type : Mmu.FirstLevelDesc_SECTION, // SECTION descriptor
tex: 0,
bufferable : false, // bufferable
cacheable : false, // cacheable
shareable : false, // shareable
noexecute : false, // not executable
};
/* MMU configuration for EDMA3 - Non bufferable| Non Cacheable */
var peripheralBaseAddr = 0x49000000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for L4 FAST CFG- Non bufferable| Non Cacheable */
var peripheralBaseAddr = 0x4A000000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
/* MMU configuration for CPSW - Non bufferable| Non Cacheable */
var peripheralBaseAddr = 0x4A100000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
var peripheralBaseAddr = 0x49a00000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
var peripheralBaseAddr = 0x49900000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
var peripheralBaseAddr = 0x49800000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
var peripheralBaseAddr = 0x40300000;
Mmu.setFirstLevelDescMeta(peripheralBaseAddr, peripheralBaseAddr, peripheralAttrs);
can anyone help me on what could be causing this data abort and how to resolve this?