|
CycloneBOOT 2.6.6
Secure Bootloader for ARM Cortex-M MCU
|
CycloneBOOT standalone bootloader state machine. More...
#include <string.h>#include "standalone/boot.h"#include "core/mailbox.h"#include "core/mcu.h"#include "modules/image/image.h"#include "modules/security/verify_runtime.h"#include "debug.h"Macros | |
| #define | TRACE_LEVEL CBOOT_TRACE_LEVEL |
| #define | BOOT_RUNTIME_INTEGRITY_CHECK_ALGO CRC32_HASH_ALGO |
Functions | |
| cboot_error_t | bootFsm (BootContext *context) |
| Runs the bootloader until it boots, resets or fails. | |
| void | bootGetDefaultSettings (BootSettings *settings) |
| Initializes the standalone bootloader settings with default values. | |
| cboot_error_t | bootInit (BootContext *context, BootSettings *settings) |
| Initializes the standalone bootloader context. | |
| cboot_error_t | bootCheckResidentImage (const Slot *slot) |
| Checks the resident image before it is booted. This is a security gate, not a seam: it is deliberately not replaceable. | |
| __weak_func void | bootApplicationUpdatedHook (void) |
| Application updated callback. It is declared weak and may be replaced in the user code space. It runs once a new application has been installed, before the device resets. | |
| __weak_func void | bootJumpingToApplicationHook (void) |
| Pre-jump callback. It is declared weak and may be replaced in the user code space. It runs immediately before the bootloader jumps to the application. | |
CycloneBOOT standalone bootloader state machine.
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2021-2026 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneBOOT Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
| cboot_error_t bootCheckResidentImage | ( | const Slot * | slot | ) |
Checks the resident image before it is booted. This is a security gate, not a seam: it is deliberately not replaceable.
| [in] | slot | Slot holding the image to be checked |
| cboot_error_t bootFsm | ( | BootContext * | context | ) |
Runs the bootloader until it boots, resets or fails.
Bootloader Task routine.
| [in,out] | context | Pointer to the bootloader context |
| void bootGetDefaultSettings | ( | BootSettings * | settings | ) |
Initializes the standalone bootloader settings with default values.
Initialize first-stage bootloader settings with default values.
| [in,out] | settings | Pointer to the settings to be initialized |
| cboot_error_t bootInit | ( | BootContext * | context, |
| BootSettings * | settings | ||
| ) |
Initializes the standalone bootloader context.
Initialize the first-stage bootloader context from user settings.
| [in,out] | context | Pointer to the bootloader context |
| [in] | settings | Pointer to the bootloader user settings |