亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cstartup.s

?? This comntains project fro IAR and AT91SAM7X256 with Free RTOS and Uip ...
?? S
字號:
;* ----------------------------------------------------------------------------
;*         ATMEL Microcontroller Software Support  -  ROUSSET  -
;* ----------------------------------------------------------------------------
;* Copyright (c) 2006, Atmel Corporation
;
;* All rights reserved.
;*
;* Redistribution and use in source and binary forms, with or without
;* modification, are permitted provided that the following conditions are met:
;*
;* - Redistributions of source code must retain the above copyright notice,
;* this list of conditions and the disclaimer below.
;*
;* - Redistributions in binary form must reproduce the above copyright notice,
;* this list of conditions and the disclaimer below in the documentation and/or
;* other materials provided with the distribution.
;*
;* Atmel's name may not be used to endorse or promote products derived from
;* this software without specific prior written permission.
;*
;* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
;* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
;* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
;* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
;* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
;* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;* ----------------------------------------------------------------------------

;------------------------------------------------------------------------------
; Include your AT91 Library files
;------------------------------------------------------------------------------
#include "AT91SAM7X256_inc.h"
;------------------------------------------------------------------------------

#define TOP_OF_MEMORY    (AT91C_ISRAM + AT91C_ISRAM_SIZE)
#define IRQ_STACK_SIZE   200
     ; 3 words to be saved per interrupt priority level

; Mode, correspords to bits 0-5 in CPSR
MODE_BITS DEFINE  0x1F    ; Bit mask for mode bits in CPSR
USR_MODE  DEFINE  0x10    ; User mode
FIQ_MODE  DEFINE  0x11    ; Fast Interrupt Request mode
IRQ_MODE  DEFINE  0x12    ; Interrupt Request mode
SVC_MODE  DEFINE  0x13    ; Supervisor mode
ABT_MODE  DEFINE  0x17    ; Abort mode
UND_MODE  DEFINE  0x1B    ; Undefined Instruction mode
SYS_MODE  DEFINE  0x1F    ; System mode

I_BIT     DEFINE  0x80
F_BIT     DEFINE  0x40

;------------------------------------------------------------------------------
; ?RESET
; Reset Vector.
; Normally, segment INTVEC is linked at address 0.
; For debugging purposes, INTVEC may be placed at other addresses.
; A debugger that honors the entry point will start the
; program in a normal way even if INTVEC is not at address 0.
;------------------------------------------------------------------------------
        SECTION .intvec:CODE:NOROOT(2)
        PUBLIC  __vector
        PUBLIC  __iar_program_start
		EXTERN	vPortYieldProcessor

		ARM
