看板 ASM 關於我們 聯絡資訊
你的問的應該是要把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://www.ptt.cc/bbs/ASM/M.1527173256.A.91D.html