Part Number:PROCESSOR-SDK-AM437X
Tool/software: TI-RTOS
I want to access the first address 0x1000000(physical address) on a SRAM chip(8bits/512KByte), CPU is the AM4376, and no OS(pdk_am437x_1_0_10).
If I disable all the MMU and cache, It can work(I can get the active chip select signal from the oscilloscope). but because of other requirements, I have to enable the MMU and cache, the code is:
MMUConfigAndEnable();
CACHEEnable(CACHE_IDCACHE, CACHE_INNER_OUTER);
this functions is in the file:C:\ti\pdk_am437x_1_0_10\packages\ti\starterware\examples\example_utils\example_utils_mmu.c
but the program was throwed into AbortHandler interrupt.
How to change code to access to the first address 0x1000000(physical address)?
also, I notice that in function MMUConfigAndEnable(), there are this structure:
mmuMemRegionConfig_t regionOcmc =
{
0,
NUM_SECTIONS_OCMC, /* Number of pages */
1U*MEM_SIZE_MB, /* Page size - Min 1MB */
MMU_MEM_ATTR_NORMAL_NON_SHAREABLE,
MMU_CACHE_POLICY_WT_NOWA, /* Inner */
MMU_CACHE_POLICY_WB_WA, /* Outer */
MMU_ACCESS_CTRL_PRV_RW_USR_RW,
FALSE /* Non Secure memory */
};
Please explain its function.