Re: [问题] 程式加载内存问题

楼主: easypro   2018-05-24 22:47:34
你的问的应该是要把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的进入点位置。

Links booklink

Contact Us: admin [ a t ] ucptt.com