esp-idf/examples/custom_bootloader/bootloader_override
hasheddan 5cdc107a90 Make custom bootloader message match actual output
Fixes the custom bootloader README.md so that the example output matches
what will actually be output by default in the custom bootloader.

Signed-off-by: hasheddan <georgedanielmangum@gmail.com>
2023-04-11 13:41:30 +08:00
..
bootloader_components/main bootloader: Kconfig files in bootloader_components is now part of menuconfig 2021-08-12 10:43:00 +08:00
main Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
CMakeLists.txt tools: Increase the minimal supported CMake version to 3.16 2022-06-01 06:35:02 +00:00
pytest_custom_bootloader_override.py CI: enable custom bootloader tests on S3 2022-06-01 11:39:09 +08:00
README.md Make custom bootloader message match actual output 2023-04-11 13:41:30 +08:00

Supported Targets ESP32 ESP32-C2 ESP32-C3 ESP32-S2 ESP32-S3

Bootloader override

(See the README.md file in the upper level for more information about bootloader examples.)

The purpose of this example is to show how to override the second stage bootloader from a regular project.

NOTE: Overriding the bootloader is not supported with Makefile build system, it is only available with CMake.

How to use example

Simply compile it:

idf.py build

And flash it with the following commands:

idf.py flash

This custom bootloader does not do more than the older bootloader, it only prints an extra message on start up:

[boot] Custom bootloader message defined in the KConfig file.

Organisation of this example

This project contains an application, in the main directory that represents a user program. It also contains a bootloader_components directory that, as it name states, contains a component that will override the current bootloader implementation.

Below is a short explanation of files in the project folder.

├── CMakeLists.txt
├── main
│   ├── CMakeLists.txt
│   └── main.c                 User application
├── bootloader_components
│   └── main
│       ├── component.mk          
│       ├── CMakeLists.txt   
│       ├── ld/
│       │   └── ...
│       └── bootloader_start.c Implementation of the second stage bootloader
└── README.md                  This is the file you are currently reading

As stated in the README.md file in the upper level, when the bootloader components is named main, it overrides the whole second stage bootloader code.