Dear Team,
I created custom project for our custom board using (AM335X_StarterWare_02_00_00_07) SDK and the MMU initialization function hanging at CP15TlbInvalidate();.
but example projects same function is working properly.
/******************************************************************************
** INTERNAL MACRO DEFINITIONS
*******************************************************************************/
#define LEN_IP_ADDR (4u)
#define ASCII_NUM_IDX (48u)
#define START_ADDR_DDR (0x80000000)
#define START_ADDR_DEV (0x44000000)
#define START_ADDR_OCMC (0x40300000)
#define NUM_SECTIONS_DDR (512)
#define NUM_SECTIONS_DEV (960)
#define NUM_SECTIONS_OCMC (1)
void MMUInit(unsigned int *masterPt)
{
unsigned int idx;
/* Invalidate the TLB entries */
CP15TlbInvalidate();
/* Set domain access rights */
CP15DomainAccessClientSet();
/* Disable TEX remapping, Access Flag usage and alignment check */
CP15ControlFeatureDisable( CP15_CONTROL_TEXREMAP
| CP15_CONTROL_ACCESSFLAG
| CP15_CONTROL_ALIGN_CHCK
| CP15_CONTROL_MMU);
/* Configure the TTB Control register to use only TTB0 */
CP15TtbCtlTtb0Config();
/* Se the master page table with fault entries */
for(idx = MMU_PAGETABLE_NUM_ENTRY; idx !=0; idx--)
{
*masterPt++ = MMU_PAGETABLE_ENTRY_FAULT;
}
}
Regards,
Naga Narasimha Rao