RT-Thread ART-Pi 地址说明、恢复出厂设定&全擦除 兼 踩坑记录

欢迎阅读本萌新期雷区排雷引导指南

前言

迷迷糊糊地下载程序,
迷迷糊糊地擦除,
然后迷迷糊糊地找解决方法,
结果什么都没有…
——误入迷途的小笨蛋

在三天内,
我把基本所有的坑都踩了个遍
在这大雾的一刹那,
我缓慢地写下了这篇回忆录,
将此刻的语句刻印于此,
望往来的误入迷途者…
找到出…方向……

地址说明

板件为RT-Thread 的 ART-Pi ,主芯为STM32H750XBH6
(TB店一看,这板子怎么价格翻倍了???)
在这里插入图片描述

类型地址大小用途
片内flash0x00000000128KB存放BootLoader
QSPI flash0x080000008MB存放程序
SPI flash0x7000000016MB存放固件、文件系统等

这个地址得记清楚,很重要

序章

当初刚买板子的时候,烧了个例程,跑了一遍,看问题不大,就扔一边吃灰了
当再次拿出来的时候……咚咚噔
在这里插入图片描述

Warning: The core is locked up

当出现这条的时候,有时候根据Stdio给出的两个建议执行的时候…并不会有效
肿么回事呢???
在这里插入图片描述

我下载的是这个art_pi_blink_led,
在这里插入图片描述
在这里可以看到,使用的是算法是下载到外 W25Q64 flash上,也就是 QSPI 8M 这个flash上,
但是我已经根据提示 擦除全片 了,
那我擦除的究竟是个什么呢???是我那个bootloader dio哒
在这里插入图片描述

解决方法是 烧写bootloader例程
在这里插入图片描述

bootloader可以正常烧写
在这里插入图片描述
再次烧写先前的例程即可成功烧写并运行

ST-LINK error (DEV_CONNECT_ERR)

第一次能下载的,
第二次怎么就寄了呢???
在这里插入图片描述
在非RT-Thread Stdio里,
我们经常会在CubeMX里的DEBUG项里面选择 serial wire 选项,
但是在RT-Thread Stdio里!!!
不!可!以!
在这里插入图片描述

得选Disable!!!
在这里插入图片描述

解决方法就是选Disable重新生成,然后下载进去
这边需要注意的是在点击下载程序

按住板上的RST(reset键)1~2s后松开,
在这里插入图片描述

即可成功下载进去

全擦除&恢复出厂

擦除步骤STM32 ST-LINK UtilitySTM32CubeProgrammer都可以,
不过我个人觉得ST-LINK Utility适合解除读写保护,CubeProgrammer适合刷固件

软件下载链接

STM32 ST-LINK Utility 官方下载地址:https://www.st.com/zh/development-tools/stsw-link004.html
个人度盘链接(4.6.0):https://pan.baidu.com/s/1RuWbKqTPQhFzUY5XKuZGbQ?pwd=kkf1

STM32CubeProgrammer软件 官方下载地址:https://www.st.com/zh/development-tools/stm32cubeprog.html#st-get-software
个人度盘链接(2.13.0):https://pan.baidu.com/s/1wwBwqmNMwxifL7q3Pvzxfg?pwd=zdob

flash擦写

官方有给出一份数据flash擦写手册

文档链接为:https://github.com/RT-Thread-Studio/sdk-bsp-stm32h750-realthread-artpi/blob/master/documents/UM5006-RT-Thread%20ART-Pi%20%E6%95%B0%E6%8D%AEflash%E6%93%A6%E5%86%99%E6%89%8B%E5%86%8C.MD

这边我自己也写一遍
首先需要在STM32CubeProgrammer加载指定下载算法
在SDK 或 任意例程 下
或是在路径

D:\RT-ThreadStudio\repo\Extract\Board_Support_Packages\RealThread\STM32H750-RT-ART-Pi\1.3.0\debug\stldr
(具体根据安装路径和版本号调整)

找到 ART-Pi_W25Q128JV.stldr 这个文件
拷贝至路径

C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\ExternalLoader
(具体根据安装路径调整)

打开STM32CubeProgrammer,如图所示加载算法,随后connect(PC与板通过USB-DBG连接)在这里插入图片描述

恢复出厂flash固件

加载16MB的flash源固件,这个文件的位置基本在

D:\RT-ThreadStudio\repo\Extract\Board_Support_Packages\RealThread\STM32H750-RT-ART-Pi\1.3.0\tools\firmware
文件名为:Resource_16MB.bin

这边注意一下地址,
随后加载,整体过程会有点慢,可能需要几分钟
这之间我直接趴了会睡着了,不知道具体几分钟(つд⊂)
在这里插入图片描述
这是恢复出厂设置固件的最简单粗暴方法
加载的这个算法还可以在这块SPI 16M flash里选择擦除或全擦除

flash 选择擦除、全擦除

这里可以看到QSPI 8M flash的地址和大小,可在这里擦除
0x08000000即为128KB,也是片内flash的结束地址、QSPI flash的开始地址
在这里插入图片描述

选择擦除:
在这里插入图片描述

全擦除:
在这里插入图片描述

创建新工程模版

基于该板的基础工程可以以led例程为模版
在这里插入图片描述
随后可以根据需求在cubemx里面修改
目前该例程工程有部分问题,需要先修改一下
在这里插入图片描述
选择“continue”
在这里插入图片描述

QSPI设置一下
在这里插入图片描述

SPI1设置一下在这里插入图片描述

后日谈

距离上一次好像一年了
残念(´◓Д◔`)
也是一路坑坑洼洼爬过来了
私信和留言随缘
有时候上线一看是几个月前的…
那还是不回了吧对吧?
无法留恋过去 因为回不去
无法停下脚步 所以要继续
路途尚远 浅作停留 就再度踏上旅途吧

记于2023/03/24 尚绵绵细雨 浅夜