Midnight Sun Firmware
Loading...
Searching...
No Matches
fota_memory_map.h
1#pragma once
2
3/************************************************************************************************
4 * @file fota_memory_map.h
5 *
6 * @brief Fota Memory Map Header File
7 *
8 * @date 2025-04-30
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13#include <stdbool.h>
14#include <stdint.h>
15
16/* Inter-component Headers */
17#include "fota_packet.h"
18
19/* Intra-component Headers */
20
27#ifdef MS_PLATFORM_X86
28
30#define FLASH_START_ADDRESS_LINKERSCRIPT ((uint32_t)0x08000000U)
31
33#define FLASH_SIZE_LINKERSCRIPT ((size_t)(256U * 1024U))
34
36#define FLASH_PAGE_SIZE_LINKERSCRIPT ((size_t)(2U * 1024U))
37
39#define APP_ACTIVE_START_ADDRESS ((uint32_t)(FLASH_START_ADDRESS_LINKERSCRIPT + 0x18000U))
40
42#define APP_ACTIVE_SIZE ((size_t)(80U * 1024U))
43
45#define APP_STAGING_START_ADDRESS ((uint32_t)(FLASH_START_ADDRESS_LINKERSCRIPT + 0x2A000U))
46
48#define APP_STAGING_SIZE ((size_t)(80U * 1024U))
49
51#define BOOTLOADER_START_ADDRESS ((uint32_t)(FLASH_START_ADDRESS_LINKERSCRIPT + 0x8000U))
52
54#define BOOTLOADER_SIZE ((size_t)(64U * 1024U))
55
57#define BOOTSTRAP_START_ADDRESS ((uint32_t)(FLASH_START_ADDRESS_LINKERSCRIPT))
58
60#define BOOTSTRAP_SIZE ((size_t)(32U * 1024U))
61
63#define FS_STORAGE_START_ADDRESS ((uint32_t)(FLASH_START_ADDRESS_LINKERSCRIPT + 0x3C000U))
64
66#define FS_STORAGE_SIZE ((size_t)(4U * 1024U))
67
69#define SRAM_START_ADDRESS ((uint32_t)0x20000000U)
70
72#define SRAM_SIZE ((size_t)(64U * 1024U))
73
74#else
75
76extern uint32_t _flash_start;
77extern uint32_t _flash_size;
78extern uint32_t _flash_page_size;
79
80extern uint32_t _bootstrap_start;
81extern uint32_t _bootstrap_size;
82
83extern uint32_t _bootloader_start;
84extern uint32_t _bootloader_size;
85
86extern uint32_t _app_active_start;
87extern uint32_t _app_active_size;
88
89extern uint32_t _app_staging_start;
90extern uint32_t _app_staging_size;
91
92extern uint32_t _fs_storage_start;
93extern uint32_t _fs_storage_size;
94
95extern uint32_t _sram_start;
96extern uint32_t _sram_size;
97
99#define FLASH_START_ADDRESS_LINKERSCRIPT ((uint32_t) & _flash_start)
100
102#define FLASH_SIZE_LINKERSCRIPT ((size_t) & _flash_size)
103
105#define FLASH_PAGE_SIZE_LINKERSCRIPT ((size_t) & _flash_page_size)
106
108#define APP_ACTIVE_START_ADDRESS ((uint32_t) & _app_active_start)
109
111#define APP_ACTIVE_SIZE ((size_t) & _app_active_size)
112
114#define APP_STAGING_START_ADDRESS ((uint32_t) & _app_staging_start)
115
117#define APP_STAGING_SIZE ((size_t) & _app_staging_size)
118
120#define BOOTLOADER_START_ADDRESS ((uint32_t) & _bootloader_start)
121
123#define BOOTLOADER_SIZE ((size_t) & _bootloader_size)
124
126#define BOOTSTRAP_START_ADDRESS ((uint32_t) & _bootstrap_start)
127
129#define BOOTSTRAP_SIZE ((size_t) & _bootstrap_size)
130
132#define FS_STORAGE_START_ADDRESS ((uint32_t) & _fs_storage_start)
133
135#define FS_STORAGE_SIZE ((size_t) & _fs_storage_size)
136
138#define SRAM_START_ADDRESS ((uint32_t) & _sram_start)
139
141#define SRAM_SIZE ((size_t) & _sram_size)
142
143#endif
144