Choco OS  V.0.16.9.0
Join to the chocolate world
oc_lsf.h
Go to the documentation of this file.
1 
31 #ifndef SYSTEM_PORTABLE_INC_OC_LSF_H_
32 #define SYSTEM_PORTABLE_INC_OC_LSF_H_
33 
39 #define _________________________________________MACROS_SECTION_____________________________________________________________________________
40 
43 #define oC_LSF_IsNotNull(Address) ( ((void*)(Address)) != NULL )
44 #define oC_LSF_IsExternalAddress(Address) ((((void*)(Address)) >= oC_LSF_GetExternalStart()) && (((void*)(Address)) < oC_LSF_GetExternalEnd()) && oC_LSF_IsNotNull(Address))
45 #define oC_LSF_IsRomAddress(Address) ((((void*)(Address)) >= oC_LSF_GetRomStart()) && (((void*)(Address)) < oC_LSF_GetRomEnd()) && oC_LSF_IsNotNull(Address))
46 #define oC_LSF_IsRamAddress(Address) ((((void*)(Address)) >= oC_LSF_GetRamStart()) && (((void*)(Address)) < oC_LSF_GetRamEnd()) && oC_LSF_IsNotNull(Address))
47 #define oC_LSF_IsDmaAddress(Address) ((((void*)(Address)) >= oC_LSF_GetDmaStart()) && (((void*)(Address)) < oC_LSF_GetDmaEnd()) && oC_LSF_IsNotNull(Address))
48 
49 #define oC_LSF_IsCorrectAddress(Address) ((oC_LSF_IsRamAddress(Address) || oC_LSF_IsRomAddress(Address)) || oC_LSF_IsExternalAddress(Address) || oC_LSF_IsDmaAddress(Address))
50 
51 #undef _________________________________________MACROS_SECTION_____________________________________________________________________________
52 
60 #define _________________________________________LINKER_VARIABLES_SECTION___________________________________________________________________
61 
62 extern const char __rom_start;
63 extern const char __rom_end;
64 extern const char __rom_size;
65 extern const char __ram_start;
66 extern const char __ram_end;
67 extern const char __ram_size;
68 extern const char __data_start;
69 extern const char __data_end;
70 extern const char __data_size;
71 extern const char __bss_start;
72 extern const char __bss_end;
73 extern const char __bss_size;
74 extern const char __stack_start;
75 extern const char __stack_end;
76 extern const char __stack_size;
77 extern const char __text_start;
78 extern const char __text_end;
79 extern const char __text_size;
80 extern const char __heap_start;
81 extern const char __heap_end;
82 extern const char __heap_size;
83 extern const char __main_stack_start;
84 extern const char __main_stack_end;
85 extern const char __main_stack_size;
86 extern const char __ext_start;
87 extern const char __ext_end;
88 extern const char __ext_size;
89 extern const char __dma_start;
90 extern const char __dma_end;
91 extern const char __dma_size;
92 extern const char __process_stack_start;
93 extern const char __process_stack_end;
94 extern const char __process_stack_size;
95 
96 #undef _________________________________________LINKER_VARIABLES_SECTION___________________________________________________________________
97 
98 
104 #define _________________________________________STATIC_INLINE_SECTION______________________________________________________________________
105 
106 
107 //==========================================================================================================================================
115 //==========================================================================================================================================
116 static inline void * oC_LSF_GetRomStart( void )
117 {
118  return (void*)&__rom_start;
119 }
120 
121 //==========================================================================================================================================
129 //==========================================================================================================================================
130 static inline void * oC_LSF_GetRomEnd( void )
131 {
132  return (void*)&__rom_end;
133 }
134 
135 //==========================================================================================================================================
143 //==========================================================================================================================================
144 static inline oC_UInt_t oC_LSF_GetRomSize( void )
145 {
146  return (oC_UInt_t)&__rom_size;
147 }
148 
149 //==========================================================================================================================================
157 //==========================================================================================================================================
158 static inline void * oC_LSF_GetRamStart( void )
159 {
160  return (void*)&__ram_start;
161 }
162 
163 //==========================================================================================================================================
171 //==========================================================================================================================================
172 static inline void * oC_LSF_GetRamEnd( void )
173 {
174  return (void*)&__ram_end;
175 }
176 
177 //==========================================================================================================================================
185 //==========================================================================================================================================
186 static inline oC_UInt_t oC_LSF_GetRamSize( void )
187 {
188  return (oC_UInt_t)&__ram_size;
189 }
190 
191 //==========================================================================================================================================
199 //==========================================================================================================================================
200 static inline void * oC_LSF_GetDataStart( void )
201 {
202  return (void*)&__data_start;
203 }
204 
205 //==========================================================================================================================================
213 //==========================================================================================================================================
214 static inline void * oC_LSF_GetDataEnd( void )
215 {
216  return (void*)&__data_end;
217 }
218 
219 //==========================================================================================================================================
227 //==========================================================================================================================================
228 static inline oC_UInt_t oC_LSF_GetDataSize( void )
229 {
230  return (oC_UInt_t)&__data_size;
231 }
232 
233 //==========================================================================================================================================
241 //==========================================================================================================================================
242 static inline void * oC_LSF_GetBssStart( void )
243 {
244  return (void*)&__bss_start;
245 }
246 
247 //==========================================================================================================================================
255 //==========================================================================================================================================
256 static inline void * oC_LSF_GetBssEnd( void )
257 {
258  return (void*)&__bss_end;
259 }
260 
261 //==========================================================================================================================================
269 //==========================================================================================================================================
270 static inline oC_UInt_t oC_LSF_GetBssSize( void )
271 {
272  return (oC_UInt_t)&__bss_size;
273 }
274 
275 //==========================================================================================================================================
283 //==========================================================================================================================================
284 static inline void * oC_LSF_GetTextStart( void )
285 {
286  return (void*)&__text_start;
287 }
288 
289 //==========================================================================================================================================
297 //==========================================================================================================================================
298 static inline void * oC_LSF_GetTextEnd( void )
299 {
300  return (void*)&__text_end;
301 }
302 
303 //==========================================================================================================================================
311 //==========================================================================================================================================
312 static inline oC_UInt_t oC_LSF_GetTextSize( void )
313 {
314  return (oC_UInt_t)&__text_size;
315 }
316 
317 //==========================================================================================================================================
325 //==========================================================================================================================================
326 static inline void * oC_LSF_GetHeapStart( void )
327 {
328  return (void*)&__heap_start;
329 }
330 
331 //==========================================================================================================================================
339 //==========================================================================================================================================
340 static inline void * oC_LSF_GetHeapEnd( void )
341 {
342  return (void*)&__heap_end;
343 }
344 
345 //==========================================================================================================================================
353 //==========================================================================================================================================
354 static inline oC_UInt_t oC_LSF_GetHeapSize( void )
355 {
356  return (oC_UInt_t)&__heap_size;
357 }
358 
359 //==========================================================================================================================================
367 //==========================================================================================================================================
368 static inline void * oC_LSF_GetStackStart( void )
369 {
370  return (void*)&__stack_start;
371 }
372 
373 //==========================================================================================================================================
381 //==========================================================================================================================================
382 static inline void * oC_LSF_GetStackEnd( void )
383 {
384  return (void*)&__stack_end;
385 }
386 
387 //==========================================================================================================================================
395 //==========================================================================================================================================
396 static inline oC_UInt_t oC_LSF_GetStackSize( void )
397 {
398  return (oC_UInt_t)&__stack_size;
399 }
400 
401 //==========================================================================================================================================
409 //==========================================================================================================================================
410 static inline void * oC_LSF_GetProcessStackStart( void )
411 {
412  return (void*)&__process_stack_start;
413 }
414 
415 //==========================================================================================================================================
423 //==========================================================================================================================================
424 static inline void * oC_LSF_GetProcessStackEnd( void )
425 {
426  return (void*)&__process_stack_end;
427 }
428 
429 //==========================================================================================================================================
437 //==========================================================================================================================================
438 static inline oC_UInt_t oC_LSF_GetProcessStackSize( void )
439 {
440  return (oC_UInt_t)&__process_stack_size;
441 }
442 
443 //==========================================================================================================================================
451 //==========================================================================================================================================
452 static inline void * oC_LSF_GetMainStackStart( void )
453 {
454  return (void*)&__main_stack_start;
455 }
456 
457 //==========================================================================================================================================
465 //==========================================================================================================================================
466 static inline void * oC_LSF_GetMainStackEnd( void )
467 {
468  return (void*)&__main_stack_end;
469 }
470 
471 //==========================================================================================================================================
479 //==========================================================================================================================================
480 static inline oC_UInt_t oC_LSF_GetMainStackSize( void )
481 {
482  return (oC_UInt_t)&__main_stack_size;
483 }
484 
485 //==========================================================================================================================================
493 //==========================================================================================================================================
494 static inline void * oC_LSF_GetExternalStart( void )
495 {
496  void * start = (void*)&__ext_start;
497  return start;
498 }
499 
500 //==========================================================================================================================================
508 //==========================================================================================================================================
509 static inline void * oC_LSF_GetExternalEnd( void )
510 {
511  void * end = (void*)&__ext_end;
512  return end;
513 }
514 
515 //==========================================================================================================================================
523 //==========================================================================================================================================
524 static inline oC_UInt_t oC_LSF_GetExternalSize( void )
525 {
526  oC_UInt_t size = (oC_UInt_t)&__ext_size;
527  return size;
528 }
529 
530 //==========================================================================================================================================
538 //==========================================================================================================================================
539 static inline void * oC_LSF_GetDmaStart( void )
540 {
541  void * start = (void*)&__dma_start;
542  return start;
543 }
544 
545 //==========================================================================================================================================
553 //==========================================================================================================================================
554 static inline void * oC_LSF_GetDmaEnd( void )
555 {
556  void * end = (void*)&__dma_end;
557  return end;
558 }
559 
560 //==========================================================================================================================================
568 //==========================================================================================================================================
569 static inline oC_UInt_t oC_LSF_GetDmaSize( void )
570 {
571  oC_UInt_t size = (oC_UInt_t)&__dma_size;
572  return size;
573 }
574 
575 #undef _________________________________________STATIC_INLINE_SECTION______________________________________________________________________
576 
577 
578 #endif /* SYSTEM_PORTABLE_INC_OC_LSF_H_ */
static void * oC_LSF_GetHeapStart(void)
returns heap start address
Definition: oc_lsf.h:326
static void * oC_LSF_GetDmaStart(void)
returns start address of DMA section
Definition: oc_lsf.h:539
static oC_UInt_t oC_LSF_GetExternalSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:524
static void * oC_LSF_GetRamEnd(void)
returns ram end address
Definition: oc_lsf.h:172
static void * oC_LSF_GetProcessStackEnd(void)
returns stack end address
Definition: oc_lsf.h:424
static oC_UInt_t oC_LSF_GetDmaSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:569
static void * oC_LSF_GetRomEnd(void)
returns rom end address
Definition: oc_lsf.h:130
static void * oC_LSF_GetTextStart(void)
returns text start address
Definition: oc_lsf.h:284
static oC_UInt_t oC_LSF_GetRomSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:144
static void * oC_LSF_GetExternalStart(void)
returns stack start address
Definition: oc_lsf.h:494
static void * oC_LSF_GetTextEnd(void)
returns text end address
Definition: oc_lsf.h:298
static void * oC_LSF_GetRamStart(void)
returns ram start address
Definition: oc_lsf.h:158
static oC_UInt_t oC_LSF_GetMainStackSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:480
static void * oC_LSF_GetBssStart(void)
returns bss start address
Definition: oc_lsf.h:242
static oC_UInt_t oC_LSF_GetDataSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:228
static void * oC_LSF_GetDmaEnd(void)
returns end address of DMA section
Definition: oc_lsf.h:554
static void * oC_LSF_GetDataStart(void)
returns data start address
Definition: oc_lsf.h:200
static void * oC_LSF_GetExternalEnd(void)
returns stack end address
Definition: oc_lsf.h:509
static void * oC_LSF_GetStackEnd(void)
returns stack end address
Definition: oc_lsf.h:382
static oC_UInt_t oC_LSF_GetTextSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:312
static void * oC_LSF_GetMainStackStart(void)
returns stack start address
Definition: oc_lsf.h:452
static oC_UInt_t oC_LSF_GetBssSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:270
static void * oC_LSF_GetMainStackEnd(void)
returns stack end address
Definition: oc_lsf.h:466
static void * oC_LSF_GetDataEnd(void)
returns data end address
Definition: oc_lsf.h:214
static void * oC_LSF_GetRomStart(void)
returns rom start address
Definition: oc_lsf.h:116
static void * oC_LSF_GetBssEnd(void)
returns bss end address
Definition: oc_lsf.h:256
static void * oC_LSF_GetStackStart(void)
returns stack start address
Definition: oc_lsf.h:368
static void * oC_LSF_GetHeapEnd(void)
returns heap end address
Definition: oc_lsf.h:340
static oC_UInt_t oC_LSF_GetStackSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:396
static oC_UInt_t oC_LSF_GetHeapSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:354
static oC_UInt_t oC_LSF_GetRamSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:186
static oC_UInt_t oC_LSF_GetProcessStackSize(void)
returns size of the section in linkage
Definition: oc_lsf.h:438
static void * oC_LSF_GetProcessStackStart(void)
returns stack start address
Definition: oc_lsf.h:410