Electronic – External Code Execution on ARM Cortex M

armcortex-mflash

Is it possible to run code on the ARM Cortex M architecture from locations other than the onboard flash memory (such as another flash chip, SD card)?

If so, how?

If not, what microcontroller architecture does permit this?

Best Answer

ARM Cortex M allows code execution from Flash, internal and external RAM. External RAM (if available) needs to be set up before it can be used.

You may need to change the linker script and/or startup code, but that depends on the compiler you use.

The CCC r0ket for example loads external code into RAM and executes it.