CycloneBOOT on-flash image format.
More...
#include <stdint.h>
#include <stddef.h>
Go to the source code of this file.
|
|
#define | IMAGE_PACK_BEGIN |
| |
|
#define | IMAGE_PACK_END |
| |
|
#define | IMAGE_PACK_ATTR |
| |
|
#define | IMAGE_FORMAT_STATIC_ASSERT_CAT_(a, b) a ## b |
| |
|
#define | IMAGE_FORMAT_STATIC_ASSERT_CAT(a, b) IMAGE_FORMAT_STATIC_ASSERT_CAT_(a, b) |
| |
|
#define | IMAGE_FORMAT_STATIC_ASSERT(cond, msg) typedef char IMAGE_FORMAT_STATIC_ASSERT_CAT(image_format_static_assert_, __LINE__)[(cond) ? 1 : -1] |
| |
|
| enum | ImageType { IMAGE_TYPE_APP = 0
, IMAGE_TYPE_BOOT
, IMAGE_TYPE_NONE
} |
| | Image type.
|
| |
|
|
IMAGE_PACK_END | IMAGE_FORMAT_STATIC_ASSERT (sizeof(ImageVersion)==8, "ImageVersion on-flash layout changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageVersion, major)==0, "ImageVersion.major offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageVersion, minor)==1, "ImageVersion.minor offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageVersion, revision)==2, "ImageVersion.revision offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageVersion, buildNum)==4, "ImageVersion.buildNum offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (sizeof(ImageHeader)==64, "ImageHeader on-flash layout changed (must stay 64 bytes)") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, headVers)==0, "ImageHeader.headVers offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, imgIndex)==4, "ImageHeader.imgIndex offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, imgType)==8, "ImageHeader.imgType offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, dataPadding)==9, "ImageHeader.dataPadding offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, dataSize)==13, "ImageHeader.dataSize offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, binarySize)==17, "ImageHeader.binarySize offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, dataVers)==21, "ImageHeader.dataVers offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, imgTime)==29, "ImageHeader.imgTime offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, reserved)==37, "ImageHeader.reserved offset changed") |
| |
|
| IMAGE_FORMAT_STATIC_ASSERT (offsetof(ImageHeader, headCrc)==60, "ImageHeader.headCrc offset changed") |
| |
CycloneBOOT on-flash image format.
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2021-2026 Oryx Embedded SARL. All rights reserved.
Description
Image layout on flash: [ header (64 bytes) ][ padding ][ firmware ][ runtime check data ][ CRC32 ] Encrypted image in external memory: [ header (64 bytes) ][ IV (16 bytes) ][ magic block (16 bytes) ][ data ][ CRC32 ]