盗版stlink芯片导致keil5烧录失败
在使用Keil5进行STM32C8T6烧录时,出现“Connection refused due to device mismatch!”错误,原因是设备与项目目标不匹配。检查发现使用的是国产仿制芯片CS32F103C8T6,其ID为0x2B10417,与STM32F103的ID 0x1B10417不同。解决方法是通过安装特定的Pack文件(Keil.CS32F1xx_DFP.pack)来支持国产
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即可

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