Hi @D_TTSA
No, you misunderstand me!
The low power project is just the example to me to talk this case, of course, there still have other projects like that.
Answer your questions:
1 Has nothing to do with improving performance
--Answer: why you understand the TCM code running performance not higher than the external flash?
internal TCM code running speed more quick that the external flash, so that is the performance changing.
Performance is not the only item, the codeQuickAccess also can avoid some conflict for the cache and the flexSPI, etc. As it run in the internal TCM which don't need cache.
2 Is purely for keeping code in the internal RAM (so, copying the code from FLASH into RAM) so that when you go into low-power mode and you can't access the FLASH, you can still run the code in RAM.
--Answer: No, some code have conflict with the flexSPI, eg, when do the low power clock switch, if it run in the external flexSPI, it will caused the issues, so the that code need to put in the internal TCM and run it in internal RAM. Just some code is special.
3. Are you absolutely sure that this isn't linked to how SRAM_ITC improves performance of the code that is placed in that section? If not, the "CodeQuickAccess" name is rather misleading.
--Answer: Code run in internal TCM is the quick code, the TCM clock speed is higher than the external flash, as you know, external flash also need to do the communication with the flexSPI interface, and the clock speed is slower than the TCM.
Wish it helps you!
Best Regards,
Kerry