Document API IEC60730 Library
sl_iec60730_board.h
1 /***************************************************************************/
18 #ifndef SL_IEC60730_BOARD_H
19 #define SL_IEC60730_BOARD_H
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif /* __cplusplus */
24 
25 // Standard libraries
26 #include <stdbool.h>
27 #include <stdint.h>
28 #include <stddef.h>
29 
30 /**************************************************************************/
37 /* Invariable Memory */
39 extern uint32_t flash_start;
40 
57 #ifndef SL_IEC60730_ROM_END
58 #define SL_IEC60730_ROM_START ((uint32_t *) (&flash_start))
59 #endif
60 
66 #ifndef SL_IEC60730_ROM_END
67 #define SL_IEC60730_ROM_END ((uint32_t *) (&check_sum))
68 #endif
69 
72 /**************************************************************************/
77 /* Variable Memory */
78 extern uint32_t classb_start;
79 extern uint32_t classb_end;
80 extern uint32_t __StackTop;
81 extern uint32_t ram_start;
82 extern uint32_t class_b_limit;
83 
84 #if defined(__GNUC__)
85 extern uint32_t stack_check;
86 #define STACK_CHECK ((uint32_t *) (&stack_check))
87 #elif defined(__ICCARM__)
88 #pragma section = ".stack_bottom"
89 #define STACK_CHECK __section_begin(".stack_bottom")
90 #else // unknown toolchain
91 #error Unrecognized toolchain in sl_iec60730_toolchain.h
92 #endif
93 
95 #define RAM_START ((uint32_t *) (&ram_start))
96 #define RAM_END ((uint32_t *) ((uint32_t) RAM_BACKUP - 1))
98 #define RAM_BACKUP ((uint32_t *) (&__StackTop))
100 
102 #define CLASSB_START ((uint32_t *) (&classb_start))
103 #define CLASSB_END ((uint32_t *) ((uint32_t) (&class_b_limit) - 1))
105 
107 #define RAMTEST_START CLASSB_START
108 #define RAMTEST_END CLASSB_END
110 
114 #ifdef __cplusplus
115 }
116 #endif /* __cplusplus */
117 
118 #endif /* SL_IEC60730_BOARD_H */
flash_start
uint32_t flash_start
Flash start address.