作者easypro ()
看板ASM
标题Re: [问题] 程式载入记忆体问题
时间Thu May 24 22:47:34 2018
你的问的应该是要把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的进入点位置。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.165.2.120
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1527173256.A.91D.html