31 #ifndef SYSTEM_PORTABLE_INC_OC_LSF_H_ 32 #define SYSTEM_PORTABLE_INC_OC_LSF_H_ 39 #define _________________________________________MACROS_SECTION_____________________________________________________________________________ 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)) 49 #define oC_LSF_IsCorrectAddress(Address) ((oC_LSF_IsRamAddress(Address) || oC_LSF_IsRomAddress(Address)) || oC_LSF_IsExternalAddress(Address) || oC_LSF_IsDmaAddress(Address)) 51 #undef _________________________________________MACROS_SECTION_____________________________________________________________________________ 60 #define _________________________________________LINKER_VARIABLES_SECTION___________________________________________________________________ 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;
96 #undef _________________________________________LINKER_VARIABLES_SECTION___________________________________________________________________ 104 #define _________________________________________STATIC_INLINE_SECTION______________________________________________________________________ 118 return (
void*)&__rom_start;
132 return (
void*)&__rom_end;
146 return (oC_UInt_t)&__rom_size;
160 return (
void*)&__ram_start;
174 return (
void*)&__ram_end;
188 return (oC_UInt_t)&__ram_size;
202 return (
void*)&__data_start;
216 return (
void*)&__data_end;
230 return (oC_UInt_t)&__data_size;
244 return (
void*)&__bss_start;
258 return (
void*)&__bss_end;
272 return (oC_UInt_t)&__bss_size;
286 return (
void*)&__text_start;
300 return (
void*)&__text_end;
314 return (oC_UInt_t)&__text_size;
328 return (
void*)&__heap_start;
342 return (
void*)&__heap_end;
356 return (oC_UInt_t)&__heap_size;
370 return (
void*)&__stack_start;
384 return (
void*)&__stack_end;
398 return (oC_UInt_t)&__stack_size;
412 return (
void*)&__process_stack_start;
426 return (
void*)&__process_stack_end;
440 return (oC_UInt_t)&__process_stack_size;
454 return (
void*)&__main_stack_start;
468 return (
void*)&__main_stack_end;
482 return (oC_UInt_t)&__main_stack_size;
496 void * start = (
void*)&__ext_start;
511 void * end = (
void*)&__ext_end;
526 oC_UInt_t size = (oC_UInt_t)&__ext_size;
541 void * start = (
void*)&__dma_start;
556 void * end = (
void*)&__dma_end;
571 oC_UInt_t size = (oC_UInt_t)&__dma_size;
575 #undef _________________________________________STATIC_INLINE_SECTION______________________________________________________________________ static void * oC_LSF_GetHeapStart(void)
returns heap start address
static void * oC_LSF_GetDmaStart(void)
returns start address of DMA section
static oC_UInt_t oC_LSF_GetExternalSize(void)
returns size of the section in linkage
static void * oC_LSF_GetRamEnd(void)
returns ram end address
static void * oC_LSF_GetProcessStackEnd(void)
returns stack end address
static oC_UInt_t oC_LSF_GetDmaSize(void)
returns size of the section in linkage
static void * oC_LSF_GetRomEnd(void)
returns rom end address
static void * oC_LSF_GetTextStart(void)
returns text start address
static oC_UInt_t oC_LSF_GetRomSize(void)
returns size of the section in linkage
static void * oC_LSF_GetExternalStart(void)
returns stack start address
static void * oC_LSF_GetTextEnd(void)
returns text end address
static void * oC_LSF_GetRamStart(void)
returns ram start address
static oC_UInt_t oC_LSF_GetMainStackSize(void)
returns size of the section in linkage
static void * oC_LSF_GetBssStart(void)
returns bss start address
static oC_UInt_t oC_LSF_GetDataSize(void)
returns size of the section in linkage
static void * oC_LSF_GetDmaEnd(void)
returns end address of DMA section
static void * oC_LSF_GetDataStart(void)
returns data start address
static void * oC_LSF_GetExternalEnd(void)
returns stack end address
static void * oC_LSF_GetStackEnd(void)
returns stack end address
static oC_UInt_t oC_LSF_GetTextSize(void)
returns size of the section in linkage
static void * oC_LSF_GetMainStackStart(void)
returns stack start address
static oC_UInt_t oC_LSF_GetBssSize(void)
returns size of the section in linkage
static void * oC_LSF_GetMainStackEnd(void)
returns stack end address
static void * oC_LSF_GetDataEnd(void)
returns data end address
static void * oC_LSF_GetRomStart(void)
returns rom start address
static void * oC_LSF_GetBssEnd(void)
returns bss end address
static void * oC_LSF_GetStackStart(void)
returns stack start address
static void * oC_LSF_GetHeapEnd(void)
returns heap end address
static oC_UInt_t oC_LSF_GetStackSize(void)
returns size of the section in linkage
static oC_UInt_t oC_LSF_GetHeapSize(void)
returns size of the section in linkage
static oC_UInt_t oC_LSF_GetRamSize(void)
returns size of the section in linkage
static oC_UInt_t oC_LSF_GetProcessStackSize(void)
returns size of the section in linkage
static void * oC_LSF_GetProcessStackStart(void)
returns stack start address