added prescaler for 16 bit pwm in LPC1347 target
Fork of mbed-dev by
targets/cmsis/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/TOOLCHAIN_IAR/startup_MKL46Z4.S@0:9b334a45a8ff, 2015-10-01 (annotated)
- Committer:
- bogdanm
- Date:
- Thu Oct 01 15:25:22 2015 +0300
- Revision:
- 0:9b334a45a8ff
- Child:
- 144:ef7eb2e8f9f7
Initial commit on mbed-dev
Replaces mbed-src (now inactive)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bogdanm | 0:9b334a45a8ff | 1 | /************************************************** |
bogdanm | 0:9b334a45a8ff | 2 | * |
bogdanm | 0:9b334a45a8ff | 3 | * Copyright 2010 IAR Systems. All rights reserved. |
bogdanm | 0:9b334a45a8ff | 4 | * |
bogdanm | 0:9b334a45a8ff | 5 | * $Revision: 16 $ |
bogdanm | 0:9b334a45a8ff | 6 | * |
bogdanm | 0:9b334a45a8ff | 7 | **************************************************/ |
bogdanm | 0:9b334a45a8ff | 8 | |
bogdanm | 0:9b334a45a8ff | 9 | ; |
bogdanm | 0:9b334a45a8ff | 10 | ; The modules in this file are included in the libraries, and may be replaced |
bogdanm | 0:9b334a45a8ff | 11 | ; by any user-defined modules that define the PUBLIC symbol _program_start or |
bogdanm | 0:9b334a45a8ff | 12 | ; a user defined start symbol. |
bogdanm | 0:9b334a45a8ff | 13 | ; To override the cstartup defined in the library, simply add your modified |
bogdanm | 0:9b334a45a8ff | 14 | ; version to the workbench project. |
bogdanm | 0:9b334a45a8ff | 15 | ; |
bogdanm | 0:9b334a45a8ff | 16 | ; The vector table is normally located at address 0. |
bogdanm | 0:9b334a45a8ff | 17 | ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. |
bogdanm | 0:9b334a45a8ff | 18 | ; The name "__vector_table" has special meaning for C-SPY: |
bogdanm | 0:9b334a45a8ff | 19 | ; it is where the SP start value is found, and the NVIC vector |
bogdanm | 0:9b334a45a8ff | 20 | ; table register (VTOR) is initialized to this address if != 0. |
bogdanm | 0:9b334a45a8ff | 21 | ; |
bogdanm | 0:9b334a45a8ff | 22 | ; Cortex-M version |
bogdanm | 0:9b334a45a8ff | 23 | ; |
bogdanm | 0:9b334a45a8ff | 24 | |
bogdanm | 0:9b334a45a8ff | 25 | MODULE ?cstartup |
bogdanm | 0:9b334a45a8ff | 26 | |
bogdanm | 0:9b334a45a8ff | 27 | ;; Forward declaration of sections. |
bogdanm | 0:9b334a45a8ff | 28 | SECTION CSTACK:DATA:NOROOT(3) |
bogdanm | 0:9b334a45a8ff | 29 | |
bogdanm | 0:9b334a45a8ff | 30 | SECTION .intvec:CODE:ROOT(2) |
bogdanm | 0:9b334a45a8ff | 31 | |
bogdanm | 0:9b334a45a8ff | 32 | EXTERN __iar_program_start |
bogdanm | 0:9b334a45a8ff | 33 | EXTERN SystemInit |
bogdanm | 0:9b334a45a8ff | 34 | PUBLIC __vector_table |
bogdanm | 0:9b334a45a8ff | 35 | |
bogdanm | 0:9b334a45a8ff | 36 | DATA |
bogdanm | 0:9b334a45a8ff | 37 | __vector_table |
bogdanm | 0:9b334a45a8ff | 38 | DCD sfe(CSTACK) ; Top of Stack |
bogdanm | 0:9b334a45a8ff | 39 | DCD Reset_Handler ; Reset Handler |
bogdanm | 0:9b334a45a8ff | 40 | DCD NMI_Handler ; NMI Handler |
bogdanm | 0:9b334a45a8ff | 41 | DCD HardFault_Handler ; Hard Fault Handler |
bogdanm | 0:9b334a45a8ff | 42 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 43 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 44 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 45 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 46 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 47 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 48 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 49 | DCD SVC_Handler ; SVCall Handler |
bogdanm | 0:9b334a45a8ff | 50 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 51 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 52 | DCD PendSV_Handler ; PendSV Handler |
bogdanm | 0:9b334a45a8ff | 53 | DCD SysTick_Handler ; SysTick Handler |
bogdanm | 0:9b334a45a8ff | 54 | ; External Interrupts |
bogdanm | 0:9b334a45a8ff | 55 | DCD DMA0_IRQHandler ; DMA channel 0 transfer complete/error interrupt |
bogdanm | 0:9b334a45a8ff | 56 | DCD DMA1_IRQHandler ; DMA channel 1 transfer complete/error interrupt |
bogdanm | 0:9b334a45a8ff | 57 | DCD DMA2_IRQHandler ; DMA channel 2 transfer complete/error interrupt |
bogdanm | 0:9b334a45a8ff | 58 | DCD DMA3_IRQHandler ; DMA channel 3 transfer complete/error interrupt |
bogdanm | 0:9b334a45a8ff | 59 | DCD 0 ; Reserved |
bogdanm | 0:9b334a45a8ff | 60 | DCD FTFA_IRQHandler ; FTFA command complete/read collision interrupt |
bogdanm | 0:9b334a45a8ff | 61 | DCD LVD_LVW_IRQHandler ; Low Voltage Detect, Low Voltage Warning |
bogdanm | 0:9b334a45a8ff | 62 | DCD LLW_IRQHandler ; Low Leakage Wakeup |
bogdanm | 0:9b334a45a8ff | 63 | DCD I2C0_IRQHandler ; I2C0 interrupt |
bogdanm | 0:9b334a45a8ff | 64 | DCD I2C1_IRQHandler ; I2C0 interrupt 25 |
bogdanm | 0:9b334a45a8ff | 65 | DCD SPI0_IRQHandler ; SPI0 interrupt |
bogdanm | 0:9b334a45a8ff | 66 | DCD SPI1_IRQHandler ; SPI1 interrupt |
bogdanm | 0:9b334a45a8ff | 67 | DCD UART0_IRQHandler ; UART0 status/error interrupt |
bogdanm | 0:9b334a45a8ff | 68 | DCD UART1_IRQHandler ; UART1 status/error interrupt |
bogdanm | 0:9b334a45a8ff | 69 | DCD UART2_IRQHandler ; UART2 status/error interrupt |
bogdanm | 0:9b334a45a8ff | 70 | DCD ADC0_IRQHandler ; ADC0 interrupt |
bogdanm | 0:9b334a45a8ff | 71 | DCD CMP0_IRQHandler ; CMP0 interrupt |
bogdanm | 0:9b334a45a8ff | 72 | DCD TPM0_IRQHandler ; TPM0 fault, overflow and channels interrupt |
bogdanm | 0:9b334a45a8ff | 73 | DCD TPM1_IRQHandler ; TPM1 fault, overflow and channels interrupt |
bogdanm | 0:9b334a45a8ff | 74 | DCD TPM2_IRQHandler ; TPM2 fault, overflow and channels interrupt |
bogdanm | 0:9b334a45a8ff | 75 | DCD RTC_IRQHandler ; RTC interrupt |
bogdanm | 0:9b334a45a8ff | 76 | DCD RTC_Seconds_IRQHandler ; RTC seconds interrupt |
bogdanm | 0:9b334a45a8ff | 77 | DCD PIT_IRQHandler ; PIT timer interrupt |
bogdanm | 0:9b334a45a8ff | 78 | DCD I2S0_IRQHandler ; I2S0 transmit interrupt |
bogdanm | 0:9b334a45a8ff | 79 | DCD USB0_IRQHandler ; USB0 interrupt |
bogdanm | 0:9b334a45a8ff | 80 | DCD DAC0_IRQHandler ; DAC0 interrupt |
bogdanm | 0:9b334a45a8ff | 81 | DCD TSI0_IRQHandler ; TSI0 interrupt |
bogdanm | 0:9b334a45a8ff | 82 | DCD MCG_IRQHandler ; MCG interrupt |
bogdanm | 0:9b334a45a8ff | 83 | DCD LPTimer_IRQHandler ; LPTimer interrupt |
bogdanm | 0:9b334a45a8ff | 84 | DCD LCD_IRQHandler ; Segment LCD Interrupt |
bogdanm | 0:9b334a45a8ff | 85 | DCD PORTA_IRQHandler ; Port A interrupt |
bogdanm | 0:9b334a45a8ff | 86 | DCD PORTD_IRQHandler ; Port D interrupt |
bogdanm | 0:9b334a45a8ff | 87 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
bogdanm | 0:9b334a45a8ff | 88 | ;;Flash Configuration |
bogdanm | 0:9b334a45a8ff | 89 | ;;16-byte flash configuration field that stores default protection settings (loaded on reset) |
bogdanm | 0:9b334a45a8ff | 90 | ;;and security information that allows the MCU to restrict acces to the FTFL module. |
bogdanm | 0:9b334a45a8ff | 91 | |
bogdanm | 0:9b334a45a8ff | 92 | BackDoorK0 EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 93 | BackDoorK1 EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 94 | BackDoorK2 EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 95 | BackDoorK3 EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 96 | BackDoorK4 EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 97 | BackDoorK5 EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 98 | BackDoorK6 EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 99 | BackDoorK7 EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 100 | |
bogdanm | 0:9b334a45a8ff | 101 | nFPROT0 EQU 0x00 |
bogdanm | 0:9b334a45a8ff | 102 | FPROT0 EQU nFPROT0^0xFF |
bogdanm | 0:9b334a45a8ff | 103 | |
bogdanm | 0:9b334a45a8ff | 104 | nFPROT1 EQU 0x00 |
bogdanm | 0:9b334a45a8ff | 105 | FPROT1 EQU nFPROT1^0xFF |
bogdanm | 0:9b334a45a8ff | 106 | |
bogdanm | 0:9b334a45a8ff | 107 | nFPROT2 EQU 0x00 |
bogdanm | 0:9b334a45a8ff | 108 | FPROT2 EQU nFPROT2^0xFF |
bogdanm | 0:9b334a45a8ff | 109 | |
bogdanm | 0:9b334a45a8ff | 110 | nFPROT3 EQU 0x00 |
bogdanm | 0:9b334a45a8ff | 111 | FPROT3 EQU nFPROT3^0xFF |
bogdanm | 0:9b334a45a8ff | 112 | |
bogdanm | 0:9b334a45a8ff | 113 | FOPT EQU 0xFF |
bogdanm | 0:9b334a45a8ff | 114 | |
bogdanm | 0:9b334a45a8ff | 115 | FSEC EQU 0xFE |
bogdanm | 0:9b334a45a8ff | 116 | SECTION FlashConfig:CONST:REORDER:ROOT(2) |
bogdanm | 0:9b334a45a8ff | 117 | Config: |
bogdanm | 0:9b334a45a8ff | 118 | DATA |
bogdanm | 0:9b334a45a8ff | 119 | DCB BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3 |
bogdanm | 0:9b334a45a8ff | 120 | DCB BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7 |
bogdanm | 0:9b334a45a8ff | 121 | DCB FPROT0, FPROT1, FPROT2, FPROT3 |
bogdanm | 0:9b334a45a8ff | 122 | DCB FSEC, FOPT, 0xFF, 0xFF |
bogdanm | 0:9b334a45a8ff | 123 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
bogdanm | 0:9b334a45a8ff | 124 | ;; |
bogdanm | 0:9b334a45a8ff | 125 | ;; Default interrupt handlers. |
bogdanm | 0:9b334a45a8ff | 126 | ;; |
bogdanm | 0:9b334a45a8ff | 127 | THUMB |
bogdanm | 0:9b334a45a8ff | 128 | PUBWEAK Reset_Handler |
bogdanm | 0:9b334a45a8ff | 129 | SECTION .text:CODE:NOROOT:REORDER(2) |
bogdanm | 0:9b334a45a8ff | 130 | Reset_Handler |
bogdanm | 0:9b334a45a8ff | 131 | |
bogdanm | 0:9b334a45a8ff | 132 | LDR R0, =SystemInit |
bogdanm | 0:9b334a45a8ff | 133 | BLX R0 |
bogdanm | 0:9b334a45a8ff | 134 | LDR R0, =__iar_program_start |
bogdanm | 0:9b334a45a8ff | 135 | BX R0 |
bogdanm | 0:9b334a45a8ff | 136 | |
bogdanm | 0:9b334a45a8ff | 137 | PUBWEAK NMI_Handler |
bogdanm | 0:9b334a45a8ff | 138 | PUBWEAK HardFault_Handler |
bogdanm | 0:9b334a45a8ff | 139 | PUBWEAK SVC_Handler |
bogdanm | 0:9b334a45a8ff | 140 | PUBWEAK PendSV_Handler |
bogdanm | 0:9b334a45a8ff | 141 | PUBWEAK SysTick_Handler |
bogdanm | 0:9b334a45a8ff | 142 | PUBWEAK DMA0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 143 | PUBWEAK DMA1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 144 | PUBWEAK DMA2_IRQHandler |
bogdanm | 0:9b334a45a8ff | 145 | PUBWEAK DMA3_IRQHandler |
bogdanm | 0:9b334a45a8ff | 146 | PUBWEAK Reserved20_IRQHandler |
bogdanm | 0:9b334a45a8ff | 147 | PUBWEAK FTFA_IRQHandler |
bogdanm | 0:9b334a45a8ff | 148 | PUBWEAK LVD_LVW_IRQHandler |
bogdanm | 0:9b334a45a8ff | 149 | PUBWEAK LLW_IRQHandler |
bogdanm | 0:9b334a45a8ff | 150 | PUBWEAK I2C0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 151 | PUBWEAK I2C1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 152 | PUBWEAK SPI0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 153 | PUBWEAK SPI1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 154 | PUBWEAK UART0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 155 | PUBWEAK UART1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 156 | PUBWEAK UART2_IRQHandler |
bogdanm | 0:9b334a45a8ff | 157 | PUBWEAK ADC0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 158 | PUBWEAK CMP0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 159 | PUBWEAK TPM0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 160 | PUBWEAK TPM1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 161 | PUBWEAK TPM2_IRQHandler |
bogdanm | 0:9b334a45a8ff | 162 | PUBWEAK RTC_IRQHandler |
bogdanm | 0:9b334a45a8ff | 163 | PUBWEAK RTC_Seconds_IRQHandler |
bogdanm | 0:9b334a45a8ff | 164 | PUBWEAK PIT_IRQHandler |
bogdanm | 0:9b334a45a8ff | 165 | PUBWEAK I2S0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 166 | PUBWEAK USB0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 167 | PUBWEAK DAC0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 168 | PUBWEAK TSI0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 169 | PUBWEAK MCG_IRQHandler |
bogdanm | 0:9b334a45a8ff | 170 | PUBWEAK LPTimer_IRQHandler |
bogdanm | 0:9b334a45a8ff | 171 | PUBWEAK LCD_IRQHandler |
bogdanm | 0:9b334a45a8ff | 172 | PUBWEAK PORTA_IRQHandler |
bogdanm | 0:9b334a45a8ff | 173 | PUBWEAK PORTD_IRQHandler |
bogdanm | 0:9b334a45a8ff | 174 | |
bogdanm | 0:9b334a45a8ff | 175 | SECTION .text:CODE:REORDER:NOROOT(1) |
bogdanm | 0:9b334a45a8ff | 176 | THUMB |
bogdanm | 0:9b334a45a8ff | 177 | NMI_Handler |
bogdanm | 0:9b334a45a8ff | 178 | HardFault_Handler |
bogdanm | 0:9b334a45a8ff | 179 | SVC_Handler |
bogdanm | 0:9b334a45a8ff | 180 | PendSV_Handler |
bogdanm | 0:9b334a45a8ff | 181 | SysTick_Handler |
bogdanm | 0:9b334a45a8ff | 182 | DMA0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 183 | DMA1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 184 | DMA2_IRQHandler |
bogdanm | 0:9b334a45a8ff | 185 | DMA3_IRQHandler |
bogdanm | 0:9b334a45a8ff | 186 | Reserved20_IRQHandler |
bogdanm | 0:9b334a45a8ff | 187 | FTFA_IRQHandler |
bogdanm | 0:9b334a45a8ff | 188 | LVD_LVW_IRQHandler |
bogdanm | 0:9b334a45a8ff | 189 | LLW_IRQHandler |
bogdanm | 0:9b334a45a8ff | 190 | I2C0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 191 | I2C1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 192 | SPI0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 193 | SPI1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 194 | UART0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 195 | UART1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 196 | UART2_IRQHandler |
bogdanm | 0:9b334a45a8ff | 197 | ADC0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 198 | CMP0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 199 | TPM0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 200 | TPM1_IRQHandler |
bogdanm | 0:9b334a45a8ff | 201 | TPM2_IRQHandler |
bogdanm | 0:9b334a45a8ff | 202 | RTC_IRQHandler |
bogdanm | 0:9b334a45a8ff | 203 | RTC_Seconds_IRQHandler |
bogdanm | 0:9b334a45a8ff | 204 | PIT_IRQHandler |
bogdanm | 0:9b334a45a8ff | 205 | I2S0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 206 | USB0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 207 | DAC0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 208 | TSI0_IRQHandler |
bogdanm | 0:9b334a45a8ff | 209 | MCG_IRQHandler |
bogdanm | 0:9b334a45a8ff | 210 | LPTimer_IRQHandler |
bogdanm | 0:9b334a45a8ff | 211 | LCD_IRQHandler |
bogdanm | 0:9b334a45a8ff | 212 | PORTA_IRQHandler |
bogdanm | 0:9b334a45a8ff | 213 | PORTD_IRQHandler |
bogdanm | 0:9b334a45a8ff | 214 | Default_Handler |
bogdanm | 0:9b334a45a8ff | 215 | |
bogdanm | 0:9b334a45a8ff | 216 | B Default_Handler |
bogdanm | 0:9b334a45a8ff | 217 | END |