I am trying to develop sort of second stage bootloader that will be executed from the CCM RAM.
First stage bootloader as USB host reads image from external USB flash and write it on the CCM.
When all data are in the CCM, interrupts are disabled; Stack pointer is set accordingly, VTOR set to 0x10000000. But then jump to the address on CCM causes an exception.
Where r3 is 0x10006f5d causes hard fault.
lr(r14) = 0xffffffe9
pc(r15) = 0xfffffffe
aspr = 0x61000003
Same procedure that will write application (properly configured) in flash after the first 64K and then jump to it works fine.
Does anyone know:
1. That F429 has CCM RAM that allows instructions be executed from there?
2. Are there any specific configurations that need to be set in order to allow execution from CCM?
3. Anything else I missed to notice.