My code targets an STM32L051 processor and consists of two separate projects: a bootloader and application firmware.
The bootloader serves several purposes, including authenticating the application firmware which is digitally signed.
From EmBitz, I can build, flash, and debug the bootloader with no problem. The bootloader is located at the start of flash (0x08000000).
The application firmware has a custom linker script to locate the application code at a different offset in flash
(0x08003000). Post-build steps generate a header containing meta-data and a digital signature used by the
bootloader to authenticate the application firmware. The header is pre-pended to the binary application
firmware image generated by EmBitz to yield a final signed hex file.
This all works: I can load this signed hex file into the target using stm32cubeprogrammer and it is
then authenticated and launched by the bootloader when the target is reset. However, I can't figure
out how to configure the IDE to load the post-processed .hex file (instead of whatever it is loading
by default that currently overwrites the bootloader). So what I'm looking for is how to configure
the flash tool so that when I run Flash->Flash Target from within EmBitz, it will flash the target
with myApplication_signed.hex instead of whatever it does by default (which overwrites the bootloader).
If anyone knows how to do this, I'd appreciate your guidance; thanks!
P.S. development environment: EmBitz 2.41 running on Windows 11
The bootloader serves several purposes, including authenticating the application firmware which is digitally signed.
From EmBitz, I can build, flash, and debug the bootloader with no problem. The bootloader is located at the start of flash (0x08000000).
The application firmware has a custom linker script to locate the application code at a different offset in flash
(0x08003000). Post-build steps generate a header containing meta-data and a digital signature used by the
bootloader to authenticate the application firmware. The header is pre-pended to the binary application
firmware image generated by EmBitz to yield a final signed hex file.
This all works: I can load this signed hex file into the target using stm32cubeprogrammer and it is
then authenticated and launched by the bootloader when the target is reset. However, I can't figure
out how to configure the IDE to load the post-processed .hex file (instead of whatever it is loading
by default that currently overwrites the bootloader). So what I'm looking for is how to configure
the flash tool so that when I run Flash->Flash Target from within EmBitz, it will flash the target
with myApplication_signed.hex instead of whatever it does by default (which overwrites the bootloader).
If anyone knows how to do this, I'd appreciate your guidance; thanks!
P.S. development environment: EmBitz 2.41 running on Windows 11