IAR 相关

IAR 使用 和调试相关汇总
1、Fatal Error[Pe1696]: cannot open source file "core_cm0plus.h"   在路径中包含 C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.0\arm\CMSIS\Include

2、Error[Pe020]: identifier "FILE" is undefined  

在IAR的Options -> General Options ->Library Configuration里设置一下函数库,不然printf函数不对,将Library Configuration 中的Library 设置由"Normal"改为"Full"就可以了。

3、Cannot call intrinsic function "__nounwind __DSB" from Thumb mode in this architecture 

这个主要原因是没有设置芯片类型与型号 在属性中设置芯片型号即可

 

4、 IAR 关于SWD 设置

5、IAR仿真时watch窗口值显示unavailable (如何在IAR中通过Watch窗口观察局部变量的值) 

设置IAR中的"Options -> c/c++ compiler 下Optimization -Level" 选项:
把Level选为None,即不执行任何优化,全局变量、静态局部变量、局部变量的值都可以看到。

2020年5月27日

1、 IAR SWD调试只连 GND, SWDCLK, SWDIO即可正常烧写,调试;

 

2020年6月10日

1、用IAR下载出现 Stack pointer is setup to incorrect alignment. Stack addr = 0xFFFFFFFF 如何解决

见收藏内容 在华大相关类收藏中

### IAR嵌入式开发工具及其编译器的相关介绍 IAR 嵌入式开发工具是一款功能强大的集成开发环境 (IDE),主要用于嵌入式系统的应用开发。该工具支持多种编程语言,包括汇编、C 和 C++,并提供了全面的功能集合来满足开发者需求[^3]。 #### 工具组成与特点 IAR Embedded Workbench 是一套完整的开发工具集,其中包括工程管理器、编辑器、编译链接工具以及调试器(如 C-SPY)。这些组件共同协作,帮助开发者高效完成从代码编写到最终部署的过程。值得注意的是,IAR编译器以其高效的优化能力著称,不仅能实现全局范围内的性能提升,还特别针对具体芯片架构进行了低级优化,从而最大限度利用硬件资源,减少代码体积[^3]。 #### 编译流程概述 类似于 Linux 程序的构建方式,IAR 软件同样采用模块化设计思路,其中包含多个独立运行的部分,例如 `IarBuild` 作为编译器负责源文件转换成目标文件;而 `ILink` 则承担连接各个对象文件的任务。尽管官方推荐通过图形界面操作简化设置步骤,但实际上也可以借助命令行形式调用相应工具完成整个项目构建工作[^1]。 #### 特殊关键字说明 为了适应某些特殊场景下的需求,在使用 IAR 进行编码时可能会涉及到一些特有的扩展语法。例如,当希望即使某个函数或变量未曾被实际引用但仍需保留于最终输出之中,则可以为其添加 `__root` 属性标记。另外如果存在需要存储至 Flash 存储区域的数据项,并且即便它们可能从未被执行仍期望将其纳入镜像之内的话,则应运用此机制加以限定处理[^4]。 ```c // 示例:定义一个带有 __root 关键字的函数 __root void version_info(void){ printf("Version: 1.0\n"); } // 将数据放置在 FLASH 中的例子 #pragma location="FlashSection" __no_init const char build_date[] @ "FlashSection" = "__DATE__"; ``` 以上展示了如何利用这两个特性确保特定部分不会因为缺乏外部依赖关系而在链接阶段遭到移除的情况发生。 ### 使用注意事项与其他对比分析 虽然 IAR 提供了许多优势条件助力高质量产品诞生,但也存在一定局限性需要注意。一方面由于它是商业付费性质的产品所以对于预算有限的小型团队而言或许显得不够友好;另一方面相较于开源解决方案 GCC 来说前者隐藏掉了更多关于内部运作机理的信息使得深入探究变得困难重重再加上较差用户体验反馈等方面因素综合考量下很多工程师更偏好后者的选择路径[^2]。 然而无论如何不可否认的是无论是在生成紧凑精炼二进制方面还是兼容广泛处理器平台范围内IAR都展现出了卓越的表现力因而成为众多工业领域内不可或缺的重要角色之一值得每一位从事相关方向研究探索的人士去熟悉掌握这项技术手段。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值