51 lines
1.9 KiB
C
51 lines
1.9 KiB
C
/*
|
|
* Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <mcuboot_config/mcuboot_config.h>
|
|
|
|
//! A user-defined identifier for different storage mediums
|
|
//! (i.e internal flash, external NOR flash, eMMC, etc)
|
|
#define FLASH_DEVICE_INTERNAL_FLASH 0
|
|
|
|
//! An arbitrarily high slot ID we will use to indicate that
|
|
//! there is not slot
|
|
#define FLASH_SLOT_DOES_NOT_EXIST 255
|
|
|
|
//! The slot we will use to track the bootloader allocation
|
|
#define FLASH_AREA_BOOTLOADER 0
|
|
|
|
#define FLASH_AREA_IMAGE_0_PRIMARY 1
|
|
#define FLASH_AREA_IMAGE_0_SECONDARY 2
|
|
#define FLASH_AREA_IMAGE_SCRATCH 3
|
|
#define FLASH_AREA_IMAGE_1_PRIMARY 4
|
|
#define FLASH_AREA_IMAGE_1_SECONDARY 5
|
|
|
|
#if (MCUBOOT_IMAGE_NUMBER == 1)
|
|
#define FLASH_AREA_IMAGE_PRIMARY(x) (((x) == 0) ? \
|
|
FLASH_AREA_IMAGE_0_PRIMARY : \
|
|
FLASH_SLOT_DOES_NOT_EXIST)
|
|
#define FLASH_AREA_IMAGE_SECONDARY(x) (((x) == 0) ? \
|
|
FLASH_AREA_IMAGE_0_SECONDARY : \
|
|
FLASH_SLOT_DOES_NOT_EXIST)
|
|
|
|
#elif (MCUBOOT_IMAGE_NUMBER == 2)
|
|
#define FLASH_AREA_IMAGE_PRIMARY(x) (((x) == 0) ? \
|
|
FLASH_AREA_IMAGE_0_PRIMARY : \
|
|
((x) == 1) ? \
|
|
FLASH_AREA_IMAGE_1_PRIMARY : \
|
|
FLASH_SLOT_DOES_NOT_EXIST)
|
|
#define FLASH_AREA_IMAGE_SECONDARY(x) (((x) == 0) ? \
|
|
FLASH_AREA_IMAGE_0_SECONDARY : \
|
|
((x) == 1) ? \
|
|
FLASH_AREA_IMAGE_1_SECONDARY : \
|
|
FLASH_SLOT_DOES_NOT_EXIST)
|
|
|
|
#else
|
|
#warning "Image slot and flash area mapping is not defined"
|
|
#endif
|