你说的ARM的范围太光了。
一、
MCU,类似于STM32,一般可以通过设置boot引脚的状态来选择程序是在Flash还是RAM运行。
有一些网友说的SRAM应该是外部扩展的RAM,而不知道你要问的应该是内部的RAM吧。
在FLask与在RAM都是可以通过你的配置进行选择的。要用到分散加载,即sct文件。
一般情况下,程序中使用的变量、参数都是在RAM中的,你编译时,如果设置一个很大的数组的话,是会报错的。
二、
CPU、SOC类ARM
这类一般都是将程序加载的RAM中去执行的。
这类芯片,一般都是会有外部的DDR,速度与容量都大一些。