This project implements multiple different mode bootloaders for the STM32H750VB DevEBox development board with W25Q64 (64 Mbit) QSPI FLASH and integrates various middleware to unleash the potential of the board.
Project is originally developed on Linux (WSL Ubuntu). See the Development Guide for instructions on how to build and use the bootloaders.
bl_iram: Bootloader that loads an application firmware from a file system that is mounted on the QSPI flash to the internal D1 domain 512 KiB AXI-SRAM and executes it. On startup, bootloader runs thecommservice for uploading new firmware over UART.bl_qspiflash: Bootloader that Executes In Place (XIP) program stored on QSPI flash memory. On startup, bootloader runs thecommservice for uploading new firmware over UART.ext_loader: Special STM32 External Loader firmware for this board for accessing the on-board W25Q64 QSPI FLASH memory in STM32CubeProgrammer.
comm is a complete Point-to-Point request-response communication system for
accessing QSPI FLASH memory on the target from a host computer over serial UART.
comm defines request-response messages both for raw memory and file system
access (littlefs). comm
implements both a service for baremetal MCU target in C/C++ and a client
library in Python for the host computer that together enable communication over
serial UART. comm is based on nanopb
data serialization library (Protocol Buffers) and
min Point-to-Point communication
protocol.
- Use
stm32-base. - Generalize and extract the
commservice to a separate library. bl_iramandbl_qspiflashtests with simple demo application binaries.- Add copies of datasheet PDFs of MCU and QSPI FLASH to the
docsfolder. - Pick a better name for the project.
