SAMR34自定义板项目编译报错:未知字段'pfnNMI_Handler'、'pfnSVC_Handler'
SAMR34J18启动文件编译错误:未知字段'pfnNMI_Handler'/'pfnSVC_Handler'的解决方案
核心原因及修复步骤
对齐CMSIS版本与启动文件
这个错误大概率是你自建项目里的CMSIS头文件和startup_samr34.c不兼容导致的——基础示例用的是适配SAMR34的专属CMSIS版本,你可能引入了通用版或其他版本的CMSIS包。直接把基础示例项目中CMSIS/Device/ATMEL/samr34目录下的所有文件(包括启动文件、头文件)复制到你的项目对应路径,替换现有文件即可。同步链接脚本配置
启动文件的中断向量表结构体需要和链接脚本的内存布局定义对应,若链接脚本没正确声明相关字段,也会触发编译错误。把基础示例里的链接脚本(GCC是.ld文件,IAR是.icf文件)复制到你的项目,然后在编译配置里指定使用这个脚本。补全编译器预定义宏
SAMR34的启动文件依赖__SAMR34J18__这类特定宏来启用对应向量表字段,你自建项目可能漏加了这些宏。打开基础项目的编译选项,把里面的预定义宏(比如GCC的-D__SAMR34J18__ -DARM_MATH_CM0PLUS)原封不动加到你的项目里。清理缓存后重编译
有时候IDE缓存会保留旧的头文件定义,哪怕你已经加了正确的模块也没用。先执行IDE的「清理项目」操作,再重新全量构建项目。
内容的提问来源于stack exchange,提问作者Balaji S
相关产品推荐
相关产品推荐

