你的问的应该是要把code放置RAM上做执行吧
以efm32为例,使用GCC语法
会在程式上加__attribute__((section(".ram")))
例如
__attribute__((section(".ram")))
void foo(int a, int b)
{
int i;
}
加上后当boot开做.init时,就会把程式搬进ram上,
之后程式呼叫会以ram执行的型态去执行,这种方法通常会用在bootloader上,
加快程式的执行速度,在Linker时期会依据.icf的设定去放置并排序,
程式foo的进入点你看应该会看到它ram上执行,
而且所有相对应的呼叫也会指到ram的进入点位置。