打印

GD32350G-START开发板FLASH被锁 求救

[复制链接]
2035|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JeffreyJiang|  楼主 | 2019-12-5 22:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小白在调试FLASH的过程中,为了测试,在keil中配置flash烧写size等于编译出来的total rom size结果烧写失败,flash被锁保护,无法再次烧录。使用的是开发板上自带的GDLINK,keil中选择的是CMSIS-DAP。尝试了几种方法未果:
1. 将BOOT0调帽拉高,但是BOOT1状态未知,故不知道是选择的sram启动还是片上bootloader启动。在booot0=1的情况下,keil CMSIS-DAP无法连接上。
2. GD_MCU_ISP_Programmer连接不上,除了第一点原因启动不明确外,PA9在开发板上被连接到BAT,无法作为uart使用。
3. MCU swd管脚与板子上的GD LINK连接,无法外接仿真器解锁。
4. 在boot0=0的flash启动情况下,把flash配置为RAM的基地址(类似于骗keil烧写flash, 其实烧写的是ramd的思路),但是烧录后复位启动又是从flash开始,失败。

各位大神们求支招,难道这块GD32350G-START开发板被锁了,就真的成砖解不了了吗。。。
有没有针对这块开发板的解锁教程?
小的先谢谢各位了!

使用特权

评论回复
沙发
sonicll| | 2019-12-6 15:17 | 只看该作者
这板子是有USBFS的对吧,试试官方的DFU工具

使用特权

评论回复
板凳
JeffreyJiang|  楼主 | 2019-12-6 16:54 | 只看该作者
sonicll 发表于 2019-12-6 15:17
这板子是有USBFS的对吧,试试官方的DFU工具

恩恩 对的 这款开发板式有USBFS的,但是要能用DFU的前提是不是单片机里已经有支持DFU的代码程序?是说需要先编译一个DFU的工程烧写到ram中运行吗?

使用特权

评论回复
地板
sonicll| | 2019-12-6 17:08 | 只看该作者
一般有USB的片子,ISP功能也支持USB接口,类似串口ISP,把boot0拉高,PC端接上USB,打开DFU软件就可以烧写代码和配置选项字节了,你可以试试看

使用特权

评论回复
5
JeffreyJiang|  楼主 | 2019-12-9 15:18 | 只看该作者
sonicll 发表于 2019-12-6 17:08
一般有USB的片子,ISP功能也支持USB接口,类似串口ISP,把boot0拉高,PC端接上USB,打开DFU软件就可以烧写 ...

我尝试了一下,把boot0拉高,用USB口连接上电脑,打开DFU软件依然找不到设备。可能是我哪里疏忽操作错误了,但还是非常感谢您的回答,谢谢!

使用特权

评论回复
6
JeffreyJiang|  楼主 | 2019-12-9 15:46 | 只看该作者
问题解决了,在这里还是对自己挖的坑给填上。
我最后还是使用“把解锁程序放在RAM中运行”的方式完成解锁的。我之前比较心急,看了一些资料,逻辑比较混乱,当时就一直以为要让程序从ram启动,所以一直深陷在BOOT1状态未知的死循环中。休息了一个周末,与友人聊天吃饭,放松心态,情绪好了很多,今天再回来看这个问题,就发现之前的自己是有些着急犯傻了。其实只需要把解锁程序下载到RAM中运行就行,因此注意:在Keil中要选择DEBUG按钮,而不是Download!!!(想想也是这个道理,FLASH都被锁了,怎么可能能写FLASH成功。之前就是犯傻在这里了。。。并不是要让MCU从RAM启动,而是通过Debug手段,把程序放在MCU的ram中,这个时候BOOT0还是选择为低电平,从FLASH启动的模式。具体可参考这篇教程,百度搜索:STM32内部RAM在线调试配置方法及详细说明(基于Keil开发工具),说的比较清楚,如何配置把程序放在RAM中运行)
有了能够让程序运行的环境,那么接下来就是比较简单,先在调试的memory界面看一下:0x1ffff800的值是多少,跟据datasheet查到OB_SPC是BB,A5是无保护,CC是高级保护,其他都是低级保护状态。在低级保护状态下,选项字节块可以被任意操作访问(看到这里终于放心了),所以只要把OB_SPC设置为A5,然后会在debug环境下中报出一个提示框,然后就能发现修改成功,断电再启动就发现能够和之前一样正常烧录啦~ 大功告成。
感谢热心回复我的朋友,感谢论坛,前事不忘后事之师,希望作为一个经验教训写下这个帖子,在未来某个瞬间若能帮助到某位分毫,也算本贴发挥出一丝荧光吧~

使用特权

评论回复
7
drer| | 2020-1-6 13:17 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
8
coshi| | 2020-1-6 13:20 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
RuiKwok| | 2022-10-25 22:02 | 只看该作者
插个眼

使用特权

评论回复
10
jf101| | 2022-11-23 13:25 | 只看该作者
JeffreyJiang 发表于 2019-12-9 15:46
问题解决了,在这里还是对自己挖的坑给填上。
我最后还是使用“把解锁程序放在RAM中运行”的方式完成解锁的 ...

楼主这个问题确实对于新手小白来说很常见,从KEIL中解锁FLASH确实需要一些教程

使用特权

评论回复
11
小夏天的大西瓜| | 2022-11-24 17:58 | 只看该作者
JeffreyJiang 发表于 2019-12-9 15:46
问题解决了,在这里还是对自己挖的坑给填上。
我最后还是使用“把解锁程序放在RAM中运行”的方式完成解锁的 ...

这个方法挺好的,我一般是用官方的直接擦除,有学到新的方法了

使用特权

评论回复
12
szt1993| | 2022-12-21 09:59 | 只看该作者
JeffreyJiang 发表于 2019-12-9 15:46
问题解决了,在这里还是对自己挖的坑给填上。
我最后还是使用“把解锁程序放在RAM中运行”的方式完成解锁的 ...

楼主这个挺好的,又有新思路解决这个问题了,FLASH启动模式

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