40 #ifdef __PROGRAM_START 41 #undef __PROGRAM_START 43 #define __PROGRAM_START 46 #include <rtos_map/adi_rtos_map.h> 52 extern uint32_t __etext;
53 extern uint32_t __data_start__;
54 extern uint32_t __data_end__;
55 extern uint32_t __copy_table_start__;
56 extern uint32_t __copy_table_end__;
57 extern uint32_t __zero_table_start__;
58 extern uint32_t __zero_table_end__;
59 extern uint32_t __bss_start__;
60 extern uint32_t __bss_end__;
61 extern uint32_t __StackTop;
66 typedef void( *pFunc )( void );
73 extern void _start(
void) __attribute__((noreturn));
75 extern int __START(
void) __attribute__((noreturn));
78 #ifndef __NO_SYSTEM_INIT 86 void Default_Handler(
void);
93 #define __STACK_SIZE 0x00000400 95 static uint8_t stack[__STACK_SIZE] __attribute__ ((aligned(8), used, section(
".stack")));
98 #define __HEAP_SIZE 0x00000C00 101 static uint8_t heap[__HEAP_SIZE] __attribute__ ((aligned(8), used, section(
".heap")));
108 void Reset_Handler (
void) __attribute__ ((weak, alias(
"Reset_Handler_C")));
109 void NMI_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
110 void HardFault_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
111 void MemManage_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
112 void BusFault_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
113 void UsageFault_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
114 void SVC_HANDLER (
void) __attribute__ ((weak, alias(
"Default_Handler")));
115 void DebugMon_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
116 void PENDSV_HANDLER (
void) __attribute__ ((weak, alias(
"Default_Handler")));
117 void SYSTICK_HANDLER (
void) __attribute__ ((weak, alias(
"Default_Handler")));
120 void RTC1_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
121 void Ext_Int0_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
122 void Ext_Int1_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
123 void Ext_Int2_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
124 void Ext_Int3_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
125 void WDog_Tmr_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
126 void Vreg_over_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
127 void Battery_Voltage_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
128 void RTC0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
129 void GPIO_A_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
130 void GPIO_B_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
131 void GP_Tmr0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
132 void GP_Tmr1_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
133 void Flash0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
134 void UART0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
135 void SPI0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
136 void SPI2_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
137 void I2C0_Slave_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
138 void I2C0_Master_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
139 void DMA_Err_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
140 void DMA_SPIH_TX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
141 void DMA_SPIH_RX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
144 void DMA_SPI0_TX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
145 void DMA_SPI0_RX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
146 void DMA_SPI1_TX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
147 void DMA_SPI1_RX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
148 void DMA_UART0_TX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
149 void DMA_UART0_RX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
150 void DMA_I2C0_STX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
151 void DMA_I2C0_SRX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
152 void DMA_I2C0_MX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
153 void DMA_AES0_IN_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
154 void DMA_AES0_OUT_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
155 void DMA_FLASH0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
158 void Crypto_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
159 void DMA_ADC0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
160 void GP_Tmr2_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
161 void Crystal_osc_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
162 void SPI1_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
163 void PLL_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
164 void RNG_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
165 void Beep_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
166 void ADC0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
167 void DMA_SIP0_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
168 void DMA_SIP1_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
169 void DMA_SIP2_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
170 void DMA_SIP3_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
171 void DMA_SIP4_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
172 void DMA_SIP5_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
173 void DMA_SIP6_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
174 void DMA_SIP7_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
175 void UART1_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
176 void DMA_UART1_TX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
177 void DMA_UART1_RX_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
178 void RGB_Tmr_Int_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
179 void Root_Clk_Err_Handler (
void) __attribute__ ((weak, alias(
"Default_Handler")));
184 const pFunc __Vectors[] __attribute__ ((section(
".vectors"))) = {
209 WDog_Tmr_Int_Handler,
210 Vreg_over_Int_Handler,
211 Battery_Voltage_Int_Handler,
221 I2C0_Slave_Int_Handler,
222 I2C0_Master_Int_Handler,
224 DMA_SPIH_TX_Int_Handler,
225 DMA_SPIH_RX_Int_Handler,
228 DMA_SPI0_TX_Int_Handler,
229 DMA_SPI0_RX_Int_Handler,
230 DMA_SPI1_TX_Int_Handler,
231 DMA_SPI1_RX_Int_Handler,
232 DMA_UART0_TX_Int_Handler,
233 DMA_UART0_RX_Int_Handler,
234 DMA_I2C0_STX_Int_Handler,
235 DMA_I2C0_SRX_Int_Handler,
236 DMA_I2C0_MX_Int_Handler,
237 DMA_AES0_IN_Int_Handler,
238 DMA_AES0_OUT_Int_Handler,
239 DMA_FLASH0_Int_Handler,
243 DMA_ADC0_Int_Handler,
245 Crystal_osc_Int_Handler,
260 DMA_SIP0_Int_Handler,
261 DMA_SIP1_Int_Handler,
262 DMA_SIP2_Int_Handler,
263 DMA_SIP3_Int_Handler,
264 DMA_SIP4_Int_Handler,
265 DMA_SIP5_Int_Handler,
266 DMA_SIP6_Int_Handler,
267 DMA_SIP7_Int_Handler,
271 DMA_UART1_TX_Int_Handler,
272 DMA_UART1_RX_Int_Handler,
275 Root_Clk_Err_Handler,
283 void Reset_Handler_C(
void) {
284 uint32_t *pSrc, *pDest;
285 uint32_t *pTable __attribute__((unused));
290 #ifndef __NO_SYSTEM_INIT 300 #ifdef __STARTUP_COPY_MULTIPLE 311 pTable = &__copy_table_start__;
313 for (; pTable < &__copy_table_end__; pTable = pTable + 3) {
314 pSrc = (uint32_t*)*(pTable + 0);
315 pDest = (uint32_t*)*(pTable + 1);
316 for (; pDest < (uint32_t*)(*(pTable + 1) + *(pTable + 2)) ; ) {
331 pDest = &__data_start__;
333 for ( ; pDest < &__data_end__ ; ) {
348 #ifdef __STARTUP_CLEAR_BSS_MULTIPLE 356 pTable = &__zero_table_start__;
358 for (; pTable < &__zero_table_end__; pTable = pTable + 2) {
359 pDest = (uint32_t*)*(pTable + 0);
360 for (; pDest < (uint32_t*)(*(pTable + 0) + *(pTable + 1)) ; ) {
364 #elif defined (__STARTUP_CLEAR_BSS) 373 pDest = &__bss_start__;
375 for ( ; pDest < &__bss_end__ ; ) {
381 #define __START _start 391 void Default_Handler(
void) {
void SystemInit(void)
Sets up the microcontroller system. Initializes the System and updates the relocate vector table.
void SPORT0A_Int_Handler(void)
void SPORT0B_Int_Handler(void)
void DMA_SPORT0B_Int_Handler(void)
void DMA_SPORT0A_Int_Handler(void)