It also might not require a relocatable interrupt vector table (something that some ARM Cortex microcontrollers lack). Option 1 allows for the user program to use all available flash (aside from the blob size and bootstrapping code). Reserve a section of flash for a bootloader that can reprogram the rest of flash.Įach of these ways has their pros and cons.Include a binary image in every compiled program that is copied into RAM and runs a bootloader program that allows for self-reprogramming.
There are two ways that a microcontroller can accomplish this generally: The main object of this bootloader is to facilitate reprogramming of the device without requiring a external programmer. So far it has shown itself to be fairly robust and I haven’t had to get out my STLink to reprogram the watch for quite some time. As my final installment for the posts about my LED Wristwatch project I wanted to write about the self-programming bootloader I made for an STM32L052 and describe how it works.