Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ART-Pi
Bootloader
STM32H750VB
将Art-Pi的bootloader移植到通用H750vb开发板上
发布于 2021-02-03 11:13:22 浏览:3717
订阅该版
开发环境: rt-thread studio 开发板: ART-PI和stm32h750vbt6通用开发板 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/11feab9b7094ddcedd66c898c6870a1a.png) 手头除了art-pi,还有一块stm32h750vbt6的通用开发板,板子小巧,已经集成了TF卡座,QSPI和SPI,可以作为核心板来用。虽然原版配套的SDK中已经提供了bootloader。不过是裸机的,心痒痒想用art-pi的基于rtt的bootloader。于是就又给自己挖了一个坑,然后又想办法把坑给填了。这里将过程记录下来,分享给大家。 1.首先修改applications目录下的main.c文件的修改 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/349f64ff8f0e0319ce4aff47a211534c.png) 修改LED0的宏定义,改成开发板上的PE3 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/c259848ddd91b3b3831976e77108e0bd.png) 2.接下来修改board目录下的stm32h7xx_hal_msp.c 这个文件主要是负责硬件初始化的,因此要修改成和开发板上相对应的GPIO ![image.png](https://oss-club.rt-thread.org/uploads/20210203/65e44687f1f1d41baff53f7d640b4a1a.png) 修改void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)函数,让GPIO和开发板的对应起来。 开发板上的QSPI的GPIO如图所示: ![image.png](https://oss-club.rt-thread.org/uploads/20210203/f29725da19cf1f5e356065c23b7437f5.png) 可以使用cubemx配置好功能和引脚,然后用cubemx生成代码,直接拷贝过来。 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/d6dd8878a7c5a1f59ec8bf256e22da29.png) 还需要修改void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)函数 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/a2ee05408ddf749381c9678862bdd0d4.png) 接下来修改void HAL_UART_MspInit(UART_HandleTypeDef* huart)函数,这是调试终端的输出口,虽然都是使用uart4,但是映射到不同的IO上,因此也要初始化相应的IO。 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/408e4b90e8225aa56ca052c5f4dbeea2.png) 同样需要修改void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)函数 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/2d5fd751b3490ab331035fee3d992c18.png) 3.接下来修改board目录下的board.h文件 主要是关于UART4的引脚宏定义 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/029ec403dff6353fe5b55427f11bb0fb.png) 完成上述修改之后编译一次,没有报错。可以下载进开发板看看什么情况。 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/be99e3bad9c1829bcaa058191603760c.png) 运行之后会出现hardfault,提示是在main线程中。现在去检查问题。 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/99d964457729c5986d8b5be9f545df45.png) 由于这个开发板上使用的spiflash并不是25Q128JVSQ,而是25Q64JVSIQ,和art-pi上的还是有一些不同,因此需要修改w25qxx.c文件中的static void MX_QUADSPI_Init(void)函数,如下图所示: ![image.png](https://oss-club.rt-thread.org/uploads/20210203/4dc8484195bb3ee112de799533472c7c.png) 然后再次烧录进去就可以了。 ![image.png](https://oss-club.rt-thread.org/uploads/20210203/fb18bfe717a84a6038b22764a0cd2f03.png) 至此,就已经完成了一个基本功能的bootloader的移植,实现了上电后跳转到外部qspi运行app的功能。后续看看再研究研究,加上其他功能。
12
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
adaphoto
这家伙很懒,什么也没写!
文章
25
回答
44
被采纳
5
关注TA
发私信
相关文章
1
Linux下通过USBTinyISP为Arduino开发板烧?写Bootloader
2
请教修改NVIC后RTT调度函数失效的问题[已解决 bootloader中打开了不必要的中断]
3
进入bootloader的方式探讨
4
求助:IAP里的APP使用的RTT,跳转后出错。[已解决]
5
有没有人在STM32F103上用UART IAP跑过RT-Thread?
6
想做网口的IAP远程升级,不知可不可行
7
IAP问题
8
[已解决]请教基于RTT的IAP程序切换到应用程序不成功的问题(基于STM32F4)?
9
stm32f4xx-----IAP移植APP程序需要注意的地方
10
在调试IAP网络升级遇到跳转之后bootloader程序网络不通
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
11
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
rv666
9
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
6
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部