[XMC™] 如何把代码放在RAM区域

[复制链接]
878|3
 楼主| IFX-XiaoluZhu 发表于 2024-6-28 10:30 | 显示全部楼层 |阅读模式
如何把代码放在RAM区域
1.如果需要把某个函数放在RAM中运行,首先在sct文件中增加一个RAMCODESECTION
LR_IROM1 0x08000000 0x00010000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00010000  {  ; load address = execution address
    *.o (RESET, +First)
    *(InRoot$$Sections)
    .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x0000FFC0  {  ; RW data
    *.o (RAMCODESECTION)
    .ANY (+RW +ZI)
   }
  }
接着在程序中把RAMCODESECTION作为某个函数的前缀,则这个函数就会运行在RAM中,例如
  __attribute__( ( section ( "RAMCODESECTION" ) ) ) void run_in_ram( void )
{
     __nop( ) ;
}


评论

把代码放到RAM区,实际上还是要保存在FLASH区的,任何在RAM里变量,要占用FLASH区,上电后载入到RAM  发表于 2024-6-29 10:22
IFX-LeiSUN 发表于 2024-6-28 16:58 | 显示全部楼层
代码放到RAM里面跑可以获得更好的代码执行速度和效率,很实用的方法。
gaonaiweng 发表于 2024-6-30 16:36 | 显示全部楼层
HAL层提供了GPIO初始化方法cyhal_gpio_init
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部