imx6sx DDR cacheability

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6sx DDR cacheability

Jump to solution
1,110 Views
catalinzafiu
Contributor I

Hello Everybody,

I have a bare-metal code running on M4 core.

The core executes, from DDR, much slower than expected, that means more than 10 times slower than executing from TCM.

I suspect the cache is not properly configured.

The cache controller is enabled using the LMEM_EnableSystemCache() and LMEM_EnableCodeCache() provided by NXP on FreeRTOS example.There is no effect for execution time after calling LMEM functions.

I did not find anything about cacheability.

Is there any way to define/check the DDR cacheability for M4? I mean to define DDR regions as cacheable/non-cacheable.

Thanks

Labels (1)
0 Kudos
1 Solution
831 Views
Yuri
NXP Employee
NXP Employee

Hello,

  The base address of LMEM is 0xE008_2000.

The RM in section 13.11 (LMEM Memory Map/Register Definition) contains

misprints.

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

5 Replies
832 Views
Yuri
NXP Employee
NXP Employee

Hello,

  The base address of LMEM is 0xE008_2000.

The RM in section 13.11 (LMEM Memory Map/Register Definition) contains

misprints.

Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

831 Views
catalinzafiu
Contributor I

Thanks Yuri,

I have updated the base address. The cache is working now, the execution time is as expected.

After enabling the cache, the Segger J-Link debugger seems not able to stop in breakpoints. Do you have any hint for that?

Regards,

Catalin

0 Kudos
831 Views
johnesmith
Contributor II

Hi, as I understood the cacheability has effect on the whole DDR region, right? Is it possible to enable the cacheability for a specified DDR region?

0 Kudos
831 Views
Yuri
NXP Employee
NXP Employee

Hello,

  perhaps the problem concerns with the fact, that cache coherency

is not provided in i.MX6 SX. The debugger is working in physical addresses.

Regards,

Yuri.

0 Kudos
831 Views
catalinzafiu
Contributor I

Thanks Yuri

0 Kudos