__vector:
        ldr  pc,[pc,#+24]             ;; Reset
__und_handler:
        ldr  pc,[pc,#+24]             ;; Undefined instructions
__swi_handler:
        ldr  pc,[pc,#+24]             ;; Software interrupt (SWI/SVC)
__prefetch_handler:
        ldr  pc,[pc,#+24]             ;; Prefetch abort
__data_handler:
        ldr  pc,[pc,#+24]             ;; Data abort
        DC32  0xFFFFFFFF              ;; RESERVED
__irq_handler:
        LDR			PC, [PC, #-0xF20]
__fiq_handler:
        ldr  pc,[pc,#+24]             ;; FIQ

        DC32  __iar_program_start
        DC32  __und_handler
        DC32  vPortYieldProcessor
        DC32  __prefetch_handler
        DC32  __data_handler
        B .
        DC32  IRQ_Handler_Entry
        DC32  FIQ_Handler_Entry

;------------------------------------------------------------------------------
;- Manage exception: The exception must be ensure in ARM mode
;------------------------------------------------------------------------------
        SECTION text:CODE:NOROOT(2)
        ARM
;------------------------------------------------------------------------------
;- Function             : FIQ_Handler_Entry
;- Treatments           : FIQ Controller Interrupt Handler.
;-                        R8 is initialize in Cstartup
;- Called Functions     : None only by FIQ
;------------------------------------------------------------------------------
FIQ_Handler_Entry:

;- Switch in SVC/User Mode to allow User Stack access for C code
; because the FIQ is not yet acknowledged

;- Save and r0 in FIQ_Register
        mov         r9,r0
        ldr         r0 , [r8, #AIC_FVR]
        msr         CPSR_c,#I_BIT | F_BIT | SVC_MODE
;- Save scratch/used registers and LR in User Stack
        stmfd       sp!, { r1-r3, r12, lr}

;- Branch to the routine pointed by the AIC_FVR
        mov         r14, pc
        bx          r0

;- Restore scratch/used registers and LR from User Stack
        ldmia       sp!, { r1-r3, r12, lr}

;- Leave Interrupts disabled and switch back in FIQ mode
        msr         CPSR_c, #I_BIT | F_BIT | FIQ_MODE

;- Restore the R0 ARM_MODE_SVC register
        mov         r0,r9

;- Restore the Program Counter using the LR_fiq directly in the PC
        subs        pc,lr,#4
;------------------------------------------------------------------------------
;- Function             : IRQ_Handler_Entry
;- Treatments           : IRQ Controller Interrupt Handler.
;- Called Functions     : AIC_IVR[interrupt]
;------------------------------------------------------------------------------
IRQ_Handler_Entry:
;-------------------------
;- Manage Exception Entry
;-------------------------
;- Adjust and save LR_irq in IRQ stack
    sub         lr, lr, #4
    stmfd       sp!, {lr}

;- Save r0 and SPSR (need to be saved for nested interrupt)
    mrs         r14, SPSR
    stmfd       sp!, {r0,r14}

;- Write in the IVR to support Protect Mode
;- No effect in Normal Mode
;- De-assert the NIRQ and clear the source in Protect Mode
    ldr         r14, =AT91C_BASE_AIC
    ldr         r0 , [r14, #AIC_IVR]
    str         r14, [r14, #AIC_IVR]

;- Enable Interrupt and Switch in Supervisor Mode
    msr         CPSR_c, #SVC_MODE

;- Save scratch/used registers and LR in User Stack
    stmfd       sp!, { r1-r3, r12, r14}

;----------------------------------------------
;- Branch to the routine pointed by the AIC_IVR
;----------------------------------------------
    mov         r14, pc
    bx          r0

;----------------------------------------------
;- Manage Exception Exit
;----------------------------------------------
;- Restore scratch/used registers and LR from User Stack
    ldmia       sp!, { r1-r3, r12, r14}

;- Disable Interrupt and switch back in IRQ mode
    msr         CPSR_c, #I_BIT | IRQ_MODE

;- Mark the End of Interrupt on the AIC
    ldr         r14, =AT91C_BASE_AIC
    str         r14, [r14, #AIC_EOICR]

;- Restore SPSR_irq and r0 from IRQ stack
    ldmia       sp!, {r0,r14}
    msr         SPSR_cxsf, r14

;- Restore adjusted  LR_irq from IRQ stack directly in the PC
    ldmia       sp!, {pc}^

;------------------------------------------------------------------------------
;- Exception Vectors
;------------------------------------------------------------------------------
    PUBLIC    AT91F_Default_FIQ_handler
    PUBLIC    AT91F_Default_IRQ_handler
    PUBLIC    AT91F_Spurious_handler

    ARM      ; Always ARM mode after exeption

AT91F_Default_FIQ_handler
    b         AT91F_Default_FIQ_handler

AT91F_Default_IRQ_handler
    b         AT91F_Default_IRQ_handler

AT91F_Spurious_handler
    b         AT91F_Spurious_handler


;------------------------------------------------------------------------------
; ?INIT
; Program entry.
;------------------------------------------------------------------------------

    SECTION FIQ_STACK:DATA:NOROOT(3)
    SECTION IRQ_STACK:DATA:NOROOT(3)
    SECTION SVC_STACK:DATA:NOROOT(3)
    SECTION ABT_STACK:DATA:NOROOT(3)
    SECTION UND_STACK:DATA:NOROOT(3)
    SECTION CSTACK:DATA:NOROOT(3)
    SECTION text:CODE:NOROOT(2)
    REQUIRE __vector
    EXTERN  ?main
    PUBLIC  __iar_program_start
    EXTERN  AT91F_LowLevelInit


__iar_program_start:

;------------------------------------------------------------------------------
;- Low level Init is performed in a C function: AT91F_LowLevelInit
;- Init Stack Pointer to a valid memory area before calling AT91F_LowLevelInit
;------------------------------------------------------------------------------

;- Retrieve end of RAM address

                ldr     r13,=TOP_OF_MEMORY          ;- Temporary stack in internal RAM for Low Level Init execution
                ldr     r0,=AT91F_LowLevelInit
                mov     lr, pc
                bx      r0                          ;- Branch on C function (with interworking)

; Initialize the stack pointers.
; The pattern below can be used for any of the exception stacks:
; FIQ, IRQ, SVC, ABT, UND, SYS.
; The USR mode uses the same stack as SYS.
; The stack segments must be defined in the linker command file,
; and be declared above.

                mrs     r0,cpsr                             ; Original PSR value
                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#SVC_MODE                     ; Set SVC mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(SVC_STACK)                  ; End of SVC_STACK

				bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#UND_MODE                     ; Set UND mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(UND_STACK)                  ; End of UND_STACK

                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#ABT_MODE                     ; Set ABT mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(ABT_STACK)                  ; End of ABT_STACK

                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#FIQ_MODE                     ; Set FIQ mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(FIQ_STACK)                  ; End of FIQ_STACK
                ;- Init the FIQ register
                ldr     r8, =AT91C_BASE_AIC

                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#IRQ_MODE                     ; Set IRQ mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(IRQ_STACK)                  ; End of IRQ_STACK

                bic     r0,r0,#MODE_BITS                    ; Clear the mode bits
                orr     r0,r0,#SYS_MODE                     ; Set System mode bits
                msr     cpsr_c,r0                           ; Change the mode
                ldr     sp,=SFE(CSTACK)                     ; End of CSTACK


#ifdef __ARMVFP__
; Enable the VFP coprocessor.
                mov     r0, #0x40000000                 ; Set EN bit in VFP
                fmxr    fpexc, r0                       ; FPEXC, clear others.

; Disable underflow exceptions by setting flush to zero mode.
; For full IEEE 754 underflow compliance this code should be removed
; and the appropriate exception handler installed.
                mov     r0, #0x01000000		        ; Set FZ bit in VFP
                fmxr    fpscr, r0                       ; FPSCR, clear others.
#endif

; Add more initialization here
		        msr   CPSR_c,#I_BIT | F_BIT | SVC_MODE


; Continue to ?main for more IAR specific system startup

                ldr     r0,=?main
                bx      r0

    END         ;- Terminates the assembly of the last module in a file

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级理论片| 日本不卡一区二区三区高清视频| 欧美亚洲禁片免费| 成人精品gif动图一区| 国产福利一区在线观看| 韩国av一区二区三区四区| 天天综合色天天综合色h| 色哟哟亚洲精品| www.在线成人| 激情综合五月天| 国产一区二区免费看| 激情欧美日韩一区二区| 蜜桃精品视频在线观看| 亚洲一区二区免费视频| 欧美日本在线观看| 日韩一区和二区| 91国偷自产一区二区三区成为亚洲经典 | 亚洲丰满少妇videoshd| 久久久久国产精品厨房| 欧美亚洲综合一区| 国产综合久久久久影院| 午夜精品aaa| 亚洲视频在线观看一区| 精品少妇一区二区三区免费观看| 91高清视频在线| av电影一区二区| 国产91精品入口| 国产福利一区二区三区视频在线 | 欧美日韩激情在线| 粉嫩aⅴ一区二区三区四区五区| 免费观看在线综合色| 亚洲成av人片在线观看无码| 一区二区三区影院| 亚洲女同一区二区| ...中文天堂在线一区| 国产喷白浆一区二区三区| 久久久久久一二三区| 这里是久久伊人| 欧美嫩在线观看| 制服丝袜激情欧洲亚洲| 色综合天天视频在线观看 | av福利精品导航| 国产麻豆一精品一av一免费| 亚洲大片一区二区三区| 亚洲女与黑人做爰| 色综合av在线| 老司机免费视频一区二区三区| 午夜亚洲福利老司机| 偷拍亚洲欧洲综合| 亚洲不卡av一区二区三区| 午夜精品一区在线观看| 奇米综合一区二区三区精品视频 | 曰韩精品一区二区| 亚洲精品久久7777| 亚洲成人免费影院| 久久国产生活片100| 国产又黄又大久久| 99免费精品视频| 欧洲精品中文字幕| 日韩一级免费一区| 国产欧美一区二区精品忘忧草| 成人av网在线| 日韩欧美一区在线观看| 欧美视频一区在线观看| 欧美一区2区视频在线观看| 91精品国产入口在线| 久久久久久麻豆| 综合久久久久综合| 奇米影视一区二区三区| 国产黄色精品网站| 欧美系列在线观看| 日韩三级中文字幕| 国产精品女人毛片| 亚洲在线免费播放| 国产一区二区三区久久悠悠色av | 午夜精品久久久久久久| 久久国产福利国产秒拍| 色综合天天视频在线观看| 欧美一区二区免费观在线| 中文字幕一区二区三区乱码在线 | 欧美不卡一区二区三区| 精品毛片乱码1区2区3区| 国产女同互慰高潮91漫画| 成人欧美一区二区三区小说| 亚洲一卡二卡三卡四卡无卡久久| 精品一区二区三区av| 91免费观看国产| 久久婷婷色综合| 丝袜亚洲精品中文字幕一区| 丰满岳乱妇一区二区三区| 欧美一区二区精美| 亚洲免费成人av| 成人免费毛片a| 欧美一区二区三区四区视频| 亚洲美女淫视频| 国产盗摄女厕一区二区三区| 欧美精品在线一区二区三区| 国产精品看片你懂得 | 欧美综合一区二区| 欧美精品一区二区久久久| 午夜精品久久久久久久久久久| 成人三级在线视频| 日本一区二区三区免费乱视频| 日本va欧美va欧美va精品| 在线观看网站黄不卡| 99在线精品免费| 欧美在线色视频| 国产精品二区一区二区aⅴ污介绍| 国产一区二区三区电影在线观看| 欧美狂野另类xxxxoooo| 国产欧美一二三区| 国产麻豆欧美日韩一区| 欧美一区国产二区| 日韩av一级片| 6080亚洲精品一区二区| 亚洲曰韩产成在线| 91国产免费看| 偷拍与自拍一区| 免费av成人在线| 免费成人结看片| 在线精品观看国产| 一区二区三区四区亚洲| 99国产精品久久| 亚洲人午夜精品天堂一二香蕉| eeuss影院一区二区三区| 久久精品亚洲国产奇米99 | 国产精品国产三级国产普通话99 | 欧美va在线播放| 久久电影国产免费久久电影 | 日韩午夜在线观看视频| 日本不卡一区二区三区高清视频| 7799精品视频| 91网站在线播放| 日韩免费看的电影| 蜜臀a∨国产成人精品| 91麻豆精品国产91久久久使用方法| 91精品国产入口| 亚洲成人福利片| 色美美综合视频| 亚洲欧美乱综合| 欧美日韩国产高清一区| 亚洲国产精品一区二区www在线| 欧美美女直播网站| 激情欧美日韩一区二区| 国产精品国产三级国产普通话蜜臀 | 久久se这里有精品| 欧美日本在线一区| 免费成人在线观看| 国产精品人成在线观看免费| 日韩欧美一级二级三级久久久| 久久综合成人精品亚洲另类欧美| 亚洲福利视频一区二区| 亚洲一区在线观看网站| 欧美视频一区二区三区在线观看| 青娱乐精品视频在线| 国产精品久久久久久福利一牛影视| 欧美偷拍一区二区| 国产精品一区二区久久精品爱涩 | 欧美精品在线视频| 久久99精品久久久久久久久久久久| 欧美一区二区三区免费观看视频| 粉嫩13p一区二区三区| 婷婷国产v国产偷v亚洲高清| 中文字幕av资源一区| 5566中文字幕一区二区电影 | 欧美三级韩国三级日本一级| 激情欧美一区二区| 午夜精品久久久久影视| 国产精品久久一卡二卡| 精品美女在线播放| 欧美日韩国产一区| 成人国产精品视频| 午夜欧美2019年伦理| 日韩美女啊v在线免费观看| 91在线播放网址| 亚洲韩国精品一区| 国产视频一区在线观看| 欧美日韩精品欧美日韩精品一综合| 国内久久精品视频| 免费日本视频一区| 亚洲国产欧美另类丝袜| 欧美激情在线看| 久久亚洲精品小早川怜子| 欧美在线制服丝袜| 在线免费视频一区二区| 日韩免费在线观看| 亚洲人成网站在线| 看片的网站亚洲| 色偷偷88欧美精品久久久| 日韩欧美一级二级三级久久久| 国产精品成人午夜| 日本在线不卡一区| 99精品久久久久久| 欧美一区二区三区公司| 国产精品动漫网站| 韩国一区二区视频| 欧美日韩三级一区| 国产精品免费久久| 久久99精品久久久久久动态图| 91麻豆精品视频|