iar 堆栈设置_IAR小课堂| 如何在代码中获取段的地址

3f2f6eba26c72c53c0e169a31f47fff7.gif

IAR的编译器支持通过内建的section专用运算符来获取段(section)或块(block)的起始地址、结束地址和大小。这些运算符可以使用链接器配置文件中定义的段和块,例如,可用于在代码中获取堆栈的地址和大小,因为堆栈是一个块。

__section_begin 返回指定的段或块的起始地址;

__section_end   返回指定的段或块的结束地址;

__section_size  返回指定的段或块的大小,以字节为单位。

使用方法

Section运算操作不是标准的C语言特性,如果使用section运算操作,需要在IAR的编译器设置里面,设置语言一致性为“Standard with IAR 

extensions”。

7e2ce1c10b435a869846a3d45978c463.png

图 1 语言一致性设置

Section运算符操作的对象是在源码中通过#pragma location预处理指令直接放置函数或变量到自定义的section,或在链接器配置文件中定义的block。这些运算符的声明语法如下所示:

void * _

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值