1
6
7
8
9
10
11
12
13
14
15
16
17
18
19
21
25
26
27
28
29
30
32
39
40
41
42
43
46
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
99
100
101
102
103
104
/* ... */
#pragma once
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include "sdkconfig.h"
#define SOC_MEMORY_TYPE_NO_PRIOS 3
#ifdef __cplusplus
extern "C" {
#endif
/* ... */
typedef struct {
const char *name;
uint32_t caps[SOC_MEMORY_TYPE_NO_PRIOS];
}{ ... } soc_memory_type_desc_t;
extern const soc_memory_type_desc_t soc_memory_types[];
extern const size_t soc_memory_type_count;
/* ... */
typedef struct {
intptr_t start;
size_t size;
size_t type;
intptr_t iram_address;
bool startup_stack;
}{ ... } soc_memory_region_t;
extern const soc_memory_region_t soc_memory_regions[];
extern const size_t soc_memory_region_count;
/* ... */
typedef struct {
intptr_t start;
intptr_t end;
}{ ... } soc_reserved_region_t;
/* ... */
#define SOC_RESERVE_MEMORY_REGION(START, END, NAME) \
__attribute__((section(".reserved_memory_address"))) __attribute__((used)) \
static soc_reserved_region_t reserved_region_##NAME = { START, END };...
/* ... */
size_t soc_get_available_memory_regions(soc_memory_region_t *regions);
/* ... */
size_t soc_get_available_memory_region_max_count(void);
#ifdef __cplusplus
}{...}
#endif