IAR 定义变量到寄存器中 "__regvar"
2016-06-06 16:42
190 查看
今天在编译ata5790的程序时编译报错是这样的:
Error[Pa043]: the keyword "__regvar" is not available with the current settings. Registers must be locked with --lock_regs before __regvarcan be used C:\Users\pang123hui\Desktop\PKE_ata 5790\main.c 154
简单查了一下扩展关键字__regvar把变量定义到寄存器中,IAR编译器内部使用了部分工作寄存器,留给用户的只有R4-R15供12个寄存器供用户使用,要使用工作寄存器必须在工程选项里打开锁定选项。
我就是因为没有在工程选项中打开锁定选项,故导致编译报错。
比如:
/* Variable to load the Device type from EEPROM */ __regvar __no_init static UINT8 glDeviceType @5; /* Flag to indicate the challenge length */ __regvar __no_init static UINT8 glDivChallengeLength @6;
这时就要在 Project ——> Option ——> C/C++ Compiler ——> Code中进行相应设置,如下图所示。
相关文章推荐
- 系统防护监控类软件终极大测评PK挑战赛:
- 多核系统中温度隐蔽通道的带宽优化
- requirejs集成微信公众号支付无反应
- 海水效果
- 6个讨喜的 ES6 小技巧
- 我就是认真:Linux SWAP 深度解读(必须收藏)
- [ZooKeeper]Barriers机制活动图
- ife——task35
- [置顶] java动态代理
- 树莓派上安装mysql
- ViewFlipper实现引导页面
- 报表开发导出各种格式文件的API
- runtime整理:什么是runtime,带你初步了解runtime
- pdf如何转换成word文档格式
- C语言队列的顺序表示
- 浅析$.getJSON异步请求和同步请求
- 随机抽样一致性算法(RANSAC)
- phython正则表达式 Python Re模块
- 查舜《好,从哪里来》
- Python枚举类型