IAR教程中心
IAR中文网站 > 使用教程
教程中心分类
IAR
免费下载
前往了解
调试循环或通信程序时,普通断点经常停在正常数据上,真正出错的那一次反而不好找。条件断点可以筛选现场,但断点位置、变量作用域和判断方式只要有一项不合适,就可能一直不停。IAR怎样设置调试器条件断点IAR条件断点未触发暂停如何定位,可以从一个能正常暂停的代码断点开始,逐步加入条件。以下以IAR Embedded Workbench的C-SPY调试器为例。
2026-10-31
工程编译通过,点击调试却连不上目标板,先不要反复修改代码。IAR Embedded Workbench通过C-SPY调用调试探针,再经由SWD或JTAG与芯片通信。电脑没有识别探针、板端供电不足,或工程中的驱动和接口选错,都可能让调试会话无法启动。下面以Arm工程常见的J-Link、ST-LINK为例说明。
2026-09-28
IAR Embedded Workbench编译工程时,可以针对Debug和Release分别设置代码优化级别。优化打开后,编译器可能删除没有实际用途的局部变量、把变量暂存在寄存器中、调整语句执行顺序,或者直接把函数展开到调用位置,所以C-SPY里看到的变量状态可能和源码不完全对应。常见表现包括变量显示Unavailable、局部变量突然消失、单步执行顺序跳动以及断点无法停在某一行。碰到这些现象时,要先确认工程实际使用的优化配置,再判断是调试信息显示变化,还是程序运行结果真的出了问题。
2026-08-27
IAR Embedded Workbench for Arm通常使用ICF文件控制程序在Flash和RAM中的布局,代码区、数据区、栈、堆以及部分启动相关段都会受到链接配置影响。工程能够正常编译、链接,却在下载后停在复位阶段、跑不到main、出现HardFault或直接无法下载时,可以把链接器配置和芯片实际存储布局放在一起核对,尤其要检查工程选择的器件、ROM起始地址、RAM范围和启动代码使用的地址。
2026-08-27
在进行SDK移植、驱动库添加或者工程目录整理的时候,开发人员经常会遇到“IAR头文件路径怎么添加,IAR头文件路径配置后仍然报错怎么办”这方面的问题;头文件路径表面上看着只是把文件夹放进去,然而在实际操作中,它还会受到工程配置、相对路径、宏定义、文件名大小写、条件编译以及源文件是否参与编译等多方面的影响。在IAR的编译选项里面,其实包含着预处理相关的配置,通常情况下,头文件的搜索路径就是在C/C++Compiler的Preprocessor配置项里进行维护的。
2026-06-30
操作人员在使用IAR软件调试单片机的时候,经常会碰到“IAR调试器怎么连接目标板,IAR调试器连接后无法下载程序怎么办”这些状况。表面上看起来是调试设备连不上,但是实际上,这些问题可能和驱动程序、电源供电、排线接口、复位办法、芯片型号、闪存加载器、读保护以及工程下载位置都有关系。IAR软件本身虽然带着编译、下载和调试环境,但是程序最后能不能写进去,还是要看硬件线路和调试设置是不是刚好对得上。
2026-06-30
在刚开始做嵌入式项目的时候,很多人都会碰到一些问题,就是不清楚IAR工程模板怎么选择,或者发现IAR工程模板和芯片型号不匹配,这些情况经常发生;从表面上看这好像只是点错了模板,但实际上,启动文件、链接文件、芯片头文件,还有调试配置和下载算法这些东西都会受到连累;要是模板弄错了,严重的可能导致程序根本没法在芯片里跑起来,轻一点的也会在编译时疯狂报错,所以说,在刚开始动手之前,最好把芯片的型号、用什么内核、Flash和RAM有多大、工程是从哪来的,都先一条一条对清楚。
2026-06-30
当一颗Flash里面同时存放Bootloader和应用程序时,应用程序就不能再占用上电后默认的中断向量表位置了,否则很容易跟Bootloader的向量表发生冲突。对于支持向量表偏移寄存器(VTOR)的Cortex‑M芯片,正确的做法是把应用程序的向量表整体搬到一个新的起始位置,然后在代码启动过程中更新VTOR,让CPU知道中断入口地址已经变了。如果只调整了链接脚本而漏掉运行时重定位,或者反过来,主函数虽然能跑起来,但定时器、串口和外部中断这类外设往往完全没有反应。Arm的技术文档也说明,软件可以借助VTOR寄存器把向量表重定位到新的内存地址。
2026-06-04
写完程序并下载到芯片之后,调试器虽然能连上,但代码并没有按预想的停在main函数的入口,而且单步跟进时还可能突然跳到一些莫名其妙的地址,这种情况在嵌入式开发里头通常就被叫做程序跑飞。排查的时候,可不能光盯着自己写的那些业务代码去看,还要把启动文件、链接脚本里规定的地址、中断向量表、看门狗的设置,还有C-SPY这一头的复位选项,都一并检查。对于Cortex-M这类内核的芯片,向量表里存放了最初的栈顶指针和各个异常处理的入口地址,一旦复位之后程序要去的那个地方搞错了,芯片在刚启动的阶段,就可能直接钻进硬件错误中断,来回不断地复位重启。
2026-06-04
IAR安装后找不到编译器,很多时候并不是编译器真的没装上,而是工程当前指向的目标器件、外部构建设置或安装目录没有对齐。IAR官方文档说明,IDE本身可以同时容纳多个面向不同微控制器的toolchain,编译器、汇编器、链接器也都属于这套build toolchain的一部分;另外,新版EWARM的建议默认安装路径也已经从过去的C盘Program Files变成了C:iar。也就是说,找不到编译器时,先查工程指向,再查安装目录,再查外部构建变量,效率通常最高。
2026-04-27

第一页12下一页最后一页

176 5129 0128