CycloneBOOT 2.6.6
Secure Bootloader for ARM Cortex-M MCU
Loading...
Searching...
No Matches
update_fallback.c File Reference

CycloneBOOT IAP Fallback Functions API. More...

#include "update/update_fallback.h"
#include "error.h"
#include "debug.h"

Macros

#define TRACE_LEVEL   CBOOT_TRACE_LEVEL
 

Functions

error_t flashDriverSwapBanksNoInit (void)
 Performs a Memory bank swap according to the current bank ID without HAL initialization. It uses CMSIS low layer instead of HAL. If current Memory bank ID match the 1st bank then it will swap on the 2nd Memory bank. If current Memory bank ID match the 2nd bank then it will swap on the 1st Memory bank.
 
void mcuSystemReset (void)
 Reset MCU system.
 
cboot_error_t updateFallbackStart (void)
 Start CycloneBOOT Dual Bank mode fallback procedure. It will switch flash bank and then restart the MCU.
 

Detailed Description

CycloneBOOT IAP Fallback Functions API.

License

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.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.6.6

Function Documentation

◆ flashDriverSwapBanksNoInit()

error_t flashDriverSwapBanksNoInit ( void  )
extern

Performs a Memory bank swap according to the current bank ID without HAL initialization. It uses CMSIS low layer instead of HAL. If current Memory bank ID match the 1st bank then it will swap on the 2nd Memory bank. If current Memory bank ID match the 2nd bank then it will swap on the 1st Memory bank.

Returns
Error code

◆ mcuSystemReset()

void mcuSystemReset ( void  )
extern

Reset MCU system.

Reset MCU system.

◆ updateFallbackStart()

cboot_error_t updateFallbackStart ( void  )

Start CycloneBOOT Dual Bank mode fallback procedure. It will switch flash bank and then restart the MCU.

Returns
Status code