极海APM32F003F6P6烧写问题解决记录

工作中遇到的,折腾了好久,因为电脑重装过一遍系统,软件也都重新安装了,所以不知道之前的配置是什么,旧项目代码编译没问题,烧写时疯狂报错,用的是JLink。

keil版本v5.14
极海APM32F003F6P6烧写问题解决记录_第1张图片

win10版本
极海APM32F003F6P6烧写问题解决记录_第2张图片
JLink版本 7.82a(64位)
在这里插入图片描述

报错

报错信息:一开始使用keil报错 Error Flash Download failed - “Cortext-M0+“,此时已经按照网上教程更改了flash download配置(如下图)。
极海APM32F003F6P6烧写问题解决记录_第3张图片之后折腾着折腾着报错信息变了,并且keil一直弹窗报错,点击确定会弹出新报错,直到keil崩溃退出。
极海APM32F003F6P6烧写问题解决记录_第4张图片
极海APM32F003F6P6烧写问题解决记录_第5张图片
过程中还把一块板子弄成读写保护状态烧不了程序,换了一块板子还是报这种错且keil崩溃。
在领导指导下试着直接用JLink烧写,结果是J-Link选择APM32F003F6P6芯片后会闪退,选了STM32F103C8T6没有闪退。不知道什么原因。
如下图,点击OK后会闪退
极海APM32F003F6P6烧写问题解决记录_第6张图片

解决

安装了7.20a(32位)版本的JLink之后就可以顺利使用KEIL烧写了
在这里插入图片描述
在这个版本的JLINK里找不到APM32F003F6P6,但是用KEIL烧写就没问题
极海APM32F003F6P6烧写问题解决记录_第7张图片

极海APM32F003F6P6烧写问题解决记录_第8张图片
之后又遇到了读保护问题,报错Error Flash Download failed - "Cortext-M0+",参考博客 https://blog.csdn.net/ic2121/article/details/125341745 可使用JLINK解除读保护,原理写的很清楚。
脚本代码我就直接放出来了,文本文件后缀改为.jflash,然后使用JLink.exe打开脚本即可运行,运行前先连接好硬件

si 1
device CORTEX-M0
speed 100
JTAGConfg -1,-1

h
r
h

w4 0x40011004 0x45670123
w4 0x40011004 0xCDEF89AB
w4 0x40011008 0x45670123
w4 0x40011008 0xCDEF89AB
sleep 100

w4 0x40011010 0x00000220
w4 0x40011010 0x00000260
sleep 100

w4 0x40011010 0x00000200
w4 0x40011010 0x00000210
w4 0x00020400 0xFFFF00A5
sleep 100
w4 0x40011010 0x00000080

mem32 0x40011010 0x01
sleep 10

r


之后发现问题也可能是因为我装的keil版本太低的导致的(未验证),后面遇到其他问题换了mdk5.25后,像原来装不上的一些国产芯片pack都很顺利的装上了

你可能感兴趣的:(其他)