Telink maintained fork of MCUboot, the secure bootloader for 32-bit MCUs. It is the bootloader component of the Telink Zephyr SDK (tl_zephyr) and is pulled in through the SDK west manifests.
This repository was previously published as telink-semi/mcuboot and has been
renamed to tl_mcuboot, so that the Telink maintained components of the SDK
are easy to identify.
This branch is based on upstream MCUboot main at commit
346f7374ff4
(boot: bootutil: Use BOOT_IMG_AREA to get boot_loader_state area, 2025-02-12).
The original upstream README is preserved in
README.upstream.md.
On top of the upstream base, this branch carries boot time optimizations for Telink SoCs:
- Validate the primary slot image only on the first boot
(
boot: bootutil: validate once): migratesBOOT_VALIDATE_SLOT0_ONCE(removing itsSINGLE_APPLICATION_SLOTrestriction) so that the image in the primary slot is validated on the first boot after an upgrade instead of on every boot, reducing boot time. - Validate the application image directly from flash
(
TL323X: Read APP FW directly from Flash): enablesCONFIG_BOOT_IMG_HASH_DIRECTLY_ON_STORAGEand adds the Telink flash base address, so that the application image hash is computed directly from the flash storage without copying the image to RAM first.