What do you need to know about STM32 custom bootloader?

What do you need to know about STM32 custom bootloader?

For that reason we need to make sure about the sectors of the memory and the addressing.

How to import / use custom Arduino board for STM32L4?

I would like to use the excellent Arduino boards defined at https://github.com/GrumpyOldPizza/arduino-STM32L4 from within PlatformIO (my goal is to create a PR for those boards for the community). The boards are:

How to build your own custom bootloader / application?

The following source code snippets will help you to build you own bootloader/application project providing by the minimum code that is required to jump from one to the other. The example also works with FreeRTOS. First we need to understand 2 simple things.

Can you reset a STM32 device after firmware update?

After firmware update, you can reset the device and it will run to your application. We are using this in some applications and it works well. Drawback of this solution is that you need external circuitry, but it is very easy to implement and it is universal for all STM32 devices.

What kind of microcontroller is stm32f051xx?

The STM32F051xx microcontrollers incorporate the high-performance ARM ®Cortex ®-M0 32-bit RISC core operating at up to 48 MHz frequency, high-speed embedded memories (up to 64 Kbytes of Flash memory and 8 Kbytes of SRAM), and an extensive range of enhanced peripherals and I/Os.

How to write a bootloader from zero to main?

To start, our bootloader must do two things: We’ll need to decide on a memory map, write some bootloader code, and update our application to make it bootload-able. For this example, we’ll be using the same setup as we did in our previous Zero to Main posts:

How to write a bootloader from a startup file?

Previously, we wrote a startup file to bootstrap our C environment, and a linker script to get the right data at the right addresses. These two will allow us to write a monolithic firmware which we can load and run on our microcontrollers. In practice, this is not how most firmware is structured.