MCUboot: A Secure Bootloader Designed for 32-bit Microcontrollers

Today, let’s talk about a “secret weapon” that has quietly gained popularity in the embedded community—MCUboot. Don’t run away just because of the name; this tool is a powerful solution for addressing various pain points related to firmware upgrades and secure booting. Below, I will explain in the most straightforward way what it is, what … Read more

Classic Review Resource: Method for Flashing Bare-Metal Programs on Embedded Linux Development Boards

Classic Review Resource: Method for Flashing Bare-Metal Programs on Embedded Linux Development Boards

Produced by 21ic Forum Yilu Xiangbei lm Website: bbs.21ic.com 1. Flashing with imxdownload (for NXP 6ULL development board)Copy imxdownload to the root directory of the project. We need to copy imxdownload to the root directory of the project, which is the same folder as led.bin; otherwise, the flashing will fail. After copying, as shown in … Read more

MCUboot: A Secure Bootloader Tailored for 32-bit Microcontrollers

MCUboot: A Secure Bootloader Tailored for 32-bit Microcontrollers

MCUboot is a secure bootloader designed specifically for 32-bit microcontrollers. It standardizes and secures your firmware upgrades, making it easier to integrate with different RTOS and chips from various manufacturers. Whether you want to implement OTA updates, secure signing, rollback strategies, or a unified system flash layout, MCUboot can help you tackle these annoying issues. … Read more

MCUboot: A Universal Open Source Solution for Secure Boot and Firmware Upgrade for 32-bit MCUs

MCUboot: A Universal Open Source Solution for Secure Boot and Firmware Upgrade for 32-bit MCUs

MCUboot is a “secure bootloader”—the small program that runs first when the device powers on. It defines how firmware is stored in flash memory, how to verify signatures, how to roll back, and how to perform A/B upgrades, among other processes. In simple terms: delegate the complex processes of firmware security, upgrades, rollbacks, and verification … Read more

Getting Started with Custom West Manifest in Zephyr

Getting Started with Custom West Manifest in Zephyr

Introduction The Zephyr Project Real-Time Operating System (https://zephyrproject.org/) or simply “Zephyr” is an increasingly popular real-time operating system as it natively supports over 450 boards and countless peripherals. When starting any embedded software project, the first priority is to begin from a known baseline. This may include cloning a repository from source control (embedded Linux … Read more

Setting Up an Embedded Linux Environment on RK3568

Setting Up an Embedded Linux Environment on RK3568

1. Background To develop an embedded Linux application based on the MPU, it is necessary to configure the cross-compilation toolchain and port uboot + kernel. Development Environment: Windows 11 + VM16 + Ubuntu 16 2. Installation Steps 2.1 Install VMware 16 2.2 Install Ubuntu System ubuntu-16.04.5-desktop-amd64.iso 2.3 Install VMware Tools Shared Folder sudo vmhgfs-fuse .host://mnt/hgfs … Read more

MCUboot Modes Overview

MCUboot Modes Overview

Source | Renesas Embedded Encyclopedia With the development of embedded systems, the demand for code upgrade functionality in products is increasing. Code upgrades can achieve goals such as supporting new features and fixing bugs. The essence of a code upgrade is the process of erasing and writing to the on-chip flash memory (mainly code flash). … Read more

MCUboot Boot Modes Overview

MCUboot Boot Modes Overview

1. Overview of MCUboot MCUboot is an open-source, secure bootloader designed specifically for microcontrollers (MCUs). It was originally part of the Mynewt project and has since become the standard bootloader for RTOS such as Apache NuttX and Zephyr. MCUboot provides a secure firmware update mechanism and supports multiple boot modes, ensuring that the system can … Read more

Building MCUBoot for ESP32-C3 Under Zephyr

Building MCUBoot for ESP32-C3 Under Zephyr

The article on building the ESP Bootloader under Zephyr for ESP32-C3 mentions that Zephyr also supports booting from MCUBoot: ROM-> MCUboot -> Zephyr.bin ( App ) As previously explained about the ROM, this article focuses on analyzing the booting part of MCUboot. Building Using west -v build -b esp32c3_zgp –sysbuild zephyr_sample/ — -DBOARD_ROOT=/mnt/g/project/v3.4.0/zephyr_sample/ -Dmcuboot_BOARD_ROOT=/mnt/g/project/v3.4.0/zephyr_sample/ to … Read more

Building ESP Bootloader for ESP32C3 in Zephyr

Building ESP Bootloader for ESP32C3 in Zephyr

In Zephyr, there are two boot processes for the ESP32 series SOC: No MCUboot: ROM-> ESP Bootloader-> Zephyr.bin (App) With MCUboot: ROM-> MCUboot -> Zephyr.bin (App) This article focuses on the no MCUboot part. ROM In ESP32C3, the ROM is referred to as the “First stage bootloader”. The ROM is hard-coded into the ESP32C3 and … Read more