硬汉嵌入式论坛

 找回密码
 立即注册
查看: 702|回复: 1
收起左侧

[STM32H7] stm32h7b0核心板boot引导程序、flashalgo下载算法(基于HAL库OSPI)等

[复制链接]

4

主题

27

回帖

39

积分

新手上路

积分
39
发表于 2023-4-10 11:57:06 | 显示全部楼层 |阅读模式
本帖最后由 lizimu 于 2023-4-10 16:55 编辑

首先感谢群友“ART-Pi代言人”提供的stm32h7b0vb核心板(pcb由lceda创建并开源在了立创社区项目链接)。

软件地址:gitee仓库
本地打包: STM32H7B0VB.7z (2.54 MB, 下载次数: 27)

去年收到了群友给的开发板,一直闲置中,这周末闲来无事,适配了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 
 原理图


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2023-4-10 14:18:10 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-13 04:40 , Processed in 0.167593 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表