1use crate::memory::define_memory_config;
6
7define_memory_config! {
9 name: AutomotiveECUConfig,
10 total_memory: 128 * 1024, max_registers: 500,
12 max_counters: 100,
13 max_sets: 50,
14 max_maps: 30,
15 max_nodes: 64,
16 max_set_elements: 32,
17 max_map_entries: 64,
18 max_history_size: 8,
19 clock_memory_budget: 1024,
20 error_buffer_size: 512,
21 memory_alignment: 4,
22 cache_line_size: 32,
23}
24
25define_memory_config! {
26 name: AutomotiveSensorConfig,
27 total_memory: 16 * 1024, max_registers: 50,
29 max_counters: 20,
30 max_sets: 10,
31 max_maps: 5,
32 max_nodes: 16,
33 max_set_elements: 16,
34 max_map_entries: 16,
35 max_history_size: 4,
36 clock_memory_budget: 256,
37 error_buffer_size: 128,
38 memory_alignment: 4,
39 cache_line_size: 32,
40}
41
42define_memory_config! {
44 name: STM32F4Config,
45 total_memory: 32 * 1024, max_registers: 100,
47 max_counters: 50,
48 max_sets: 20,
49 max_maps: 15,
50 max_nodes: 32,
51 max_set_elements: 32,
52 max_map_entries: 32,
53 max_history_size: 4,
54 clock_memory_budget: 512,
55 error_buffer_size: 256,
56 memory_alignment: 4,
57 cache_line_size: 32,
58}
59
60define_memory_config! {
61 name: STM32F0Config,
62 total_memory: 8 * 1024, max_registers: 25,
64 max_counters: 15,
65 max_sets: 8,
66 max_maps: 5,
67 max_nodes: 16,
68 max_set_elements: 16,
69 max_map_entries: 16,
70 max_history_size: 2,
71 clock_memory_budget: 256,
72 error_buffer_size: 128,
73 memory_alignment: 4,
74 cache_line_size: 32,
75}
76
77define_memory_config! {
79 name: IoTSensorConfig,
80 total_memory: 4 * 1024, max_registers: 20,
82 max_counters: 10,
83 max_sets: 5,
84 max_maps: 3,
85 max_nodes: 16,
86 max_set_elements: 8,
87 max_map_entries: 8,
88 max_history_size: 2,
89 clock_memory_budget: 128,
90 error_buffer_size: 64,
91 memory_alignment: 4,
92 cache_line_size: 32,
93}
94
95define_memory_config! {
96 name: IoTGatewayConfig,
97 total_memory: 64 * 1024, max_registers: 200,
99 max_counters: 100,
100 max_sets: 50,
101 max_maps: 25,
102 max_nodes: 128,
103 max_set_elements: 64,
104 max_map_entries: 64,
105 max_history_size: 8,
106 clock_memory_budget: 1024,
107 error_buffer_size: 512,
108 memory_alignment: 4,
109 cache_line_size: 32,
110}
111
112define_memory_config! {
114 name: RoboticsControllerConfig,
115 total_memory: 256 * 1024, max_registers: 1000,
117 max_counters: 200,
118 max_sets: 100,
119 max_maps: 50,
120 max_nodes: 32,
121 max_set_elements: 64,
122 max_map_entries: 128,
123 max_history_size: 16,
124 clock_memory_budget: 2048,
125 error_buffer_size: 1024,
126 memory_alignment: 8,
127 cache_line_size: 64,
128}
129
130define_memory_config! {
131 name: RoboticsSensorConfig,
132 total_memory: 32 * 1024, max_registers: 100,
134 max_counters: 50,
135 max_sets: 25,
136 max_maps: 15,
137 max_nodes: 16,
138 max_set_elements: 32,
139 max_map_entries: 32,
140 max_history_size: 4,
141 clock_memory_budget: 512,
142 error_buffer_size: 256,
143 memory_alignment: 4,
144 cache_line_size: 32,
145}
146
147define_memory_config! {
149 name: IndustrialPLCConfig,
150 total_memory: 512 * 1024, max_registers: 2000,
152 max_counters: 500,
153 max_sets: 200,
154 max_maps: 100,
155 max_nodes: 64,
156 max_set_elements: 64,
157 max_map_entries: 256,
158 max_history_size: 32,
159 clock_memory_budget: 4096,
160 error_buffer_size: 2048,
161 memory_alignment: 8,
162 cache_line_size: 64,
163}
164
165define_memory_config! {
166 name: IndustrialSensorConfig,
167 total_memory: 16 * 1024, max_registers: 50,
169 max_counters: 25,
170 max_sets: 15,
171 max_maps: 10,
172 max_nodes: 32,
173 max_set_elements: 16,
174 max_map_entries: 16,
175 max_history_size: 4,
176 clock_memory_budget: 256,
177 error_buffer_size: 128,
178 memory_alignment: 4,
179 cache_line_size: 32,
180}
181
182define_memory_config! {
184 name: TestingMinimalConfig,
185 total_memory: 2 * 1024, max_registers: 10,
187 max_counters: 5,
188 max_sets: 3,
189 max_maps: 2,
190 max_nodes: 8,
191 max_set_elements: 8,
192 max_map_entries: 8,
193 max_history_size: 2,
194 clock_memory_budget: 64,
195 error_buffer_size: 32,
196 memory_alignment: 4,
197 cache_line_size: 32,
198}
199
200define_memory_config! {
201 name: TestingMaximalConfig,
202 total_memory: 1024 * 1024, max_registers: 10000,
204 max_counters: 5000,
205 max_sets: 1000,
206 max_maps: 500,
207 max_nodes: 255,
208 max_set_elements: 64,
209 max_map_entries: 512,
210 max_history_size: 64,
211 clock_memory_budget: 8192,
212 error_buffer_size: 4096,
213 memory_alignment: 8,
214 cache_line_size: 64,
215}