场景说明
有一款使用 STM32F103RCT6芯片的产品出现问题,检查后判断 MCU芯片有问题。打算更换时发现手头没有该 芯片,但找到一块 STM32F105R8T6,经确认发现引脚兼容,基本功能应用替换完全没问题。
替换之后遇到的问题
1、JTAG模式与 SWD模式。
该产品程序烧录使用的四线制 JTAG模式,我手上只有一款可以支持全系列STM32 SWD接口的 ST-LINK调试器。通过查询线序发现, JTAG模式使用的引脚和 SWD模式使用的引脚完全一样,猜测应该是可以下载程序的。
2、配置MDK
虽然芯片为同一系列,但毕竟不是同一款,Keil软件需要重新配置下,包括下载模式一并配置下。这时打开工程时出现如下弹窗:
意思是现工程是 MDK4版本的,而本地计算机安装的是 MDK5,窗口中提示了两种解决方法:迁移到设备包或者安装遗留支持。有网友尝试第一种方式,编译时报好多错误。我这里直接进行第二种方式。
不是很大,下载后直接安装到MDK5的安装目录即可,然后再次打开工程就没有弹窗了。
下面是一些配置更改,熟悉的同学可以直接跳过:
3、烧写程序
以上步骤完成后,就可以开始尝试烧录程序了,然而期望很美好,现实很残酷。。。
检查后发现 manage run time environment是灰色的,这意味着程序的启动环境配置存在问题。按以下步骤解决:
再次烧录程序 OK。
另,附上其他网友的经验,我没有试过,大家确认有效可以告诉我:
MDK4转MDK5的最简单办法,直接修改工程后缀 uvproj 改成 uvprojx。