MCCI Trusted Bootloader
Simple trusted bootloader and tools for small embedded systems
mcci_bootloader_cm0plus_appimage.h
Go to the documentation of this file.
1/*
2
3Module: mcci_bootloader_cm0plus_appimage.h
4
5Function:
6 AppImage layout on CortexM0. Defined by bootloader so not part
7 the CortexM0 header.
8
9Copyright and License:
10 This file copyright (C) 2021 by
11
12 MCCI Corporation
13 3520 Krums Corners Road
14 Ithaca, NY 14850
15
16 See accompanying LICENSE file for copyright and license information.
17
18Author:
19 Terry Moore, MCCI Corporation March 2021
20
21*/
22
23#ifndef _mcci_bootloader_cm0plus_appimage_h_
24#define _mcci_bootloader_cm0plus_appimage_h_ /* prevent multiple includes */
25
26#pragma once
27
28#include "mcci_arm_cm0plus.h"
29#include <stdint.h>
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36/****************************************************************************\
37|
38| Data Structures
39|
40\****************************************************************************/
41
42
43/// \brief the Cortex M0 App header
44typedef struct McciBootloader_CortexPageZeroContents_s
45 {
47 McciBootloader_AppInfo_t AppInfo;
49
50typedef union McciBootloader_CortexPageZero_u
51 {
52 Mcci_CortexAppEntryContents_t CortexAppEntry; //< View instance as a CortexM0 AppEntry.
53 Mcci_CortexAppEntry_t CortexAppEntryCast; //< Downcast to an AppEntry without explicit casting
54 Mcci_CortexVectorsContents_t CortexVectors; //< View instance as vectors.
55 Mcci_CortexVectors_t CortexVectorsCast; //< Downcast to a CortexVectors_t without explicit casting
56 McciBootloader_CortexPageZeroContents_t PageZero; //< View instance as a PageZero.
57 uint8_t Bytes[256]; //< padding to force size
58 } __attribute__((__aligned__(256)))
60
61/****************************************************************************\
62|
63| End of file
64|
65\****************************************************************************/
66
67#ifdef __cplusplus
68}
69#endif
70
71#endif /* _mcci_bootloader_cm0plus_appimage_h_ */
application entry contents
Cortex M0 interrupt vectors (low level view)
application entry object
Cortex M0 interrupt vector object.
McciBootloader_CortexPageZeroContents_t PageZero