;/*---------------------------------------------------------------------------------------------------------*/
;/*                                                                                                         */
;/* Copyright(c) 2009 Nuvoton Technology Corp. All rights reserved.                                         */
;/*                                                                                                         */
;/*---------------------------------------------------------------------------------------------------------*/

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    MODULE  ?cstartup

    ;; Forward declaration of sections.
    SECTION CSTACK:DATA:NOROOT(3) ;; 8 bytes alignment

    SECTION .intvec:CODE:NOROOT(2);; 4 bytes alignment

    EXTERN  SystemInit	
    EXTERN  __iar_program_start
    PUBLIC  __vector_table
    PUBLIC  __Vectors

    DATA
__Vectors    
__vector_table
    DCD     sfe(CSTACK)
    DCD     Reset_Handler

    DCD     NMI_Handler
    DCD     HardFault_Handler
    DCD     0
    DCD     0
    DCD     0
    DCD     0
    DCD     0
    DCD     0
    DCD     0
    DCD     SVC_Handler
    DCD     0
    DCD     0
    DCD     PendSV_Handler
    DCD     SysTick_Handler

    ; External Interrupts
                                                   ; maximum of 32 External Interrupts are possible
                DCD     BOD_IRQHandler		       ; 0  
                DCD     IRC_IRQHandler             ; 1  
                DCD     PWRWU_IRQHandler           ; 2  
                DCD     SRAM_IRQHandler            ; 3  
                DCD     CLKFAIL_IRQHandler         ; 4  
                DCD     DEFAULT_IRQHandler         ; 5  
                DCD     RTC_IRQHandler             ; 6  
                DCD     TAMPER_IRQHandler          ; 7  
                DCD     WDT_IRQHandler             ; 8  
                DCD     WWDT_IRQHandler            ; 9  
                DCD     EINT0_IRQHandler           ; 10 
                DCD     EINT1_IRQHandler           ; 11 
                DCD     EINT2_IRQHandler           ; 12 
                DCD     EINT3_IRQHandler           ; 13 
                DCD     EINT4_IRQHandler           ; 14 
                DCD     EINT5_IRQHandler           ; 15 
                DCD     GPA_IRQHandler             ; 16 
                DCD     GPB_IRQHandler             ; 17 
                DCD     GPC_IRQHandler             ; 18 
                DCD     GPD_IRQHandler             ; 19 
                DCD     GPE_IRQHandler             ; 20 
                DCD     GPF_IRQHandler             ; 21 
                DCD     QSPI0_IRQHandler           ; 22 
                DCD     SPI0_IRQHandler            ; 23 
                DCD     BRAKE0_IRQHandler          ; 24 
                DCD     EPWM0_P0_IRQHandler        ; 25 
                DCD     EPWM0_P1_IRQHandler        ; 26 
                DCD     EPWM0_P2_IRQHandler        ; 27 
                DCD     BRAKE1_IRQHandler          ; 28 
                DCD     EPWM1_P0_IRQHandler        ; 29 
                DCD     EPWM1_P1_IRQHandler        ; 30 
                DCD     EPWM1_P2_IRQHandler        ; 31 
                DCD     TMR0_IRQHandler            ; 32 
                DCD     TMR1_IRQHandler            ; 33 
                DCD     TMR2_IRQHandler            ; 34 
                DCD     TMR3_IRQHandler            ; 35 
                DCD     UART0_IRQHandler           ; 36 
                DCD     UART1_IRQHandler           ; 37 
                DCD     I2C0_IRQHandler            ; 38 
                DCD     I2C1_IRQHandler            ; 39 
                DCD     PDMA0_IRQHandler           ; 40 
                DCD     DAC_IRQHandler             ; 41 
                DCD     EADC0_IRQHandler           ; 42 
                DCD     EADC1_IRQHandler           ; 43 
                DCD     ACMP01_IRQHandler          ; 44 
                DCD     DEFAULT_IRQHandler         ; 45 
                DCD     EADC2_IRQHandler           ; 46 
                DCD     EADC3_IRQHandler           ; 47 
                DCD     UART2_IRQHandler           ; 48 
                DCD     UART3_IRQHandler           ; 49 
                DCD     DEFAULT_IRQHandler         ; 50 
                DCD     SPI1_IRQHandler            ; 51 
                DCD     SPI2_IRQHandler            ; 52 
                DCD     USBD_IRQHandler            ; 53 
                DCD     USBH_IRQHandler            ; 54 
                DCD     USBOTG_IRQHandler          ; 55 
                DCD     CAN0_IRQHandler            ; 56 
                DCD     DEFAULT_IRQHandler         ; 57 
                DCD     SC0_IRQHandler             ; 58 
                DCD     SC1_IRQHandler             ; 59 
                DCD     SC2_IRQHandler             ; 60 
                DCD     DEFAULT_IRQHandler         ; 61 
                DCD     SPI3_IRQHandler            ; 62 
                DCD     DEFAULT_IRQHandler         ; 63 
                DCD     SDH0_IRQHandler            ; 64 
                DCD     DEFAULT_IRQHandler         ; 65 
                DCD     DEFAULT_IRQHandler         ; 66 
                DCD     DEFAULT_IRQHandler         ; 67 
                DCD     I2S0_IRQHandler            ; 68 
                DCD     DEFAULT_IRQHandler         ; 69 
                DCD     OPA0_IRQHandler            ; 70 
                DCD     CRPT_IRQHandler            ; 71 
                DCD     GPG_IRQHandler             ; 72 
                DCD     EINT6_IRQHandler           ; 73 
                DCD     UART4_IRQHandler           ; 74 
                DCD     UART5_IRQHandler           ; 75 
                DCD     USCI0_IRQHandler           ; 76 
                DCD     USCI1_IRQHandler           ; 77 
                DCD     BPWM0_IRQHandler           ; 78 
                DCD     BPWM1_IRQHandler           ; 79 
                DCD     DEFAULT_IRQHandler         ; 80 
                DCD     DEFAULT_IRQHandler         ; 81 
                DCD     I2C2_IRQHandler            ; 82 
                DCD     DEFAULT_IRQHandler         ; 83 
                DCD     QEI0_IRQHandler            ; 84 
                DCD     QEI1_IRQHandler            ; 85 
                DCD     ECAP0_IRQHandler           ; 86 
                DCD     ECAP1_IRQHandler           ; 87 
                DCD     GPH_IRQHandler             ; 88 
                DCD     EINT7_IRQHandler           ; 89 
                DCD     SDH1_IRQHandler            ; 90 
                DCD     DEFAULT_IRQHandler         ; 91 
                DCD     DEFAULT_IRQHandler         ; 92 
                DCD     DEFAULT_IRQHandler         ; 93 
                DCD     DEFAULT_IRQHandler         ; 94 
                DCD     DEFAULT_IRQHandler         ; 95 
                DCD     DEFAULT_IRQHandler         ; 96 
                DCD     DEFAULT_IRQHandler         ; 97 
                DCD     PDMA1_IRQHandler           ; 98 
                DCD     SCU_IRQHandler             ; 99 
                DCD     LCD_IRQHandler             ; 100
                DCD     TRNG_IRQHandler            ; 101
                
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Default interrupt handlers.
;;
    THUMB
    PUBWEAK Reset_Handler   
    SECTION .text:CODE:NOROOT:REORDER(2)       ; 4 bytes alignment
