ST意法半导体
直播中

毛萃

8年用户 971经验值
私信 关注
[问答]

BlueNRG-LP 345如何在线调试?

我使用ST LINK V2在keil中下载程序是提示如下错误
Debugger - Cortex-M Error
Connection refused due to device mismatch!
Device connected to Debug Unit is different from device selected for project target:
STMicroelectronics BlueNRG-345

回帖(1)

王燕

2025-6-18 17:53:12

针对您在使用ST-LINK V2调试BlueNRG-LP 345时遇到的设备不匹配错误(Connection refused due to device mismatch!),以下是逐步解决方案:




问题原因分析


错误提示表明:



  • Keil工程配置的器件型号实际连接的芯片不一致。

  • BlueNRG-LP 345的ID识别码(Device ID)可能未被旧版ST-LINK或Keil支持。




解决方案


1. 确认Keil目标设备设置



  • 打开Keil工程,进入 Options for Target → Device

  • 检查是否已选择 "BlueNRG-345"(BlueNRG-LP 345在Keil设备列表中通常使用此名称)。

    ⚠️ 如果此处为其他型号(如STM32系列),必须修改为正确型号。


2. 更新ST-LINK固件



  • 下载安装 ST-LINK UtilitySTM32CubeProgrammer

  • 连接ST-LINK V2到电脑(勿接目标板)。

  • 打开软件,进入 "ST-LINK → Firmware update",按提示完成固件升级。

  • 验证:升级后重启Keil,尝试重新连接。


3. 配置Keil Debugger设置



  • 进入 Options for Target → Debug → Settings

  • "Debug" 选项卡中:

    • Port: 确保选择 SW 模式。

    • Device ID: 检查是否显示为 0xDN(代表BlueNRG-LP系列)。

      ❌ 如果显示其他ID(如STM32的0x4xx),说明连接失败或芯片未响应。


  • "Reset" 选项卡:

    • 勾选 "Connect & Reset",取消 "Enable Debug in Low Power Modes"(低功耗模式可能导致连接不稳定)。



4. 检查硬件连接与供电



  • 接线确认

    • ST-LINK V2的 SWDIO(DIO)、SWCLK(CLK)、GND 必须与目标板对应引脚相连。

    • 若目标板无独立供电,需连接ST-LINK的 3.3V 线(避免目标板功耗过大)。


  • 连接稳定性

    • 使用短导线(<10cm),避免干扰。

    • 拔插接头,确保无虚焊或接触不良。


  • 复位电路

    检查目标板 NRST 引脚是否被外部电路拉低(需释放复位信号)。


5. 其他关键设置



  • 启动模式配置

    BlueNRG-LP需通过BOOT引脚设置启动模式:

    • BOOT0 = 0(正常执行Flash程序)。

    • BOOT1 = 0(启动后使用主Flash)。


  • 时钟源

    确认外部晶振是否正常工作(SWD依赖芯片时钟)。


6. 禁用Flash编程校验(可选)



  • 在Keil的 Flash → Configure Flash Tools → Target 选项卡中,取消勾选 "Verify after Programming"

    (某些老版本驱动可能因校验失败误报设备不匹配)




替代调试方案


若问题仍存在:



  1. 使用IAR或STM32CubeIDE

    在IAR Embedded Workbench或STM32CubeIDE中导入工程(确保选择正确器件),排除Keil配置问题。

  2. 命令行下载验证

    通过STM32CubeProgrammer命令行烧录HEX文件,验证连接是否正常:
    STM32_Programmer_CLI -c port=SWD -d firmware.hex




总结


90%以上的设备不匹配问题由工程器件型号配置错误ST-LINK固件过旧引起。请优先执行:



  1. 更新ST-LINK固件。

  2. 检查并修改Keil工程目标设备为 "BlueNRG-345"

  3. 确保SWD接线正确且稳定。


完成以上步骤后,重启Keil并重新连接,即可正常调试。如仍有问题,请检查硬件电路或尝试替代开发环境。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分