下面按IAR Embedded Workbench for Arm里最常见的Cortex-M工程来写。IAR官方文档明确说明,Cortex-M的中断函数进入和返回方式与普通函数一致,不使用__irq、__fiq这类关键字;同时,异常名和默认向量代码由cstartup_M.c或cstartup_M.s提供。也就是说,IAR里的中断配置,核心不是“给函数加特殊修饰”,而是把启动文件、向量表、链接地址和NVIC设置对齐。
做IAR升级,最容易出问题的不是安装程序本身,而是把新版本直接盖到旧环境上,或者装完以后只看工程能不能打开,却没有把许可证、器件支持、编译器变化和调试链路一起核一遍。IAR官方近版发布说明和迁移文档反复强调几件事:新版本不要安装到旧版本目录上,必要时还要同步做许可证续期和License Server Tools升级;如果跨大版本,旧工程还要重点检查IDE、语言选项、库结构和运行时变化。
很多人第一次用IAR做板级调试,卡住的往往不是代码本身,而是下载方式、调试驱动和断点入口没有先配顺。按IAR官方的C-SPY调试文档,调试相关设置主要集中在【Project】→【Options】里的【Debugger】分类,里面再分成【Setup】、【Download】等页面;真正开始调试时,则通常从【Project】→【Download and Debug】进入。先把这条主线理顺,后面的下载和断点就不会越点越乱。