Other Parts Discussed in Thread: SYSCONFIG
Hello,
I'm getting a HwiP_data_abort_handler interrupt triggered when trying to read a byte @ 0x51000000 (GPMC0_DATA). The configuration is described below:
- Using the SBL boot for R5F0_0, MPU zone defined for GPMC0_DATA (0x50000000 with 128MB size, Supervisor RD+WR, User RD+WR and cached).
- After Bootloader_socWaitForFWBoot(), the following is done:
+ GPMC: powered up, clock enabled, reset done (and wait for reset done), parent clock and clock set
+ Confirmed the above all good, read back clock, read REVID ok (GPMC0_CFG).
- When trying to read a byte in GPMC0_DATA memory zone (ldrb r0,[r0] with r0=0x51000000), the HwiP_data_abort_handler() is triggered
the following CP15 registers could point to the problem (DATA_FAULT_ADDRESS = 0x51000000 & DATA_FAULT_STATUS 0x00001008):
CP15_ID_CODE 0x411FC153 Core
CP15_MAIN_ID 0x411FC153 Core
CP15_CACHE_TYPE 0x8003C003 Core
CP15_TCM_TYPE 0x00010001 Core
CP15_MPU_TYPE 0x00001000 Core
CP15_MULTIPROCESSOR_ID 0xC0000000 Core
CP15_PROCESSOR_FEATURE_0 0x00000131 Core
CP15_PROCESSOR_FEATURE_1 0x00000001 Core
CP15_DEBUG_FEATURE_0 0x00010400 Core
CP15_AUXILIARY_FEATURE_0 0x00000000 Core
CP15_MEMORY_MODEL_FEATURE_0 0x00210030 Core
CP15_MEMORY_MODEL_FEATURE_1 0x00000000 Core
CP15_MEMORY_MODEL_FEATURE_2 0x01200000 Core
CP15_MEMORY_MODEL_FEATURE_3 0x00000211 Core
CP15_INSTRUCTION_SET_ATTRIBUTE_0 0x02101111 Core
CP15_INSTRUCTION_SET_ATTRIBUTE_1 0x13112111 Core
CP15_INSTRUCTION_SET_ATTRIBUTE_2 0x21232141 Core
CP15_INSTRUCTION_SET_ATTRIBUTE_3 0x01112131 Core
CP15_INSTRUCTION_SET_ATTRIBUTE_4 0x00010142 Core
CP15_INSTRUCTION_SET_ATTRIBUTE_5 0x00000000 Core
CP15_CURRENT_CACHE_SIZE_ID 0xF01FE019 Core
CP15_CURRENT_CACHE_LEVEL_ID 0x09200003 Core
CP15_CACHE_SIZE_SELECTION 0x00000001 Core
CP15_SYSTEM_CONTROL 0x01E5187D Core
CP15_AUXILIARY_CONTROL 0x0E000020 Core
CP15_COPROCESSOR_ACCESS 0xC0F00000 Core
CP15_DATA_FAULT_STATUS 0x00001008 Core
CP15_INSTRUCTION_FAULT_STATUS 0x00000000 Core
CP15_AUX_DATA_FAULT_STATUS 0x00000000 Core
CP15_AUX_INSTRUCTION_FAULT_STATUS 0x00000000 Core
CP15_DATA_FAULT_ADDRESS 0x51000000 Core
CP15_INSTRUCTION_FAULT_ADDRESS 0x00000000 Core
CP15_MPU_REGION_BASE_ADDRESS 0x50000000 Core
CP15_MPU_REGION_SIZE_ENABLE 0x00000035 Core
CP15_MPU_REGION_ACCESS 0x0000130B Core
CP15_MPU_REGION_NUMBER 0x00000006 Core
Please let me know if you have some thoughts on what could be the cause and how to fix it.
Thank you,
Mehdi