|
CycloneBOOT 2.6.6
Secure Bootloader for ARM Cortex-M MCU
|
CycloneBOOT 2nd Stage Bootloader management. More...
#include "boot_config.h"#include "core/cboot_error.h"#include "core/crypto.h"#include "core/flash.h"#include "core/verify.h"Go to the source code of this file.
Classes | |
| struct | BootSettings |
| First-stage bootloader user settings. More... | |
| struct | BootContext |
| First-stage bootloader context. More... | |
Enumerations | |
| enum | BootState { BOOT_STATE_IDLE , BOOT_STATE_RUN_APP , BOOT_STATE_UPDATE_APP , BOOT_STATE_FALLBACK_APP , BOOT_STATE_ERROR } |
| Bootloader States definition. | |
Functions | |
| cboot_error_t | bootFsm (BootContext *context) |
| Bootloader Task routine. | |
| 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. | |
| cboot_error_t | bootCreateBackupSlot (BootContext *context) |
| cboot_error_t | bootUpdateApp (BootContext *context, Slot *slot) |
| Update current application. Basically it decrypt/copy an image from the external flash memory into the internal flash memory. | |
| uint32_t | mcuGetVtorOffset (void) |
| Return mcu vector table offset. | |
| void | mcuSystemReset (void) |
| Reset MCU system. | |
| void | mcuJumpToApplication (uint32_t address) |
| Jump to the application at the given address. | |
CycloneBOOT 2nd 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 |
Bootloader Task routine.
| [in,out] | context | Pointer to the bootloader context |
| void bootGetDefaultSettings | ( | BootSettings * | settings | ) |
Initialize first-stage bootloader settings with default values.
| [in,out] | settings | Pointer to the bootloader settings |
Initialize first-stage bootloader settings with default values.
| [in,out] | settings | Structure that contains Bootloader settings |
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 | ||
| ) |
Initialize the first-stage bootloader context from user settings.
| [in,out] | context | Pointer to the bootloader context |
| [in] | settings | Pointer to the user settings |
Initialize the first-stage bootloader context from user settings.
| [in,out] | context | Bootloader context |
| [in] | settings | Bootloader user settings |
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 |
| cboot_error_t bootUpdateApp | ( | BootContext * | context, |
| Slot * | slot | ||
| ) |
Update current application. Basically it decrypt/copy an image from the external flash memory into the internal flash memory.
| [in] | context | Pointer to Bootloader context |
| [in] | slot | Pointer to the slot in the external flash memory that contains the new application |
|
extern |
Return mcu vector table offset.
Return mcu vector table offset.
|
extern |
Jump to the application at the given address.
| [in] | address | Application start address |
|
extern |
Reset MCU system.
Reset MCU system.