stm32h750vb移植linux,将Art-Pi的bootloader移植到通用H750vb开发板上

开发环境:

rt-thread studio

开发板:

ART-PI和stm32h750vbt6通用开发板

a175d68b0e3ad96ee4ca6e7207ff2558.png

手头除了art-pi,还有一块stm32h750vbt6的通用开发板,板子小巧,已经集成了TF卡座,QSPI和SPI,可以作为核心板来用。虽然原版配套的SDK中已经提供了bootloader。不过是裸机的,心痒痒想用art-pi的基于rtt的bootloader。于是就又给自己挖了一个坑,然后又想办法把坑给填了。这里将过程记录下来,分享给大家。

1.首先修改applications目录下的main.c文件的修改

ea9161719c40b661736eeab881688080.png

修改LED0的宏定义,改成开发板上的PE3

39392495fbb77e6e043e7204b2b828e8.png

2.接下来修改board目录下的stm32h7xx_hal_msp.c

这个文件主要是负责硬件初始化的,因此要修改成和开发板上相对应的GPIO

066efef01d0e682072f5296ed2730018.png

修改void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)函数,让GPIO和开发板的对应起来。

开发板上的QSPI的GPIO如图所示:

ac3bcf185151b0b1c00668be15469000.png

可以使用cubemx配置好功能和引脚,然后用cubemx生成代码,直接拷贝过来。

533c54b955d9016fc7db60ce95d8bb6f.png

还需要修改void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)函数

bba497015c7a0fe58f8c8c13ba8d8e21.png

接下来修改void HAL_UART_MspInit(UART_HandleTypeDef* huart)函数,这是调试终端的输出口,虽然都是使用uart4,但是映射到不同的IO上,因此也要初始化相应的IO。

694bc3420fa548c2e616fa21b0b4b062.png

同样需要修改void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)函数

2e119ab490c342396812266626a01a89.png

3.接下来修改board目录下的board.h文件

主要是关于UART4的引脚宏定义

63fed5684ef108427940e2b55c85e1be.png

完成上述修改之后编译一次,没有报错。可以下载进开发板看看什么情况。

3153b2367d98c47ab43997aab66c5a41.png

运行之后会出现hardfault,提示是在main线程中。现在去检查问题。

7334cc7d5dca704c176ceeb840b03350.png

由于这个开发板上使用的spiflash并不是25Q128JVSQ,而是25Q64JVSIQ,和art-pi上的还是有一些不同,因此需要修改w25qxx.c文件中的static void MX_QUADSPI_Init(void)函数,如下图所示:

e37cc7996eed50d647f7935fa79e0d04.png

然后再次烧录进去就可以了。

5b975a4d47428d96416ddde6c43169d0.png

至此,就已经完成了一个基本功能的bootloader的移植,实现了上电后跳转到外部qspi运行app的功能。后续看看再研究研究,加上其他功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值