This repository contains the firmware source code for the Vapor Phase One by PCB Arts.
Checkout: https://shop.pcb-arts.com/products/vapor-phase-one
This repository includes some upstream ST code as submodules. When cloning or pulling this repo, pass
--recurse-submodules
to git: git clone --recurse-submodules [...]
.
Building the project STM32CubeIDE is required.
In general you have to loosely follow these steps to build and sign images for the bootloaders.
- Import the projects into a workspace.
- Generate a key for image signing. For development this can be achieved by running
generate_dev_key.sh
from the tools folder of the display bootloader. - Build the bootloaders.
- Flash the bootloaders. e.g. using STM32CubeProgrammer, or using the RUN command
- Build the user application firmwares.
- (Option 1) Directly flash the firmwares onto devices (use the the output elf file). e.g. using STM32CubeProgrammer, or using the RUN command
- (Option 2) Sign the images by running
sign_all_images.sh
from the tools folder of the display bootloader. - (Option 2) Copy the signed (without _unsigned) .BIN files onto an SD card. And flash using the bootloader.
Flash the display with the STM32CubeProgrammer, as external Loader use the MT25QL128A_STM32469I-DK. Flash the Bootloader and then the .elf file in bootloader-production folder.
If building the Image for the Bootloader, there must be a difference between the display bootloaders, since multiple versions of LCD displays are on the STM32F469I - DISCO Board. A Symbol "USE_STM32469I_DISCO_REVC" have to be set for all newer Displays (DK32F469I$AU1 Label at the back of the PCB) within the projects definitions. The TouchGFX source data we're generated with TouchGFX 4.16, the Middlewares/ST also needs to be from this version (Just copying from a new project in TouchGFX 4.16 is fine). Same coping is necessary for TouchGFX/target, this source files will be generated with the help of the STM32CubeMX Programmer.