Reset_Handler
        
        LDR      R0, =SystemInit
        BLX      R0
        LDR      R0, =__iar_program_start
        BX       R0

          PUBWEAK HardFault_Handler
          PUBWEAK NMI_Handler       
          PUBWEAK SVC_Handler       
          PUBWEAK PendSV_Handler    
          PUBWEAK SysTick_Handler   

          PUBWEAK  BOD_IRQHandler	      ; 0  
          PUBWEAK  IRC_IRQHandler             ; 1  
          PUBWEAK  PWRWU_IRQHandler           ; 2  
          PUBWEAK  SRAM_IRQHandler            ; 3  
          PUBWEAK  CLKFAIL_IRQHandler         ; 4  
         ;PUBWEAK  0                          ; 5  
          PUBWEAK  RTC_IRQHandler             ; 6  
          PUBWEAK  TAMPER_IRQHandler          ; 7  
          PUBWEAK  WDT_IRQHandler             ; 8  
          PUBWEAK  WWDT_IRQHandler            ; 9  
          PUBWEAK  EINT0_IRQHandler           ; 10 
          PUBWEAK  EINT1_IRQHandler           ; 11 
          PUBWEAK  EINT2_IRQHandler           ; 12 
          PUBWEAK  EINT3_IRQHandler           ; 13 
          PUBWEAK  EINT4_IRQHandler           ; 14 
          PUBWEAK  EINT5_IRQHandler           ; 15 
          PUBWEAK  GPA_IRQHandler             ; 16 
          PUBWEAK  GPB_IRQHandler             ; 17 
          PUBWEAK  GPC_IRQHandler             ; 18 
          PUBWEAK  GPD_IRQHandler             ; 19 
          PUBWEAK  GPE_IRQHandler             ; 20 
          PUBWEAK  GPF_IRQHandler             ; 21 
          PUBWEAK  QSPI0_IRQHandler           ; 22 
          PUBWEAK  SPI0_IRQHandler            ; 23 
          PUBWEAK  BRAKE0_IRQHandler          ; 24 
          PUBWEAK  EPWM0_P0_IRQHandler        ; 25 
          PUBWEAK  EPWM0_P1_IRQHandler        ; 26 
          PUBWEAK  EPWM0_P2_IRQHandler        ; 27 
          PUBWEAK  BRAKE1_IRQHandler          ; 28 
          PUBWEAK  EPWM1_P0_IRQHandler        ; 29 
          PUBWEAK  EPWM1_P1_IRQHandler        ; 30 
          PUBWEAK  EPWM1_P2_IRQHandler        ; 31 
          PUBWEAK  TMR0_IRQHandler            ; 32 
          PUBWEAK  TMR1_IRQHandler            ; 33 
          PUBWEAK  TMR2_IRQHandler            ; 34 
          PUBWEAK  TMR3_IRQHandler            ; 35 
          PUBWEAK  UART0_IRQHandler           ; 36 
          PUBWEAK  UART1_IRQHandler           ; 37 
          PUBWEAK  I2C0_IRQHandler            ; 38 
          PUBWEAK  I2C1_IRQHandler            ; 39 
          PUBWEAK  PDMA0_IRQHandler           ; 40 
          PUBWEAK  DAC_IRQHandler             ; 41 
          PUBWEAK  EADC0_IRQHandler           ; 42 
          PUBWEAK  EADC1_IRQHandler           ; 43 
          PUBWEAK  ACMP01_IRQHandler          ; 44 
         ;PUBWEAK  0                          ; 45 
          PUBWEAK  EADC2_IRQHandler           ; 46 
          PUBWEAK  EADC3_IRQHandler           ; 47 
          PUBWEAK  UART2_IRQHandler           ; 48 
          PUBWEAK  UART3_IRQHandler           ; 49 
         ;PUBWEAK  0                          ; 50 
          PUBWEAK  SPI1_IRQHandler            ; 51 
          PUBWEAK  SPI2_IRQHandler            ; 52 
          PUBWEAK  USBD_IRQHandler            ; 53 
          PUBWEAK  USBH_IRQHandler            ; 54 
          PUBWEAK  USBOTG_IRQHandler          ; 55 
          PUBWEAK  CAN0_IRQHandler            ; 56 
          PUBWEAK  CAN1_IRQHandler            ; 57 
          PUBWEAK  SC0_IRQHandler             ; 58 
          PUBWEAK  SC1_IRQHandler             ; 59 
          PUBWEAK  SC2_IRQHandler             ; 60 
          PUBWEAK  SC3_IRQHandler             ; 61 
          PUBWEAK  SPI3_IRQHandler            ; 62 
         ;PUBWEAK  0                          ; 63 
          PUBWEAK  SDH0_IRQHandler            ; 64 
         ;PUBWEAK  0                          ; 65 
         ;PUBWEAK  0                          ; 66 
         ;PUBWEAK  0                          ; 67 
          PUBWEAK  I2S0_IRQHandler            ; 68 
         ;PUBWEAK  0                          ; 69 
          PUBWEAK  OPA0_IRQHandler            ; 70 
          PUBWEAK  CRPT_IRQHandler            ; 71 
          PUBWEAK  GPG_IRQHandler             ; 72 
          PUBWEAK  EINT6_IRQHandler           ; 73 
          PUBWEAK  UART4_IRQHandler           ; 74 
          PUBWEAK  UART5_IRQHandler           ; 75 
          PUBWEAK  USCI0_IRQHandler           ; 76 
          PUBWEAK  USCI1_IRQHandler           ; 77 
          PUBWEAK  BPWM0_IRQHandler           ; 78 
          PUBWEAK  BPWM1_IRQHandler           ; 79 
         ;PUBWEAK  0                          ; 80 
         ;PUBWEAK  0                          ; 81 
          PUBWEAK  I2C2_IRQHandler            ; 82 
         ;PUBWEAK  0                          ; 83 
          PUBWEAK  QEI0_IRQHandler            ; 84 
          PUBWEAK  QEI1_IRQHandler            ; 85 
          PUBWEAK  ECAP0_IRQHandler           ; 86 
          PUBWEAK  ECAP1_IRQHandler           ; 87 
          PUBWEAK  GPH_IRQHandler             ; 88 
          PUBWEAK  EINT7_IRQHandler           ; 89 
          PUBWEAK  SDH1_IRQHandler            ; 90 
         ;PUBWEAK  0                          ; 91 
         ;PUBWEAK  USBH_IRQHandler            ; 92 
         ;PUBWEAK  0                          ; 93 
         ;PUBWEAK  0                          ; 94 
         ;PUBWEAK  0                          ; 95 
         ;PUBWEAK  0                          ; 96 
         ;PUBWEAK  0                          ; 97 
          PUBWEAK  PDMA1_IRQHandler           ; 98 
          PUBWEAK  SCU_IRQHandler             ; 99 
          PUBWEAK  LCD_IRQHandler             ; 100
          PUBWEAK  TRNG_IRQHandler            ; 101
                          


          PUBWEAK	DEFAULT_IRQHandler		                                                

    SECTION .text:CODE:NOROOT:REORDER(2)

