|
CycloneBOOT 2.6.6
Secure Bootloader for ARM Cortex-M MCU
|
CycloneBOOT 1st Stage Bootloader management. More...
#include "first_stage/boot.h"#include "first_stage/boot_common.h"#include "image/image_utils.h"#include "first_stage/boot_verify.h"#include "cipher/aes.h"#include "cipher/cipher_algorithms.h"#include "cipher_modes/cbc.h"#include "security/cipher.h"Macros | |
| #define | TRACE_LEVEL CBOOT_TRACE_LEVEL |
| #define | UPDATE_COPY_CHUNK_SIZE 512 |
Functions | |
| void | bootGetDefaultSettings (BootSettings *settings) |
| Initialize first-stage bootloader settings with default values. | |
| cboot_error_t | bootInit (BootContext *context, BootSettings *settings) |
| Initialize the first-stage bootloader context from user settings. | |
| Slot * | bootGetActiveSlot (BootContext *context) |
| Resolve the active second-stage (BOOT) slot in the primary memory. | |
| cboot_error_t | bootFsm (BootContext *context) |
| Bootloader Task routine. | |
| cboot_error_t | getSecondStageBlIndex (BootContext *context, uint32_t *index) |
| Get the image index of the second stage bootloader. | |
| void | jumpToSecondStageBl (BootContext *context) |
| Branching to the 2nd stage bootloader. | |
| cboot_error_t | checkForSecondStageBlUpdate (BootContext *context, uint32_t currentIndex, bool_t residentOk, bool_t *updateFound) |
| Iterates over the available download slots. | |
| cboot_error_t | updateSecondStageBl (BootContext *context) |
| Install the 2nd stage bootloader update. | |
CycloneBOOT 1st Stage Bootloader management.
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 bootFsm | ( | BootContext * | context | ) |
Bootloader Task routine.
| [in] | context | Pointer to Bootloader context |
| Slot * bootGetActiveSlot | ( | BootContext * | context | ) |
Resolve the active second-stage (BOOT) slot in the primary memory.
| [in] | context | Pointer to Bootloader context |
| void bootGetDefaultSettings | ( | BootSettings * | settings | ) |
Initialize first-stage bootloader settings with default values.
| [in,out] | settings | Pointer to the bootloader settings |
| cboot_error_t bootInit | ( | BootContext * | context, |
| BootSettings * | settings | ||
| ) |
Initialize the first-stage bootloader context from user settings.
| [in,out] | context | Pointer to the bootloader context |
| [in] | settings | Pointer to the user settings |
| cboot_error_t checkForSecondStageBlUpdate | ( | BootContext * | context, |
| uint32_t | currentIndex, | ||
| bool_t | residentOk, | ||
| bool_t * | updateFound | ||
| ) |
Iterates over the available download slots.
| [in] | context | Pointer to Bootloader context |
| cboot_error_t getSecondStageBlIndex | ( | BootContext * | context, |
| uint32_t * | index | ||
| ) |
Get the image index of the second stage bootloader.
| [in] | context | Pointer to Bootloader context |
| void jumpToSecondStageBl | ( | BootContext * | context | ) |
Branching to the 2nd stage bootloader.
| [in] | context | Pointer to Bootloader context |
| cboot_error_t updateSecondStageBl | ( | BootContext * | context | ) |
Install the 2nd stage bootloader update.
| [in] | context | Pointer to Bootloader context |