打印
[XMC™]

如何把代码放在RAM区域

[复制链接]
494|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( ) ;
}


使用特权

评论回复
评论
mega99 2024-6-29 10:22 回复TA
把代码放到RAM区,实际上还是要保存在FLASH区的,任何在RAM里变量,要占用FLASH区,上电后载入到RAM 
沙发
IFX-LeiSUN| | 2024-6-28 16:58 | 只看该作者
代码放到RAM里面跑可以获得更好的代码执行速度和效率,很实用的方法。

使用特权

评论回复
板凳
gaonaiweng| | 2024-6-30 16:36 | 只看该作者
HAL层提供了GPIO初始化方法cyhal_gpio_init

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

18

帖子

0

粉丝