加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

IAR 扩展关键字

发布时间:2020-12-15 06:33:31 所属栏目:百科 来源:网络整理
导读:? 1.扩展关键字:用于控制数据和指针 __eeprom 用于EEPROM 存储空间,控制数据存放,控制指针类型和存放 __tinyflash,__flash,__farflash,__hugeflash 用于flash 存储空间,控制数据存放,控制指针类型和存放 __ext_io,__io 用于I/O存储空间,控制数据存放,控
?

1.扩展关键字:用于控制数据和指针


__eeprom 用于EEPROM 存储空间,控制数据存放,控制指针类型和存放
__tinyflash,__flash,__farflash,__hugeflash 用于flash 存储空间,控制数据存放,控制指针类型和存放
__ext_io,__io 用于I/O存储空间,控制数据存放,控制指针类型和存放
__regvar 放置一个变量在工作寄存器中

?

2.函数扩展关键字:


__nearfunc __farfunc 用于控制数据存放,这组关键字必须在函数声明和定义的时候指定
__interrupt. 关键字控制函数的类型。这组关键字必须在函数声明和定义的时候指定
__root. 关键字仅仅控制有定义的函数

?

3.其它特别的关键字:


@ 用于变量的绝对地址定位。也可以用#pragma location 命令
#pragma vector 提供中断函数的入口地址。
__root 保证没有使用的函数或者变量也能够包含在目标代码中
__no_init 禁止系统启动的时候初始化变量.
asm,__asm 插入汇编代码

?

====================================================================

?

__root 关键字保证没有使用的函数或者变量也能够包含在目标代码中.
定义存放在__flash 空间的数据在程序编译时会自动生成代码嵌入到flash代码中,对于程序没有使用也要求编译的数据(比如可以在代码中嵌入你的版本号,时间等)必须加关键字__root 限制。
例:

#i nclude<iom8.h>
__root __flash unsigned char p @ 0x10 =0x56;
void main(void)
{

}
程序没有使用P变量,编译也会生成该代码。
:020000020000FC
:1000000016C018951895189518951895189518955F
:10001000569518951895189518951895189518953A
:10002000189518951895089500008895FECF0FE94A
:100030000DBF00E00EBFC0E8D0E003D0F4DFF4DF76
:06004000F3CF01E008957A
:0400000300000000F9
:00000001FF

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读