Electronic – Which ARM Cortex M chips allow for execution from RAM

arm

I've been playing around with writing operating system-like software, mostly as a self learning experience. I've been doing this on the Atmel AVR processor, since it's simple enough for me to understand and get a program going quickly. I now want to move into an architecture in which the user stores programs that are run in RAM. I know that some Cortex-M chips can run from RAM, but I've heard that this is not universal. I've checked out the datasheets for a number of them from a few different manufacturers, but I can't find any reference to execution from RAM. For what it's worth, I have one of these: http://www.nxp.com/assets/documents/data/en/data-sheets/KL27P64M48SF2.pdf I also have an Atmel SAMD-10, but I hate the ASF like rats so I'd rather avoid using it.

Can the chips I have execute from RAM? Is there anything I should be looking for in a datasheet that indicates whether or not this is possible?

Best Answer

I know that some Cortex-M chips can run from RAM, but I've heard that this is not universal.

You heard wrong. All Cortex-M chips can execute code from RAM addresses and from off-chip external ram should they support an external memory controller.

Only the interrupt vector table has a few more restrictions, which require you to put that table into on-chip ram or flash - see VTOR register description.

Note: Memory maps which describe where code is executable can be found in the coresponding ARM Architexture Reference Manual.