added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Revision:
144:ef7eb2e8f9f7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/cmsis/TARGET_ARM_SSG/TARGET_BEETLE/TOOLCHAIN_IAR/startup_BEETLE.s	Fri Sep 02 15:07:44 2016 +0100
@@ -0,0 +1,421 @@
+;/*
+; * BEETLE CMSIS Library
+; */
+;/*
+; * Copyright (c) 2009-2016 ARM Limited. All rights reserved.
+; *
+; * SPDX-License-Identifier: Apache-2.0
+; *
+; * Licensed under the Apache License, Version 2.0 (the License); you may
+; * not use this file except in compliance with the License.
+; * You may obtain a copy of the License at
+; *
+; * http://www.apache.org/licenses/LICENSE-2.0
+; *
+; * Unless required by applicable law or agreed to in writing, software
+; * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; * See the License for the specific language governing permissions and
+; * limitations under the License.
+; */
+;/*
+; * This file is derivative of CMSIS V5.00 startup_Device.s
+; */
+
+
+;
+; The modules in this file are included in the libraries, and may be replaced
+; by any user-defined modules that define the PUBLIC symbol _program_start or
+; a user defined start symbol.
+; To override the cstartup defined in the library, simply add your modified
+; version to the workbench project.
+;
+; The vector table is normally located at address 0.
+; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
+; The name "__vector_table" has special meaning for C-SPY:
+; it is where the SP start value is found, and the NVIC vector
+; table register (VTOR) is initialized to this address if != 0.
+;
+; Cortex-M version
+;
+
+        MODULE  ?cstartup
+
+        ;; Forward declaration of sections.
+        SECTION CSTACK:DATA:NOROOT(3)
+
+        SECTION .intvec:CODE:NOROOT(2)
+
+        EXTERN  __iar_program_start
+        EXTERN  SystemInit
+        PUBLIC  __vector_table
+        PUBLIC  __vector_table_0x1c
+        PUBLIC  __Vectors
+        PUBLIC  __Vectors_End
+        PUBLIC  __Vectors_Size
+
+        DATA
+
+__vector_table
+        DCD     sfe(CSTACK)
+        DCD     Reset_Handler
+
+        DCD     NMI_Handler
+        DCD     HardFault_Handler
+        DCD     MemManage_Handler
+        DCD     BusFault_Handler
+        DCD     UsageFault_Handler
+__vector_table_0x1c
+        DCD     0
+        DCD     0
+        DCD     0
+        DCD     0
+        DCD     SVC_Handler
+        DCD     DebugMon_Handler
+        DCD     0
+        DCD     PendSV_Handler
+        DCD     SysTick_Handler
+
+        ; External Interrupts
+        DCD     UART0_Handler             ;  0: UART 0 RX and TX Handler
+        DCD     Spare_IRQ_Handler         ;  1: Undefined
+        DCD     UART1_Handler             ;  2: UART 1 RX and TX Handler
+        DCD     I2C0_Handler              ;  3: I2C 0 Handler
+        DCD     I2C1_Handler              ;  4: I2C 1 Handler
+        DCD     RTC_Handler               ;  5: RTC Handler
+        DCD     PORT0_COMB_Handler        ;  6: GPIO Port 0 Combined Handler
+        DCD     PORT1_COMB_Handler        ;  7: GPIO Port 1 Combined Handler
+        DCD     TIMER0_Handler            ;  8: TIMER 0 handler
+        DCD     TIMER1_Handler            ;  9: TIMER 1 handler
+        DCD     DUALTIMER_HANDLER         ; 10: Dual timer handler
+        DCD     SPI0_Handler              ; 11: SPI 0 Handler
+        DCD     UARTOVF_Handler           ; 12: UART 0,1 Overflow Handler
+        DCD     SPI1_Handler              ; 13: SPI 1 Handler
+        DCD     QSPI_Handler              ; 14: QSPI Handler
+        DCD     DMA_Handler               ; 15: DMA handler
+        DCD     PORT0_0_Handler           ; 16: GPIO Port 0 pin 0 Handler
+        DCD     PORT0_1_Handler           ; 17: GPIO Port 0 pin 1 Handler
+        DCD     PORT0_2_Handler           ; 18: GPIO Port 0 pin 2 Handler
+        DCD     PORT0_3_Handler           ; 19: GPIO Port 0 pin 3 Handler
+        DCD     PORT0_4_Handler           ; 20: GPIO Port 0 pin 4 Handler
+        DCD     PORT0_5_Handler           ; 21: GPIO Port 0 pin 5 Handler
+        DCD     PORT0_6_Handler           ; 22: GPIO Port 0 pin 6 Handler
+        DCD     PORT0_7_Handler           ; 23: GPIO Port 0 pin 7 Handler
+        DCD     PORT0_8_Handler           ; 24: GPIO Port 0 pin 8 Handler
+        DCD     PORT0_9_Handler           ; 25: GPIO Port 0 pin 9 Handler
+        DCD     PORT0_10_Handler          ; 26: GPIO Port 0 pin 10 Handler
+        DCD     PORT0_11_Handler          ; 27: GPIO Port 0 pin 11 Handler
+        DCD     PORT0_12_Handler          ; 28: GPIO Port 0 pin 12 Handler
+        DCD     PORT0_13_Handler          ; 29: GPIO Port 0 pin 13 Handler
+        DCD     PORT0_14_Handler          ; 30: GPIO Port 0 pin 14 Handler
+        DCD     PORT0_15_Handler          ; 31: GPIO Port 0 pin 15 Handler
+        DCD     SysError_Handler          ; 32: System Error (Flash Cache)
+        DCD     EFLASH_Handler            ; 33: Embedded Flash
+        DCD     LLCC_TXCMD_EMPTY_Handler  ; 34: LLCC_TXCMDIRQ
+        DCD     LLCC_TXEVT_EMPTY_Handler  ; 35: LLCC_TXEVTIRQ
+        DCD     LLCC_TXDMAH_DONE_Handler  ; 36: LLCC_TXDMA0IRQ
+        DCD     LLCC_TXDMAL_DONE_Handler  ; 37: LLCC_TXDMA1IRQ
+        DCD     LLCC_RXCMD_VALID_Handler  ; 38: LLCC_RXCMDIRQ
+        DCD     LLCC_RXEVT_VALID_Handler  ; 39: LLCC_RXEVTIRQ
+        DCD     LLCC_RXDMAH_DONE_Handler  ; 40: LLCC_RXDMA0IRQ
+        DCD     LLCC_RXDMAL_DONE_Handler  ; 41: LLCC_RXDMA1IRQ
+        DCD     PORT2_COMB_Handler        ; 42: GPIO 2
+        DCD     PORT3_COMB_Handler        ; 43: GPIO 3
+        DCD     TRNG_Handler              ; 44: TRNG
+__Vectors_End
+
+__Vectors       EQU   __vector_table
+__Vectors_Size  EQU   __Vectors_End - __Vectors
+
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Default interrupt handlers.
+;;
+        THUMB
+
+        PUBWEAK Reset_Handler
+        SECTION .text:CODE:REORDER:NOROOT(2)
+Reset_Handler
+        LDR     R0, =SystemInit
+        BLX     R0
+        LDR     R0, =__iar_program_start
+        BX      R0
+
+        PUBWEAK NMI_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+NMI_Handler
+        B NMI_Handler
+
+        PUBWEAK HardFault_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+HardFault_Handler
+        B HardFault_Handler
+
+        PUBWEAK MemManage_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+MemManage_Handler
+        B MemManage_Handler
+
+        PUBWEAK BusFault_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+BusFault_Handler
+        B BusFault_Handler
+
+        PUBWEAK UsageFault_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+UsageFault_Handler
+        B UsageFault_Handler
+
+        PUBWEAK SecureFault_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+SecureFault_Handler
+        B SecureFault_Handler
+
+        PUBWEAK SVC_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+SVC_Handler
+        B SVC_Handler
+
+        PUBWEAK DebugMon_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+DebugMon_Handler
+        B DebugMon_Handler
+
+        PUBWEAK PendSV_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PendSV_Handler
+        B PendSV_Handler
+
+        PUBWEAK SysTick_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+SysTick_Handler
+        B SysTick_Handler
+
+
+        PUBWEAK UART0_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+UART0_Handler
+        B UART0_Handler
+
+        PUBWEAK Spare_IRQ_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+Spare_IRQ_Handler
+        B Spare_IRQ_Handler
+
+        PUBWEAK UART1_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+UART1_Handler
+        B UART1_Handler
+
+        PUBWEAK I2C0_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+I2C0_Handler
+        B I2C0_Handler
+
+        PUBWEAK I2C1_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+I2C1_Handler
+        B I2C1_Handler
+
+        PUBWEAK RTC_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+RTC_Handler
+        B RTC_Handler
+
+        PUBWEAK PORT0_COMB_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_COMB_Handler
+        B PORT0_COMB_Handler
+
+        PUBWEAK PORT1_COMB_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT1_COMB_Handler
+        B PORT1_COMB_Handler
+
+        PUBWEAK TIMER0_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+TIMER0_Handler
+        B TIMER0_Handler
+
+        PUBWEAK TIMER1_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+TIMER1_Handler
+        B TIMER1_Handler
+
+        PUBWEAK DUALTIMER_HANDLER
+        SECTION .text:CODE:REORDER:NOROOT(1)
+DUALTIMER_HANDLER
+        B DUALTIMER_HANDLER
+
+        PUBWEAK SPI0_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+SPI0_Handler
+        B SPI0_Handler
+
+        PUBWEAK UARTOVF_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+UARTOVF_Handler
+        B UARTOVF_Handler
+
+        PUBWEAK SPI1_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+SPI1_Handler
+        B SPI1_Handler
+
+        PUBWEAK QSPI_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+QSPI_Handler
+        B QSPI_Handler
+
+        PUBWEAK DMA_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+DMA_Handler
+        B DMA_Handler
+
+        PUBWEAK PORT0_0_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_0_Handler
+        B PORT0_0_Handler
+
+        PUBWEAK PORT0_1_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_1_Handler
+        B PORT0_1_Handler
+
+        PUBWEAK PORT0_2_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_2_Handler
+        B PORT0_2_Handler
+
+        PUBWEAK PORT0_3_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_3_Handler
+        B PORT0_3_Handler
+
+        PUBWEAK PORT0_4_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_4_Handler
+        B PORT0_4_Handler
+
+        PUBWEAK PORT0_5_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_5_Handler
+        B PORT0_5_Handler
+
+        PUBWEAK PORT0_6_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_6_Handler
+        B PORT0_6_Handler
+
+        PUBWEAK PORT0_7_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_7_Handler
+        B PORT0_7_Handler
+
+        PUBWEAK PORT0_8_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_8_Handler
+        B PORT0_8_Handler
+
+        PUBWEAK PORT0_9_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_9_Handler
+        B PORT0_9_Handler
+
+        PUBWEAK PORT0_10_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_10_Handler
+        B PORT0_10_Handler
+
+        PUBWEAK PORT0_11_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_11_Handler
+        B PORT0_11_Handler
+
+        PUBWEAK PORT0_12_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_12_Handler
+        B PORT0_12_Handler
+
+        PUBWEAK PORT0_13_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_13_Handler
+        B PORT0_13_Handler
+
+        PUBWEAK PORT0_14_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_14_Handler
+        B PORT0_14_Handler
+
+        PUBWEAK PORT0_15_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT0_15_Handler
+        B PORT0_15_Handler
+
+        PUBWEAK SysError_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+SysError_Handler
+        B SysError_Handler
+
+        PUBWEAK EFLASH_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+EFLASH_Handler
+        B EFLASH_Handler
+
+        PUBWEAK LLCC_TXCMD_EMPTY_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+LLCC_TXCMD_EMPTY_Handler
+        B LLCC_TXCMD_EMPTY_Handler
+
+        PUBWEAK LLCC_TXEVT_EMPTY_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+LLCC_TXEVT_EMPTY_Handler
+        B LLCC_TXEVT_EMPTY_Handler
+
+        PUBWEAK LLCC_TXDMAH_DONE_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+LLCC_TXDMAH_DONE_Handler
+        B LLCC_TXDMAH_DONE_Handler
+
+        PUBWEAK LLCC_TXDMAL_DONE_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+LLCC_TXDMAL_DONE_Handler
+        B LLCC_TXDMAL_DONE_Handler
+
+        PUBWEAK LLCC_RXCMD_VALID_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+LLCC_RXCMD_VALID_Handler
+        B LLCC_RXCMD_VALID_Handler
+
+        PUBWEAK LLCC_RXEVT_VALID_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+LLCC_RXEVT_VALID_Handler
+        B LLCC_RXEVT_VALID_Handler
+
+        PUBWEAK LLCC_RXDMAH_DONE_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+LLCC_RXDMAH_DONE_Handler
+        B LLCC_RXDMAH_DONE_Handler
+
+        PUBWEAK LLCC_RXDMAL_DONE_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+LLCC_RXDMAL_DONE_Handler
+        B LLCC_RXDMAL_DONE_Handler
+
+        PUBWEAK PORT2_COMB_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT2_COMB_Handler
+        B PORT2_COMB_Handler
+
+        PUBWEAK PORT3_COMB_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+PORT3_COMB_Handler
+        B PORT3_COMB_Handler
+
+        PUBWEAK TRNG_Handler
+        SECTION .text:CODE:REORDER:NOROOT(1)
+TRNG_Handler
+        B TRNG_Handler
+
+        END