1;******************************************************************************* 2;* @file startup_XMC4504.s 3;* @brief CMSIS Core Device Startup File for 4;* Infineon XMC4504 Device Series 5;* @version V1.8 6;* @date June 2016 7;* 8;* @cond 9;********************************************************************************************************************* 10;* Copyright (c) 2012-2016, Infineon Technologies AG 11;* All rights reserved. 12;* 13;* Redistribution and use in source and binary forms, with or without modification,are permitted provided that the 14;* following conditions are met: 15;* 16;* Redistributions of source code must retain the above copyright notice, this list of conditions and the following 17;* disclaimer. 18;* 19;* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following 20;* disclaimer in the documentation and/or other materials provided with the distribution. 21;* 22;* Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote 23;* products derived from this software without specific prior written permission. 24;* 25;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 26;* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28;* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 29;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 30;* WHETHER IN CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32;* 33;* To improve the quality of the software, users are encouraged to share modifications, enhancements or bug fixes with 34;* Infineon Technologies AG dave@infineon.com). 35;********************************************************************************************************************* 36;* 37;************************** Version History ************************************ 38; V1.00, February 2012, First version 39; V1.10, August 2012, Adding Dave3 init function call 40; V1.20, February 2013, FIX for CPU prefetch bug implemented 41; V1.30, August 2013, Fix the bug of stack pointer alignment to a 8 byte boundary 42; V1.40, November 2014, Disable CPU workaround. 43; To enable the workaround add to the ASM defines: 44; ENABLE_PMU_CM_001_WORKAROUND 45; Increased stack size. 46; Removed DAVE3 dependency 47; V1.50, December 2014, Fix not available entries in vector table 48; V1.60, November 2015, Remove peripherals not included in device 49; V1.7 , March 2016, Fix weak definition of Veneers. 50; Only relevant for AA and AB step, which needs ENABLE_PMU_CM_001_WORKAROUND 51; V1.8, June 2016, Rename ENABLE_CPU_CM_001_WORKAROUND to ENABLE_PMU_CM_001_WORKAROUND 52; Action required: If using AA/AB step, use ENABLE_PMU_CM_001_WORKAROUND instead of ENABLE_CPU_CM_001_WORKAROUND 53;******************************************************************************* 54;* @endcond 55 56; ------------------ <<< Use Configuration Wizard in Context Menu >>> ------------------ 57 58; <h> Stack Configuration 59; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> 60; </h> 61 62Stack_Size EQU 0x00000800 63 64 AREA STACK, NOINIT, READWRITE, ALIGN=3 65Stack_Mem SPACE Stack_Size 66__initial_sp 67 68 69; <h> Heap Configuration 70; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> 71; </h> 72 73Heap_Size EQU 0x00000200 74 75 AREA HEAP, NOINIT, READWRITE, ALIGN=3 76__heap_base 77Heap_Mem SPACE Heap_Size 78__heap_limit 79 80 PRESERVE8 81 THUMB 82 83 IF :DEF:ENABLE_PMU_CM_001_WORKAROUND 84 MACRO 85 Entry $Handler 86 DCD $Handler._Veneer 87 MEND 88 ELSE 89 MACRO 90 Entry $Handler 91 DCD $Handler 92 MEND 93 ENDIF 94 95; Vector Table Mapped to Address 0 at Reset 96 97 AREA RESET, DATA, READONLY 98 EXPORT __Vectors 99 EXPORT __Vectors_End 100 EXPORT __Vectors_Size 101 102__Vectors DCD __initial_sp ; 0 Top of Stack 103 DCD Reset_Handler ; 1 Reset Handler 104 Entry NMI_Handler ; 2 NMI Handler 105 Entry HardFault_Handler ; 3 Hard Fault Handler 106 Entry MemManage_Handler ; 4 MPU Fault Handler 107 Entry BusFault_Handler ; 5 Bus Fault Handler 108 Entry UsageFault_Handler ; 6 Usage Fault Handler 109 DCD 0 ; 7 Reserved 110 DCD 0 ; 8 Reserved 111 DCD 0 ; 9 Reserved 112 DCD 0 ; 10 Reserved 113 Entry SVC_Handler ; 11 SVCall Handler 114 Entry DebugMon_Handler ; 12 Debug Monitor Handler 115 DCD 0 ; 13 Reserved 116 Entry PendSV_Handler ; 14 PendSV Handler 117 Entry SysTick_Handler ; 15 SysTick Handler 118 119; Interrupt Handlers for Service Requests (SR) from XMC4500 Peripherals */ 120 Entry SCU_0_IRQHandler ; Handler name for SR SCU_0 121 Entry ERU0_0_IRQHandler ; Handler name for SR ERU0_0 122 Entry ERU0_1_IRQHandler ; Handler name for SR ERU0_1 123 Entry ERU0_2_IRQHandler ; Handler name for SR ERU0_2 124 Entry ERU0_3_IRQHandler ; Handler name for SR ERU0_3 125 Entry ERU1_0_IRQHandler ; Handler name for SR ERU1_0 126 Entry ERU1_1_IRQHandler ; Handler name for SR ERU1_1 127 Entry ERU1_2_IRQHandler ; Handler name for SR ERU1_2 128 Entry ERU1_3_IRQHandler ; Handler name for SR ERU1_3 129 DCD 0 ; Not Available 130 DCD 0 ; Not Available 131 DCD 0 ; Not Available 132 Entry PMU0_0_IRQHandler ; Handler name for SR PMU0_0 133 DCD 0 ; Not Available 134 Entry VADC0_C0_0_IRQHandler ; Handler name for SR VADC0_C0_0 135 Entry VADC0_C0_1_IRQHandler ; Handler name for SR VADC0_C0_1 136 Entry VADC0_C0_2_IRQHandler ; Handler name for SR VADC0_C0_1 137 Entry VADC0_C0_3_IRQHandler ; Handler name for SR VADC0_C0_3 138 Entry VADC0_G0_0_IRQHandler ; Handler name for SR VADC0_G0_0 139 Entry VADC0_G0_1_IRQHandler ; Handler name for SR VADC0_G0_1 140 Entry VADC0_G0_2_IRQHandler ; Handler name for SR VADC0_G0_2 141 Entry VADC0_G0_3_IRQHandler ; Handler name for SR VADC0_G0_3 142 Entry VADC0_G1_0_IRQHandler ; Handler name for SR VADC0_G1_0 143 Entry VADC0_G1_1_IRQHandler ; Handler name for SR VADC0_G1_1 144 Entry VADC0_G1_2_IRQHandler ; Handler name for SR VADC0_G1_2 145 Entry VADC0_G1_3_IRQHandler ; Handler name for SR VADC0_G1_3 146 Entry VADC0_G2_0_IRQHandler ; Handler name for SR VADC0_G2_0 147 Entry VADC0_G2_1_IRQHandler ; Handler name for SR VADC0_G2_1 148 Entry VADC0_G2_2_IRQHandler ; Handler name for SR VADC0_G2_2 149 Entry VADC0_G2_3_IRQHandler ; Handler name for SR VADC0_G2_3 150 Entry VADC0_G3_0_IRQHandler ; Handler name for SR VADC0_G3_0 151 Entry VADC0_G3_1_IRQHandler ; Handler name for SR VADC0_G3_1 152 Entry VADC0_G3_2_IRQHandler ; Handler name for SR VADC0_G3_2 153 Entry VADC0_G3_3_IRQHandler ; Handler name for SR VADC0_G3_3 154 Entry DSD0_0_IRQHandler ; Handler name for SR DSD_SRM_0 155 Entry DSD0_1_IRQHandler ; Handler name for SR DSD_SRM_1 156 Entry DSD0_2_IRQHandler ; Handler name for SR DSD_SRM_2 157 Entry DSD0_3_IRQHandler ; Handler name for SR DSD_SRM_3 158 Entry DSD0_4_IRQHandler ; Handler name for SR DSD_SRA_0 159 Entry DSD0_5_IRQHandler ; Handler name for SR DSD_SRA_1 160 Entry DSD0_6_IRQHandler ; Handler name for SR DSD_SRA_2 161 Entry DSD0_7_IRQHandler ; Handler name for SR DSD_SRA_3 162 Entry DAC0_0_IRQHandler ; Handler name for SR DAC0_0 163 Entry DAC0_1_IRQHandler ; Handler name for SR DAC0_1 164 Entry CCU40_0_IRQHandler ; Handler name for SR CCU40_0 165 Entry CCU40_1_IRQHandler ; Handler name for SR CCU40_1 166 Entry CCU40_2_IRQHandler ; Handler name for SR CCU40_2 167 Entry CCU40_3_IRQHandler ; Handler name for SR CCU40_3 168 Entry CCU41_0_IRQHandler ; Handler name for SR CCU41_0 169 Entry CCU41_1_IRQHandler ; Handler name for SR CCU41_1 170 Entry CCU41_2_IRQHandler ; Handler name for SR CCU41_2 171 Entry CCU41_3_IRQHandler ; Handler name for SR CCU41_3 172 Entry CCU42_0_IRQHandler ; Handler name for SR CCU42_0 173 Entry CCU42_1_IRQHandler ; Handler name for SR CCU42_1 174 Entry CCU42_2_IRQHandler ; Handler name for SR CCU42_2 175 Entry CCU42_3_IRQHandler ; Handler name for SR CCU42_3 176 Entry CCU43_0_IRQHandler ; Handler name for SR CCU43_0 177 Entry CCU43_1_IRQHandler ; Handler name for SR CCU43_1 178 Entry CCU43_2_IRQHandler ; Handler name for SR CCU43_2 179 Entry CCU43_3_IRQHandler ; Handler name for SR CCU43_3 180 Entry CCU80_0_IRQHandler ; Handler name for SR CCU80_0 181 Entry CCU80_1_IRQHandler ; Handler name for SR CCU80_1 182 Entry CCU80_2_IRQHandler ; Handler name for SR CCU80_2 183 Entry CCU80_3_IRQHandler ; Handler name for SR CCU80_3 184 Entry CCU81_0_IRQHandler ; Handler name for SR CCU81_0 185 Entry CCU81_1_IRQHandler ; Handler name for SR CCU81_1 186 Entry CCU81_2_IRQHandler ; Handler name for SR CCU81_2 187 Entry CCU81_3_IRQHandler ; Handler name for SR CCU81_3 188 Entry POSIF0_0_IRQHandler ; Handler name for SR POSIF0_0 189 Entry POSIF0_1_IRQHandler ; Handler name for SR POSIF0_1 190 Entry POSIF1_0_IRQHandler ; Handler name for SR POSIF1_0 191 Entry POSIF1_1_IRQHandler ; Handler name for SR POSIF1_1 192 DCD 0 ; Not Available 193 DCD 0 ; Not Available 194 DCD 0 ; Not Available 195 DCD 0 ; Not Available 196 DCD 0 ; Not Available 197 DCD 0 ; Not Available 198 DCD 0 ; Not Available 199 DCD 0 ; Not Available 200 DCD 0 ; Not Available 201 DCD 0 ; Not Available 202 DCD 0 ; Not Available 203 DCD 0 ; Not Available 204 Entry USIC0_0_IRQHandler ; Handler name for SR USIC0_0 205 Entry USIC0_1_IRQHandler ; Handler name for SR USIC0_1 206 Entry USIC0_2_IRQHandler ; Handler name for SR USIC0_2 207 Entry USIC0_3_IRQHandler ; Handler name for SR USIC0_3 208 Entry USIC0_4_IRQHandler ; Handler name for SR USIC0_4 209 Entry USIC0_5_IRQHandler ; Handler name for SR USIC0_5 210 Entry USIC1_0_IRQHandler ; Handler name for SR USIC1_0 211 Entry USIC1_1_IRQHandler ; Handler name for SR USIC1_1 212 Entry USIC1_2_IRQHandler ; Handler name for SR USIC1_2 213 Entry USIC1_3_IRQHandler ; Handler name for SR USIC1_3 214 Entry USIC1_4_IRQHandler ; Handler name for SR USIC1_4 215 Entry USIC1_5_IRQHandler ; Handler name for SR USIC1_5 216 Entry USIC2_0_IRQHandler ; Handler name for SR USIC2_0 217 Entry USIC2_1_IRQHandler ; Handler name for SR USIC2_1 218 Entry USIC2_2_IRQHandler ; Handler name for SR USIC2_2 219 Entry USIC2_3_IRQHandler ; Handler name for SR USIC2_3 220 Entry USIC2_4_IRQHandler ; Handler name for SR USIC2_4 221 Entry USIC2_5_IRQHandler ; Handler name for SR USIC2_5 222 Entry LEDTS0_0_IRQHandler ; Handler name for SR LEDTS0_0 223 DCD 0 ; Not Available 224 Entry FCE0_0_IRQHandler ; Handler name for SR FCE0_0 225 Entry GPDMA0_0_IRQHandler ; Handler name for SR GPDMA0_0 226 Entry SDMMC0_0_IRQHandler ; Handler name for SR SDMMC0_0 227 DCD 0 ; Not Available 228 DCD 0 ; Not Available 229 DCD 0 ; Not Available 230 Entry GPDMA1_0_IRQHandler ; Handler name for SR GPDMA0_1 231 DCD 0 ; Not Available 232__Vectors_End 233 234__Vectors_Size EQU __Vectors_End - __Vectors 235 236 AREA |.text|, CODE, READONLY 237 238; Reset Handler 239 240Reset_Handler PROC 241 EXPORT Reset_Handler [WEAK] 242 IMPORT SystemInit 243 IMPORT __main 244 LDR SP, =__initial_sp 245 LDR R0, =SystemInit 246 BLX R0 247 LDR R0, =__main 248 BX R0 249 ENDP 250 251; Dummy Exception Handlers (infinite loops which can be modified) 252 253Default_Handler PROC 254 EXPORT NMI_Handler [WEAK] 255 EXPORT HardFault_Handler [WEAK] 256 EXPORT MemManage_Handler [WEAK] 257 EXPORT BusFault_Handler [WEAK] 258 EXPORT UsageFault_Handler [WEAK] 259 EXPORT SVC_Handler [WEAK] 260 EXPORT DebugMon_Handler [WEAK] 261 EXPORT PendSV_Handler [WEAK] 262 EXPORT SysTick_Handler [WEAK] 263 264 EXPORT SCU_0_IRQHandler [WEAK] 265 EXPORT ERU0_0_IRQHandler [WEAK] 266 EXPORT ERU0_1_IRQHandler [WEAK] 267 EXPORT ERU0_2_IRQHandler [WEAK] 268 EXPORT ERU0_3_IRQHandler [WEAK] 269 EXPORT ERU1_0_IRQHandler [WEAK] 270 EXPORT ERU1_1_IRQHandler [WEAK] 271 EXPORT ERU1_2_IRQHandler [WEAK] 272 EXPORT ERU1_3_IRQHandler [WEAK] 273 EXPORT PMU0_0_IRQHandler [WEAK] 274 EXPORT VADC0_C0_0_IRQHandler [WEAK] 275 EXPORT VADC0_C0_1_IRQHandler [WEAK] 276 EXPORT VADC0_C0_2_IRQHandler [WEAK] 277 EXPORT VADC0_C0_3_IRQHandler [WEAK] 278 EXPORT VADC0_G0_0_IRQHandler [WEAK] 279 EXPORT VADC0_G0_1_IRQHandler [WEAK] 280 EXPORT VADC0_G0_2_IRQHandler [WEAK] 281 EXPORT VADC0_G0_3_IRQHandler [WEAK] 282 EXPORT VADC0_G1_0_IRQHandler [WEAK] 283 EXPORT VADC0_G1_1_IRQHandler [WEAK] 284 EXPORT VADC0_G1_2_IRQHandler [WEAK] 285 EXPORT VADC0_G1_3_IRQHandler [WEAK] 286 EXPORT VADC0_G2_0_IRQHandler [WEAK] 287 EXPORT VADC0_G2_1_IRQHandler [WEAK] 288 EXPORT VADC0_G2_2_IRQHandler [WEAK] 289 EXPORT VADC0_G2_3_IRQHandler [WEAK] 290 EXPORT VADC0_G3_0_IRQHandler [WEAK] 291 EXPORT VADC0_G3_1_IRQHandler [WEAK] 292 EXPORT VADC0_G3_2_IRQHandler [WEAK] 293 EXPORT VADC0_G3_3_IRQHandler [WEAK] 294 EXPORT DSD0_0_IRQHandler [WEAK] 295 EXPORT DSD0_1_IRQHandler [WEAK] 296 EXPORT DSD0_2_IRQHandler [WEAK] 297 EXPORT DSD0_3_IRQHandler [WEAK] 298 EXPORT DSD0_4_IRQHandler [WEAK] 299 EXPORT DSD0_5_IRQHandler [WEAK] 300 EXPORT DSD0_6_IRQHandler [WEAK] 301 EXPORT DSD0_7_IRQHandler [WEAK] 302 EXPORT DAC0_0_IRQHandler [WEAK] 303 EXPORT DAC0_1_IRQHandler [WEAK] 304 EXPORT CCU40_0_IRQHandler [WEAK] 305 EXPORT CCU40_1_IRQHandler [WEAK] 306 EXPORT CCU40_2_IRQHandler [WEAK] 307 EXPORT CCU40_3_IRQHandler [WEAK] 308 EXPORT CCU41_0_IRQHandler [WEAK] 309 EXPORT CCU41_1_IRQHandler [WEAK] 310 EXPORT CCU41_2_IRQHandler [WEAK] 311 EXPORT CCU41_3_IRQHandler [WEAK] 312 EXPORT CCU42_0_IRQHandler [WEAK] 313 EXPORT CCU42_1_IRQHandler [WEAK] 314 EXPORT CCU42_2_IRQHandler [WEAK] 315 EXPORT CCU42_3_IRQHandler [WEAK] 316 EXPORT CCU43_0_IRQHandler [WEAK] 317 EXPORT CCU43_1_IRQHandler [WEAK] 318 EXPORT CCU43_2_IRQHandler [WEAK] 319 EXPORT CCU43_3_IRQHandler [WEAK] 320 EXPORT CCU80_0_IRQHandler [WEAK] 321 EXPORT CCU80_1_IRQHandler [WEAK] 322 EXPORT CCU80_2_IRQHandler [WEAK] 323 EXPORT CCU80_3_IRQHandler [WEAK] 324 EXPORT CCU81_0_IRQHandler [WEAK] 325 EXPORT CCU81_1_IRQHandler [WEAK] 326 EXPORT CCU81_2_IRQHandler [WEAK] 327 EXPORT CCU81_3_IRQHandler [WEAK] 328 EXPORT POSIF0_0_IRQHandler [WEAK] 329 EXPORT POSIF0_1_IRQHandler [WEAK] 330 EXPORT POSIF1_0_IRQHandler [WEAK] 331 EXPORT POSIF1_1_IRQHandler [WEAK] 332 EXPORT USIC0_0_IRQHandler [WEAK] 333 EXPORT USIC0_1_IRQHandler [WEAK] 334 EXPORT USIC0_2_IRQHandler [WEAK] 335 EXPORT USIC0_3_IRQHandler [WEAK] 336 EXPORT USIC0_4_IRQHandler [WEAK] 337 EXPORT USIC0_5_IRQHandler [WEAK] 338 EXPORT USIC1_0_IRQHandler [WEAK] 339 EXPORT USIC1_1_IRQHandler [WEAK] 340 EXPORT USIC1_2_IRQHandler [WEAK] 341 EXPORT USIC1_3_IRQHandler [WEAK] 342 EXPORT USIC1_4_IRQHandler [WEAK] 343 EXPORT USIC1_5_IRQHandler [WEAK] 344 EXPORT USIC2_0_IRQHandler [WEAK] 345 EXPORT USIC2_1_IRQHandler [WEAK] 346 EXPORT USIC2_2_IRQHandler [WEAK] 347 EXPORT USIC2_3_IRQHandler [WEAK] 348 EXPORT USIC2_4_IRQHandler [WEAK] 349 EXPORT USIC2_5_IRQHandler [WEAK] 350 EXPORT LEDTS0_0_IRQHandler [WEAK] 351 EXPORT FCE0_0_IRQHandler [WEAK] 352 EXPORT GPDMA0_0_IRQHandler [WEAK] 353 EXPORT SDMMC0_0_IRQHandler [WEAK] 354 EXPORT GPDMA1_0_IRQHandler [WEAK] 355 356NMI_Handler 357HardFault_Handler 358MemManage_Handler 359BusFault_Handler 360UsageFault_Handler 361SVC_Handler 362DebugMon_Handler 363PendSV_Handler 364SysTick_Handler 365SCU_0_IRQHandler 366ERU0_0_IRQHandler 367ERU0_1_IRQHandler 368ERU0_2_IRQHandler 369ERU0_3_IRQHandler 370ERU1_0_IRQHandler 371ERU1_1_IRQHandler 372ERU1_2_IRQHandler 373ERU1_3_IRQHandler 374PMU0_0_IRQHandler 375VADC0_C0_0_IRQHandler 376VADC0_C0_1_IRQHandler 377VADC0_C0_2_IRQHandler 378VADC0_C0_3_IRQHandler 379VADC0_G0_0_IRQHandler 380VADC0_G0_1_IRQHandler 381VADC0_G0_2_IRQHandler 382VADC0_G0_3_IRQHandler 383VADC0_G1_0_IRQHandler 384VADC0_G1_1_IRQHandler 385VADC0_G1_2_IRQHandler 386VADC0_G1_3_IRQHandler 387VADC0_G2_0_IRQHandler 388VADC0_G2_1_IRQHandler 389VADC0_G2_2_IRQHandler 390VADC0_G2_3_IRQHandler 391VADC0_G3_0_IRQHandler 392VADC0_G3_1_IRQHandler 393VADC0_G3_2_IRQHandler 394VADC0_G3_3_IRQHandler 395DSD0_0_IRQHandler 396DSD0_1_IRQHandler 397DSD0_2_IRQHandler 398DSD0_3_IRQHandler 399DSD0_4_IRQHandler 400DSD0_5_IRQHandler 401DSD0_6_IRQHandler 402DSD0_7_IRQHandler 403DAC0_0_IRQHandler 404DAC0_1_IRQHandler 405CCU40_0_IRQHandler 406CCU40_1_IRQHandler 407CCU40_2_IRQHandler 408CCU40_3_IRQHandler 409CCU41_0_IRQHandler 410CCU41_1_IRQHandler 411CCU41_2_IRQHandler 412CCU41_3_IRQHandler 413CCU42_0_IRQHandler 414CCU42_1_IRQHandler 415CCU42_2_IRQHandler 416CCU42_3_IRQHandler 417CCU43_0_IRQHandler 418CCU43_1_IRQHandler 419CCU43_2_IRQHandler 420CCU43_3_IRQHandler 421CCU80_0_IRQHandler 422CCU80_1_IRQHandler 423CCU80_2_IRQHandler 424CCU80_3_IRQHandler 425CCU81_0_IRQHandler 426CCU81_1_IRQHandler 427CCU81_2_IRQHandler 428CCU81_3_IRQHandler 429POSIF0_0_IRQHandler 430POSIF0_1_IRQHandler 431POSIF1_0_IRQHandler 432POSIF1_1_IRQHandler 433USIC0_0_IRQHandler 434USIC0_1_IRQHandler 435USIC0_2_IRQHandler 436USIC0_3_IRQHandler 437USIC0_4_IRQHandler 438USIC0_5_IRQHandler 439USIC1_0_IRQHandler 440USIC1_1_IRQHandler 441USIC1_2_IRQHandler 442USIC1_3_IRQHandler 443USIC1_4_IRQHandler 444USIC1_5_IRQHandler 445USIC2_0_IRQHandler 446USIC2_1_IRQHandler 447USIC2_2_IRQHandler 448USIC2_3_IRQHandler 449USIC2_4_IRQHandler 450USIC2_5_IRQHandler 451LEDTS0_0_IRQHandler 452FCE0_0_IRQHandler 453GPDMA0_0_IRQHandler 454SDMMC0_0_IRQHandler 455GPDMA1_0_IRQHandler 456 457 B . 458 459 ENDP 460 461 IF :DEF:ENABLE_PMU_CM_001_WORKAROUND 462 463 MACRO 464 Insert_ExceptionHandlerVeneer $Handler_Func 465$Handler_Func._Veneer\ 466 PROC 467 EXPORT $Handler_Func._Veneer [WEAK] 468 LDR R0, =$Handler_Func 469 PUSH {LR} ;/* Breaks AAPCS */ 470 SUB SP,#4 ;/* Restores AAPCS */ 471 BLX R0 472 ADD SP,#4 473 POP {PC} 474 ALIGN 475 LTORG 476 ENDP 477 MEND 478 479 Insert_ExceptionHandlerVeneer NMI_Handler 480 Insert_ExceptionHandlerVeneer HardFault_Handler 481 Insert_ExceptionHandlerVeneer MemManage_Handler 482 Insert_ExceptionHandlerVeneer BusFault_Handler 483 Insert_ExceptionHandlerVeneer UsageFault_Handler 484 Insert_ExceptionHandlerVeneer SVC_Handler 485 Insert_ExceptionHandlerVeneer DebugMon_Handler 486 Insert_ExceptionHandlerVeneer PendSV_Handler 487 Insert_ExceptionHandlerVeneer SysTick_Handler 488 489 Insert_ExceptionHandlerVeneer SCU_0_IRQHandler 490 Insert_ExceptionHandlerVeneer ERU0_0_IRQHandler 491 Insert_ExceptionHandlerVeneer ERU0_1_IRQHandler 492 Insert_ExceptionHandlerVeneer ERU0_2_IRQHandler 493 Insert_ExceptionHandlerVeneer ERU0_3_IRQHandler 494 Insert_ExceptionHandlerVeneer ERU1_0_IRQHandler 495 Insert_ExceptionHandlerVeneer ERU1_1_IRQHandler 496 Insert_ExceptionHandlerVeneer ERU1_2_IRQHandler 497 Insert_ExceptionHandlerVeneer ERU1_3_IRQHandler 498 Insert_ExceptionHandlerVeneer PMU0_0_IRQHandler 499 Insert_ExceptionHandlerVeneer VADC0_C0_0_IRQHandler 500 Insert_ExceptionHandlerVeneer VADC0_C0_1_IRQHandler 501 Insert_ExceptionHandlerVeneer VADC0_C0_2_IRQHandler 502 Insert_ExceptionHandlerVeneer VADC0_C0_3_IRQHandler 503 Insert_ExceptionHandlerVeneer VADC0_G0_0_IRQHandler 504 Insert_ExceptionHandlerVeneer VADC0_G0_1_IRQHandler 505 Insert_ExceptionHandlerVeneer VADC0_G0_2_IRQHandler 506 Insert_ExceptionHandlerVeneer VADC0_G0_3_IRQHandler 507 Insert_ExceptionHandlerVeneer VADC0_G1_0_IRQHandler 508 Insert_ExceptionHandlerVeneer VADC0_G1_1_IRQHandler 509 Insert_ExceptionHandlerVeneer VADC0_G1_2_IRQHandler 510 Insert_ExceptionHandlerVeneer VADC0_G1_3_IRQHandler 511 Insert_ExceptionHandlerVeneer VADC0_G2_0_IRQHandler 512 Insert_ExceptionHandlerVeneer VADC0_G2_1_IRQHandler 513 Insert_ExceptionHandlerVeneer VADC0_G2_2_IRQHandler 514 Insert_ExceptionHandlerVeneer VADC0_G2_3_IRQHandler 515 Insert_ExceptionHandlerVeneer VADC0_G3_0_IRQHandler 516 Insert_ExceptionHandlerVeneer VADC0_G3_1_IRQHandler 517 Insert_ExceptionHandlerVeneer VADC0_G3_2_IRQHandler 518 Insert_ExceptionHandlerVeneer VADC0_G3_3_IRQHandler 519 Insert_ExceptionHandlerVeneer DSD0_0_IRQHandler 520 Insert_ExceptionHandlerVeneer DSD0_1_IRQHandler 521 Insert_ExceptionHandlerVeneer DSD0_2_IRQHandler 522 Insert_ExceptionHandlerVeneer DSD0_3_IRQHandler 523 Insert_ExceptionHandlerVeneer DSD0_4_IRQHandler 524 Insert_ExceptionHandlerVeneer DSD0_5_IRQHandler 525 Insert_ExceptionHandlerVeneer DSD0_6_IRQHandler 526 Insert_ExceptionHandlerVeneer DSD0_7_IRQHandler 527 Insert_ExceptionHandlerVeneer DAC0_0_IRQHandler 528 Insert_ExceptionHandlerVeneer DAC0_1_IRQHandler 529 Insert_ExceptionHandlerVeneer CCU40_0_IRQHandler 530 Insert_ExceptionHandlerVeneer CCU40_1_IRQHandler 531 Insert_ExceptionHandlerVeneer CCU40_2_IRQHandler 532 Insert_ExceptionHandlerVeneer CCU40_3_IRQHandler 533 Insert_ExceptionHandlerVeneer CCU41_0_IRQHandler 534 Insert_ExceptionHandlerVeneer CCU41_1_IRQHandler 535 Insert_ExceptionHandlerVeneer CCU41_2_IRQHandler 536 Insert_ExceptionHandlerVeneer CCU41_3_IRQHandler 537 Insert_ExceptionHandlerVeneer CCU42_0_IRQHandler 538 Insert_ExceptionHandlerVeneer CCU42_1_IRQHandler 539 Insert_ExceptionHandlerVeneer CCU42_2_IRQHandler 540 Insert_ExceptionHandlerVeneer CCU42_3_IRQHandler 541 Insert_ExceptionHandlerVeneer CCU43_0_IRQHandler 542 Insert_ExceptionHandlerVeneer CCU43_1_IRQHandler 543 Insert_ExceptionHandlerVeneer CCU43_2_IRQHandler 544 Insert_ExceptionHandlerVeneer CCU43_3_IRQHandler 545 Insert_ExceptionHandlerVeneer CCU80_0_IRQHandler 546 Insert_ExceptionHandlerVeneer CCU80_1_IRQHandler 547 Insert_ExceptionHandlerVeneer CCU80_2_IRQHandler 548 Insert_ExceptionHandlerVeneer CCU80_3_IRQHandler 549 Insert_ExceptionHandlerVeneer CCU81_0_IRQHandler 550 Insert_ExceptionHandlerVeneer CCU81_1_IRQHandler 551 Insert_ExceptionHandlerVeneer CCU81_2_IRQHandler 552 Insert_ExceptionHandlerVeneer CCU81_3_IRQHandler 553 Insert_ExceptionHandlerVeneer POSIF0_0_IRQHandler 554 Insert_ExceptionHandlerVeneer POSIF0_1_IRQHandler 555 Insert_ExceptionHandlerVeneer POSIF1_0_IRQHandler 556 Insert_ExceptionHandlerVeneer POSIF1_1_IRQHandler 557 Insert_ExceptionHandlerVeneer USIC0_0_IRQHandler 558 Insert_ExceptionHandlerVeneer USIC0_1_IRQHandler 559 Insert_ExceptionHandlerVeneer USIC0_2_IRQHandler 560 Insert_ExceptionHandlerVeneer USIC0_3_IRQHandler 561 Insert_ExceptionHandlerVeneer USIC0_4_IRQHandler 562 Insert_ExceptionHandlerVeneer USIC0_5_IRQHandler 563 Insert_ExceptionHandlerVeneer USIC1_0_IRQHandler 564 Insert_ExceptionHandlerVeneer USIC1_1_IRQHandler 565 Insert_ExceptionHandlerVeneer USIC1_2_IRQHandler 566 Insert_ExceptionHandlerVeneer USIC1_3_IRQHandler 567 Insert_ExceptionHandlerVeneer USIC1_4_IRQHandler 568 Insert_ExceptionHandlerVeneer USIC1_5_IRQHandler 569 Insert_ExceptionHandlerVeneer USIC2_0_IRQHandler 570 Insert_ExceptionHandlerVeneer USIC2_1_IRQHandler 571 Insert_ExceptionHandlerVeneer USIC2_2_IRQHandler 572 Insert_ExceptionHandlerVeneer USIC2_3_IRQHandler 573 Insert_ExceptionHandlerVeneer USIC2_4_IRQHandler 574 Insert_ExceptionHandlerVeneer USIC2_5_IRQHandler 575 Insert_ExceptionHandlerVeneer LEDTS0_0_IRQHandler 576 Insert_ExceptionHandlerVeneer FCE0_0_IRQHandler 577 Insert_ExceptionHandlerVeneer GPDMA0_0_IRQHandler 578 Insert_ExceptionHandlerVeneer SDMMC0_0_IRQHandler 579 Insert_ExceptionHandlerVeneer GPDMA1_0_IRQHandler 580 ENDIF 581 582 ALIGN 583 584; User Initial Stack & Heap 585 586 IF :DEF:__MICROLIB 587 588 EXPORT __initial_sp 589 EXPORT __heap_base 590 EXPORT __heap_limit 591 592 ELSE 593 594 IMPORT __use_two_region_memory 595 EXPORT __user_initial_stackheap 596__user_initial_stackheap 597 598 LDR R0, = Heap_Mem 599 LDR R1, =(Stack_Mem + Stack_Size) 600 LDR R2, = (Heap_Mem + Heap_Size) 601 LDR R3, = Stack_Mem 602 BX LR 603 604 ALIGN 605 606 ENDIF 607 608 609 END 610