复刻了大佬的开源STM32H750VB/H7B0VB核心板 ,核心板兼容正点原子屏幕,但我没有,直接购买又太贵,就画了一版。
所有资源(开发板资料,配套历程可供学习):
链接:https://pan.baidu.com/s/1rnQgIgXpFH0-jDEgN7raPA?pwd=szz7
提取码:szz7
核心开发板
基于STM32H750VB的核心板,兼容STM32H7B0VB。4层板设计,在保证小体积的基础上集成了双Flash,SD卡槽和RGB屏幕接口等外设。
STM32H750VB/H7B0VB核心板 - 嘉立创EDA开源硬件平台 (oshwhub.com)
4.3寸800*480LCD屏幕
物料成本大概只有 60元左右。
核心板配套程序
这套核心板程序主要是用“反客STM32H750VBT6核心板(型号FK750M3-VBT6 半孔版)”移植修改得到的。这里主要介绍一下“下载算法”
STM32H750单片机片内的 flash 空间很小,只有 128KB,很多时候无法满足使用,所以需要将程序下载到片外扩展的 flash 中
1.1 下载引导程序
在开始配置片外下载之前,我们先把引导程序下载一遍,因为单单把用户程序下载到片外的 flash 是无法运行的,单片机上电或者复位完成之后是从片内flash 进行启动, 所以需要用户去引导跳转到 W25Q64。直接用 keil 打开“QSPI Flash运行程序(Bootloader)”,选择您所用的下载器并且添加下载到片内 flash 的下载算法,就是和其他正常下载流程一样。
1.2 添加下载算法路径
在核心板的资料中找到下载算法, keil 使用的下载算法文件尾缀为.FLM。找到 keil 的安装目录(每台电脑的目录不一样,取决于您实际安装的位置) ,将该文件拷贝到 keil 相应的目录下:
Keil\Keilv5\ARM\Flash
1.3 新工程配置为片外 flash 启动
打开 system_stm32h7xx.c,找到 SystemInit ()函数,找到该函数的结尾, 将 SCB->VTOR 的值改为外部 flash 的地址。
SCB->VTOR = 0x90000000 ; //如果使用外部flash存储程序,则切换中断向量表的地址
至此,全部配置完毕,直接点击下载即可。
总结:
- 下载引导程序(引导程序负责引导从片内flash 启动后跳转到 W25Q64片外flash);
- 运行程序配置为片外 flash 启动
- 用下载算法进行下载(下载算法.FLM负责将程序直接下载至W25Q64片外flash,keil自带的下载算法只能下载到单片机片内)
效果
video_20240217_195150