Dear All
This means disable ITCM, as OCRAM cannot be disabled. I tried and ends up a hard fault, any idea please? I am using EVK_RT1024.
Regards!
Ping
Hi Ping
It is possible to configure ITC from 0k to 256k (in 32k steps)
Also DTC from 0k to 256k
As long as (ITC + DTC + OCRAM) <= 256k
OCRAM can also be set to 0k to maximise DTC and ITC sizes.
See the chapter "RAM and Cache" in the uTasker i.MX RT 1024 Developer's document: https://www.utasker.com/docs/iMX/i.MX_RT_1024_uTasker.pdf
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements
For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: https://www.utasker.com/iMX/RT1024.html
Thanks, Mark
But the options of 256K DTCM is not listed in AN12077. 0k OCRAM is not listed neither, does it mean it needs to have some OCRAM at least?
Regards!
Ping
Hello Ping,
The ROM bootloader uses 64KB of OCRAM. This is why there isn't any configuration with the fuses with 0 OCRAM.
Regards,
Victor
Hi, Victor
Thanks for reply, what is the minimum requirement for ITCM? I noticed there is always ~5k bytes there, which is not my user variable. What are they used by? May I use it for my user variables?
Regards!
Ping
Hello Ping,
ITCM and DTCM don't have a restriction as OCRAM. You could leave these two with a size of 0, and you won't have any problems.
Regards,
Victor
Hi Ping
AN12077 lists the possible eFUSE settings and is not a complete list - there are many more ways to configure the FlexRAM (I think 512 different ways in total).
At https://www.utasker.com/iMX/RT1024.html you can find a binary file for the EVK which uses OCRAM set to 0 in order to maximise closely coupled RAM size (which is 4x faster than OCRAM).
The ROM Loader uses 64k of OCRAM for its operation and this is probably why there is no standard eFUSE setting for less that 64k. However it is easy to work-around this and use 0k OCRAM:
- before commanding a software reset set the FlexRAM back to its default layout
- catch WDOG resets (using its SW interrupt) to set the FlexRAM back to its default layout before the watchdog reset completes
If this is not done the ROM Loader fails since the FlexRAM setting is retained across warm resets (so it can't use stack). If these simple work-arounds are not done one needs to accept that 64k of OCRAM is needed and so performance potentially reduced.
Regards
Mark