HardFault_Handler
NMI_Handler       
SVC_Handler       
PendSV_Handler    
SysTick_Handler   

BOD_IRQHandler		       ; 0  
IRC_IRQHandler             ; 1  
PWRWU_IRQHandler           ; 2  
SRAM_IRQHandler            ; 3  
CLKFAIL_IRQHandler         ; 4  
;0                          ; 5  
RTC_IRQHandler             ; 6  
TAMPER_IRQHandler          ; 7  
WDT_IRQHandler             ; 8  
WWDT_IRQHandler            ; 9  
EINT0_IRQHandler           ; 10 
EINT1_IRQHandler           ; 11 
EINT2_IRQHandler           ; 12 
EINT3_IRQHandler           ; 13 
EINT4_IRQHandler           ; 14 
EINT5_IRQHandler           ; 15 
GPA_IRQHandler             ; 16 
GPB_IRQHandler             ; 17 
GPC_IRQHandler             ; 18 
GPD_IRQHandler             ; 19 
GPE_IRQHandler             ; 20 
GPF_IRQHandler             ; 21 
QSPI0_IRQHandler           ; 22 
SPI0_IRQHandler            ; 23 
BRAKE0_IRQHandler          ; 24 
EPWM0_P0_IRQHandler        ; 25 
EPWM0_P1_IRQHandler        ; 26 
EPWM0_P2_IRQHandler        ; 27 
BRAKE1_IRQHandler          ; 28 
EPWM1_P0_IRQHandler        ; 29 
EPWM1_P1_IRQHandler        ; 30 
EPWM1_P2_IRQHandler        ; 31 
TMR0_IRQHandler            ; 32 
TMR1_IRQHandler            ; 33 
TMR2_IRQHandler            ; 34 
TMR3_IRQHandler            ; 35 
UART0_IRQHandler           ; 36 
UART1_IRQHandler           ; 37 
I2C0_IRQHandler            ; 38 
I2C1_IRQHandler            ; 39 
PDMA0_IRQHandler           ; 40 
DAC_IRQHandler             ; 41 
EADC0_IRQHandler           ; 42 
EADC1_IRQHandler           ; 43 
ACMP01_IRQHandler          ; 44 
;0                          ; 45 
EADC2_IRQHandler           ; 46 
EADC3_IRQHandler           ; 47 
UART2_IRQHandler           ; 48 
UART3_IRQHandler           ; 49 
;0                          ; 50 
SPI1_IRQHandler            ; 51 
SPI2_IRQHandler            ; 52 
USBD_IRQHandler            ; 53 
USBH_IRQHandler            ; 54 
USBOTG_IRQHandler          ; 55 
CAN0_IRQHandler            ; 56 
CAN1_IRQHandler            ; 57 
SC0_IRQHandler             ; 58 
SC1_IRQHandler             ; 59 
SC2_IRQHandler             ; 60 
SC3_IRQHandler             ; 61 
SPI3_IRQHandler            ; 62 
;0                          ; 63 
SDH0_IRQHandler            ; 64 
;0                          ; 65 
;0                          ; 66 
;0                          ; 67 
I2S0_IRQHandler            ; 68 
;0                          ; 69 
OPA0_IRQHandler            ; 70 
CRPT_IRQHandler            ; 71 
GPG_IRQHandler             ; 72 
EINT6_IRQHandler           ; 73 
UART4_IRQHandler           ; 74 
UART5_IRQHandler           ; 75 
USCI0_IRQHandler           ; 76 
USCI1_IRQHandler           ; 77 
BPWM0_IRQHandler           ; 78 
BPWM1_IRQHandler           ; 79 
;0                          ; 80 
;0                          ; 81 
I2C2_IRQHandler            ; 82 
;0                          ; 83 
QEI0_IRQHandler            ; 84 
QEI1_IRQHandler            ; 85 
ECAP0_IRQHandler           ; 86 
ECAP1_IRQHandler           ; 87 
GPH_IRQHandler             ; 88 
EINT7_IRQHandler           ; 89 
SDH1_IRQHandler            ; 90 
;0                          ; 91 
;USBH_IRQHandler            ; 92 
;0                          ; 93 
;0                          ; 94 
;0                          ; 95 
;0                          ; 96 
;0                          ; 97 
PDMA1_IRQHandler           ; 98 
SCU_IRQHandler             ; 99 
LCD_IRQHandler             ; 100
TRNG_IRQHandler            ; 101
DEFAULT_IRQHandler
    B DEFAULT_IRQHandler         


;void SH_ICE(void)
    PUBLIC    SH_ICE
SH_ICE    
    CMP   R2,#0
    BEQ   SH_End
    STR   R0,[R2]   ; Save the return value to *pn32Out_R0

;void SH_End(void)
    PUBLIC    SH_End
SH_End
    MOVS   R0,#1    ; Set return value to 1
    BX     lr       ; Return


;int32_t SH_DoCommand(int32_t n32In_R0, int32_t n32In_R1, int32_t *pn32Out_R0)
    PUBLIC    SH_DoCommand
SH_DoCommand
    BKPT   0xAB             ; This instruction will cause ICE trap or system HardFault
    B      SH_ICE
SH_HardFault                ; Captured by HardFault
    MOVS   R0,#0            ; Set return value to 0
    BX     lr               ; Return
    
    
    PUBLIC    __PC
__PC          
        MOV     r0, lr
        BLX     lr
            
    END

