We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
You can play some tricks using cache lockdown of some ways in the L2 cache, but it is increasingly an option not implemented in newer Cortex-A profile cores so not always available.Cortex-R profile cores tend to have better alternatives available - such as TCM.
Their cache implementations don't implement cache lockdown, so you can't keep the data in the cache, and all cache therefore needs to be backed by real memory.TCM is really only needed for real-time environments, so the Cortex-R cores still implement it. Cortex-A is targeting "Big OS" - Linux, Symbian, Android, Windows RT, etc. In these environments it is very hard to make use of dedicated memories, and they complicate / slow down the L1 memory hierarchy, so it is not supported.See above.HTH, Iso
I don't think that's going to work. If you use the CPU to do the copy of the second boot loader it is simply going to overwrite the first level bootloader. Locking things down in the cache does not make them immutable, nor change the fact that both bits of code exist at the same address =)Footnote - most devices have a small SRAM on chip for doing precisely what you are doing so you have some scratch RAM before main memory is available.Iso
I cannot understand why the newer Cortex-A cores cannot support this trick?
and for TCM, i remembered that ARM9 can also support this, why doesn't Cortex-A support this?
i suppose the TCM is similar to cache and can be integrated to all ARM core, is it correct?