首页 > 技术文章 > 定义函数到RAM中运行

neriq 2021-05-11 17:36 原文

准备

  • 修改连接脚本
  • 在RW_RAM1中添加一个 section "RAMCODE",具体语法是
 *.o(RAMCODE)

添加完成之后有两种方式可以把函数添加到RAM中运行

方式一

使用#pragma

#pragma arm section code = "RAMCODE" 
  /******放到ram中运行的函数*******/
void MyFunc(void)
{
  /*******函数实现*********/
}
  
#pragma arm section

方式二

使用 attritube


__attritube__((section("RAMCODE"))) void MyFunc(void)
{
   /*******函数实现*********/
}

结果

从map文件可以看出函数已经被链接到RAMCODE中0x2000000开始的区域。

推荐阅读