1 MODULE ?cstartup 2 3 EXTERN __iar_program_start 4 5 SECTION CSTACK:DATA:NOROOT(3) 6 7 PUBLIC start_flash 8 SECTION .intvec:CODE:REORDER(2) 9start_flash 10 LDR R0, =hardware_init 11 BX R0 12 13 PUBLIC hard_fault_handler 14hard_fault_handler 15 BL HARD_FAULT_IRQHandler 16 17 PUBLIC svc_handler 18svc_handler 19 BL SVC_IRQHandler 20 21 PUBLIC pendsv_handler 22pendsv_handler 23 BL PENDSV_IRQHandler 24 25 PUBLIC systick 26systick 27 BL SYSTICK_IRQHandler 28 29 PUBLIC irq0 30irq0 31 movs r0,#0 32 b isr 33 34 PUBLIC irq1 35irq1 36 movs r0,#1 37 b isr 38 39 PUBLIC irq2 40irq2 41 movs r0,#2 42 b isr 43 44 PUBLIC irq3 45irq3 46 movs r0,#3 47 b isr 48 49 PUBLIC irq4 50irq4 51 movs r0,#4 52 b isr 53 54 PUBLIC irq5 55irq5 56 movs r0,#5 57 b isr 58 59 PUBLIC irq6 60irq6 61 movs r0,#6 62 b isr 63 64 PUBLIC irq7 65irq7 66 movs r0,#7 67 b isr 68 69 PUBLIC irq8 70irq8 71 movs r0,#8 72 b isr 73 74 PUBLIC irq9 75irq9 76 movs r0,#9 77 b isr 78 79 PUBLIC irq10 80irq10 81 movs r0,#10 82 b isr 83 84 PUBLIC irq11 85irq11 86 movs r0,#11 87 b isr 88 89 PUBLIC irq12 90irq12 91 movs r0,#12 92 b isr 93 94 PUBLIC irq13 95irq13 96 movs r0,#13 97 b isr 98 99 PUBLIC irq14 100irq14 101 movs r0,#14 102 b isr 103 104 PUBLIC irq15 105irq15 106 movs r0,#15 107 b isr 108 109 PUBLIC irq16 110irq16 111 movs r0,#16 112 b isr 113 114 PUBLIC irq17 115irq17 116 movs r0,#17 117 b isr 118 119 PUBLIC irq18 120irq18 121 movs r0,#18 122 b isr 123 124 PUBLIC irq19 125irq19 126 movs r0,#19 127 b isr 128 129 PUBLIC irq20 130irq20 131 movs r0,#20 132 b isr 133 134 PUBLIC irq21 135irq21 136 movs r0,#21 137 b isr 138 139 PUBLIC irq22 140irq22 141 movs r0,#22 142 b isr 143 144 PUBLIC irq23 145irq23 146 movs r0,#23 147 b isr 148 149 PUBLIC irq24 150irq24 151 movs r0,#24 152 b isr 153 154 PUBLIC irq25 155irq25 156 movs r0,#25 157 b isr 158 159 PUBLIC irq26 160irq26 161 movs r0,#26 162 b isr 163 164 PUBLIC irq27 165irq27 166 movs r0,#27 167 b isr 168 169 PUBLIC irq28 170irq28 171 movs r0,#28 172 b isr 173 174 PUBLIC irq29 175irq29 176 movs r0,#29 177 b isr 178 179 PUBLIC irq30 180irq30 181 movs r0,#30 182 b isr 183 184 PUBLIC irq31 185irq31 186 movs r0,#31 187 b isr 188 189 PUBLIC isr 190isr 191 ldr r1,=__vector_table 192 ldr r0,[r0, r1] 193 bx r0 194 195 196 PUBWEAK HARD_FAULT_IRQHandler 197 PUBWEAK SVC_IRQHandler 198 PUBWEAK PENDSV_IRQHandler 199 PUBWEAK SYSTICK_IRQHandler 200 PUBWEAK USB_IRQHandler 201 PUBWEAK IIC_IRQHandler 202 PUBWEAK QSPI_IRQHandler 203 PUBWEAK SPI0_IRQHandler 204 PUBWEAK SPI1_IRQHandler 205 PUBWEAK UART0_IRQHandler 206 PUBWEAK UART1_IRQHandler 207 PUBWEAK MEMCP_IRQHandler 208 PUBWEAK RSA_IRQHandler 209 PUBWEAK SCI0_IRQHandler 210 PUBWEAK SCI1_IRQHandler 211 PUBWEAK BT_IRQHandler 212 PUBWEAK GPIO_IRQHandler 213 PUBWEAK TIMER0_IRQHandler 214 PUBWEAK TIMER1_IRQHandler 215 PUBWEAK TIMER2_IRQHandler 216 PUBWEAK TIMER3_IRQHandler 217 PUBWEAK TIMER4_IRQHandler 218 PUBWEAK TIMER5_IRQHandler 219 PUBWEAK TIMER6_IRQHandler 220 PUBWEAK TIMER7_IRQHandler 221 PUBWEAK TIMER8_IRQHandler 222 PUBWEAK SM4_IRQHandler 223 PUBWEAK SEC_IRQHandler 224 PUBWEAK MSR_IRQHandler 225 PUBWEAK TRNG_IRQHandler 226 PUBWEAK WDT_IRQHandler 227 228 229HARD_FAULT_IRQHandler 230SVC_IRQHandler 231PENDSV_IRQHandler 232SYSTICK_IRQHandler 233 234USB_IRQHandler 235IIC_IRQHandler 236QSPI_IRQHandler 237SPI0_IRQHandler 238SPI1_IRQHandler 239UART0_IRQHandler 240UART1_IRQHandler 241MEMCP_IRQHandler 242RSA_IRQHandler 243SCI0_IRQHandler 244SCI1_IRQHandler 245BT_IRQHandler 246GPIO_IRQHandler 247TIMER0_IRQHandler 248TIMER1_IRQHandler 249TIMER2_IRQHandler 250TIMER3_IRQHandler 251TIMER4_IRQHandler 252TIMER5_IRQHandler 253TIMER6_IRQHandler 254TIMER7_IRQHandler 255TIMER8_IRQHandler 256SM4_IRQHandler 257SEC_IRQHandler 258MSR_IRQHandler 259TRNG_IRQHandler 260WDT_IRQHandler 261 B . 262 263 PUBLIC delay 264delay 265 subs r0,#1 266 bne delay 267 nop 268 bx lr 269 270 PUBLIC __vector_table 271 ALIGNROM 2 272 data 273__vector_table 274 DCD USB_IRQHandler 275 DCD IIC_IRQHandler 276 DCD QSPI_IRQHandler 277 DCD SPI0_IRQHandler 278 DCD SPI1_IRQHandler 279 DCD UART0_IRQHandler 280 DCD UART1_IRQHandler 281 DCD MEMCP_IRQHandler 282 DCD RSA_IRQHandler 283 DCD SCI0_IRQHandler 284 DCD SCI1_IRQHandler 285 DCD BT_IRQHandler 286 DCD GPIO_IRQHandler 287 DCD TIMER0_IRQHandler 288 DCD TIMER1_IRQHandler 289 DCD TIMER2_IRQHandler 290 DCD TIMER3_IRQHandler 291 DCD TIMER4_IRQHandler 292 DCD TIMER5_IRQHandler 293 DCD TIMER6_IRQHandler 294 DCD TIMER7_IRQHandler 295 DCD TIMER8_IRQHandler 296 DCD SM4_IRQHandler 297 DCD SEC_IRQHandler 298 DCD MSR_IRQHandler 299 DCD TRNG_IRQHandler 300 DCD WDT_IRQHandler 301 302 303 PUBLIC hardware_init 304 SECTION .intvec:CODE:REORDER(2) 305 CODE 306hardware_init 307 LDR R0, =sfe(CSTACK) 308 mov sp, R0 309 LDR R0, =__iar_program_start 310 BX R0 311 END