Clion开发出现“Error expected 1 of 1 0x1ba01477”错误

在使用Clion通过ST-link烧录STM32F1X程序时遇到OpenOCD初始化错误,原因是.idcode不匹配。解决方案是更新STM32F1X.cfg配置文件中关于CPUTAPID的设置,将set_CPUTAPID0x1ba01477改为set_CPUTAPID0x2ba01477。
摘要由CSDN通过智能技术生成

错误分析:

当使用Clion进行ST-link烧录程序时,OpenOCD会先进行初始化ST-link,在尝试获取chain上芯片的idcosde的时候,发现与OpenOCD target config文件中的idcode不匹配,此时可能是.cfg文件信息过时/有误,或者芯片有问题。

解决办法: 

修改.cfg文件中的配置行,文件位于...\OpenOCD\share\openocd\scripts\target\stm32f1x.cfg,找到以下内容:

#jtag scan chain
if { [info exists CPUTAPID] } {
   set _CPUTAPID $CPUTAPID
} else {
   if { [using_jtag] } {
      # See STM Document RM0008 Section 26.6.3
      set _CPUTAPID 0x3ba00477
   } {
      # this is the SW-DP tap id not the jtag tap id
      set _CPUTAPID 0x1ba01477
   }
}

将其中的 set _CPUTAPID 0x1ba01477 更改为   set _CPUTAPID 0x2ba01477 ,保存即可!

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当你在CLion(.jetbrains的C/C++集成开发环境)中遇到`error: ld returned 1 exit status`这个错误时,这意味着链接器(ld)在尝试构建可执行文件的过程中遇到了问题,返回了非零退出状态。这通常是由于编译期间的一些链接依赖没有正确解决,或者是库文件路径设置不正确,或者是代码中的某些链接错误。 具体可能的原因包括: 1. **缺失依赖库**:确保所有的库都已经正确链接,比如静态库(.a, .lib)或动态库(.so, .dll)。检查构建配置是否包含了所有必要的库。 2. **头文件包含问题**:确认头文件路径是否正确,以及它们是否被正确地包含在源文件和链接命令中。 3. **链接器选项**:检查`CMakeLists.txt`或者`build`目录下的配置文件,确保`LDFLAGS`或`LINKER_FLAGS`等设置正确。 4. **版本兼容性**:如果使用的是第三方库,可能因为版本冲突导致链接失败。确认使用的库版本与项目需求相符。 5. **编译器警告未处理**:编译器可能会产生一些警告,虽然不会阻止链接,但可能是潜在错误的标志,应仔细检查并修复。 为了解决这个问题,你可以尝试以下步骤: 1. **查看编译输出**:仔细阅读CLion中的终端窗口输出,它会给出具体的错误信息,帮助你定位问题。 2. **清理并重新构建**:使用`Rebuild Project`或清除缓存和构建产物,有时这能解决问题。 3. **更新或安装遗漏的库**:如果缺少库,尝试安装或更新它们。 4. **修复代码错误**:根据编译器错误信息修改源代码。 5. **检查项目设置**:确保所有项目的设置(如构建工具链、平台配置等)都匹配当前的环境。 如果问题依然存在,你可能需要分享更详细的错误信息或提供相关的项目配置以便更准确地诊断。接下来的几个问题是关于链接错误和调试的:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值