keil5 报错 Connection refused due to device mismatch! 

1、错误代码

使用新版本的MDK541烧录STM32C8T6出现如下问题

Connectionrefusedduetodevicemismatch!
Device connected toDebug Unit is different
fromdeviceselectedforprojecttarget:
STMicroelectronicsSTM32F103C8

2、失败原因

查看Debug里面的Settings,发现SWDIO为0x2BA01477

0x2B开头的,是盗版芯片(国产仿制CS32F103C8T6),需要安装盗版芯片的pack文件才可以正常烧录。

3、Keil.CS32F1xx_DFP.pack包

https://gitcode.com/open-source-toolkit/4c147

本仓库提供了一个名为 Keil.CS32F1xx-DFP 的资源文件下载。该资源文件主要用于解决在高版本KEIL软件中识别国产32位芯片时遇到的问题。具体来说,当使用仿真器调试国产32芯片(如cs32f103)时,KEIL可能会提示芯片ID不匹配的问题。这是因为cs32f103芯片的ID识别为 0x2B10417,而STM32F103芯片的ID为 0x1B10417,导致仿真器无法正确识别。

4、Pack包导入Keil

一般我们直接双击Keil芯片包后就可以打开安装了,或者通过Keil-Pack Installer-Import界面进行导入安装,当这两种方法都失败后,则需要手动解压芯片包并将文件复制到对应目录下。

①将下载下来的芯片包资源后缀名由".pack"改为".zip’并解压

②打开Keil安装路径,所在目录Keil5-ARM-PACK-Keil,在此文件夹下新建名为CS32F1xx_DFP"的文件夹

③进入文件夹,并新建名为芯片包版本号(例如2.9.0,随便编一个也行)的文件夹

并把解压出来的所有文件全部复制到该文件夹里

④重启Keil即可

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