Issues in Cortex A9 bareboard code if L2 cache controller registers are not mapped

Hi

I have written a bareboard code for i.MX6 (Cortex A9 Quad core). I am activating and using only one core.  Once I enable the MMU, code throws random exceptions. Both L1 and L2 caches are disabled. The interesting part is that if I just map the memory mapped register space of L2 cache controller (L2C 310) in MMU (Cache is still disabled), exceptions do not come. Not able to figure out what L2 cache controller mapping do without enabling the cache.

Deepak

Parents
  • "code throws random exceptions" - did you check what exceptions were generated, what sources?

    "I just map the memory mapped register space of L2 cache controller (L2C 310) in MMU (Cache is still disabled), exceptions do not come" - memory mapping is a process of binding virtual to physical addresses, particularly you wrote memory mapping table for MMU and no exceptions were generated, that is because they could be generated only when actually accessing the memory-mapped region. Try to access memory-mapped region of memory, registers of L2-cache controller when the controller is not enabled.

Reply
  • "code throws random exceptions" - did you check what exceptions were generated, what sources?

    "I just map the memory mapped register space of L2 cache controller (L2C 310) in MMU (Cache is still disabled), exceptions do not come" - memory mapping is a process of binding virtual to physical addresses, particularly you wrote memory mapping table for MMU and no exceptions were generated, that is because they could be generated only when actually accessing the memory-mapped region. Try to access memory-mapped region of memory, registers of L2-cache controller when the controller is not enabled.

Children
More questions in this forum