Elara Spacecraft
Source code & API documentation for Elara spacecraft system computers
Loading...
Searching...
No Matches
mem_map.hpp
Go to the documentation of this file.
1#pragma once
2/*
3 Contains definitions for key memory regions;
4 MUST be synced and aligned with the defined sizes and regions in "linker.ld"
5*/
6
7// Memory Locations
8#define __FLASH_ORIGIN 0x00000000
9#define __FLASH_LENGTH 0x3E800 // (256000)
10#define __SRAM_ORIGIN 0x20000000
11#define __SRAM_LENGTH 0xFA00
12
13// Page Size
14#define __PAGE_SIZE (0x1000) // adjust as needed
15
16// Text Region
17#define __TEXT_START (0x0000)
18#define __TEXT_END (__PAGE_SIZE)
19#define __TEXT_SIZE (__TEXT_END - __TEXT_START)
20
21// Data Region
22#define __DATA_START (__TEXT_END)
23#define __DATA_END (__DATA_START + __PAGE_SIZE)
24#define __DATA_SIZE (__DATA_END - __DATA_START)
25
26// BSS Region
27#define __BSS_START (__DATA_END)
28#define __BSS_END (__BSS_START + __PAGE_SIZE)
29#define __BSS_SIZE (__BSS_END - __BSS_START)
30
31// Stack
32#define __STACK_START (0x2000FF00)
33#define __STACK_SIZE (0xFF00)
34#define __STACK_END (__STACK_START - __STACK_END)