本帖最后由 lizimu 于 2023-4-10 16:55 编辑
首先感谢群友“ART-Pi代言人”提供的stm32h7b0vb核心板(pcb由lceda创建并开源在了立创社区项目链接)。
软件地址:gitee仓库
本地打包:
STM32H7B0VB.7z
(2.54 MB, 下载次数: 39)
去年收到了群友给的开发板,一直闲置中,这周末闲来无事,适配了boot、keil和stm32cubeide下载算法(基于ST的官方HAL环境),过程有点小曲折,不过最终算是完成并能正常使用。
注意:因为下载算法是由stlink等工具加载到目标mcu的sram中的,所以它的运行时环境会有一些特殊,所以下载算法源代码中的一些写法平时看来比较别扭。
另一个问题是下载算法的systick是无法正常运行的,所以hal库中的涉及的HAL_GetTick()的函数是无法正确运行的,所以重定义了 HAL_InitTick()、HAL_Delay()、HAL_GetTick()等几个函数,具体参考源代码。
主要包含的文件夹:
[C] 纯文本查看 复制代码
boot_flash
引导程序,它将被写入mcu的内部flash中(0x081f0000), 我修改了默认入口地址(BOOT_CM7_ADD0 = 0x81f0000)。
boot_sram
测试用引导程序,主要了避免反复烧写内部flash, 它将被stlink等仿真器加载到sram中(0x24000000), 同样需要修改默认入口地址(BOOT_CM7_ADD0 = 0x24000000)。
flashalgo_flm
适用于keil开发环境的外部flash下载算法。
flashalgo_stldr
适用于stm32cubeide等开发环境的外部flash下载算法。
rgb_extflash
一个运行在外部flash中(0x90000000)的点灯程序。
Image
keil, stm32cubeprog配置截图
STM32H750VB_H7B0VB核心板_2023-04-05.pdf
原理图
|