MCCI Trusted Bootloader
Simple trusted bootloader and tools for small embedded systems
mcci_bootloader_cm7_appimage.h
Go to the documentation of this file.
1/*
2
3Module: mcci_bootloader_cm7_appimage.h
4
5Function:
6 AppImage layout on CortexM7. Defined by bootloader so not part
7 the CortexM7 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 ChaeHee Won, MCCI Corporation June 2021
20
21*/
22
23#ifndef _mcci_bootloader_cm7_appimage_h_
24#define _mcci_bootloader_cm7_appimage_h_ /* prevent multiple includes */
25
26#pragma once
27
28#include "mcci_arm_cm7.h"
29#include <stdint.h>
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36/****************************************************************************\
37|
38| Data Structures
39|
40\****************************************************************************/
41
42/// \brief the Cortex M7 App header
43typedef struct McciBootloader_CortexM7PageZeroContents_s
44 {
46 McciBootloader_AppInfo_t AppInfo;
48
49typedef union McciBootloader_CortexM7PageZero_u
50 {
51 Mcci_CortexAppEntryContents_t CortexAppEntry; //< View instance as a CortexM7 AppEntry.
52 Mcci_CortexAppEntry_t CortexAppEntryCast; //< Downcast to an AppEntry without explicit casting
53 Mcci_CortexM7VectorsContents_t CortexVectors; //< View instance as vectors.
54 Mcci_CortexM7Vectors_t CortexVectorsCast; //< Downcast to a CortexVectors_t without explicit casting
55 McciBootloader_CortexM7PageZeroContents_t PageZero; //< View instance as a PageZero.
56 uint8_t Bytes[1024 + 64]; //< padding to force size
57 } __attribute__((__aligned__(256)))
59
60
61/****************************************************************************\
62|
63| End of file
64|
65\****************************************************************************/
66
67#ifdef __cplusplus
68}
69#endif
70
71#endif /* _mcci_bootloader_cm7_appimage_h_ */
application entry contents
Cortex M7 interrupt vectors (low level view)
application entry object
Cortex M7 interrupt vector object.
McciBootloader_CortexM7PageZeroContents_t PageZero
Mcci_CortexAppEntryContents_t CortexAppEntry
Mcci_CortexM7VectorsContents_t CortexVectors