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

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

?? cstartup.arm

?? atmel公司arm芯片at91r40008的開發實例 此程序為串口的初始化及使用
?? ARM
字號:
;------------------------------------------------------------------------------
;-         ATMEL Microcontroller Software Support  -  ROUSSET  -
;------------------------------------------------------------------------------
; The software is delivered "AS IS" without warranty or condition of any
; kind, either express, implied or statutory. This includes without
; limitation any warranty or condition with respect to merchantability or
; fitness for any particular purpose, or against the infringements of
; intellectual property rights of others.
;-----------------------------------------------------------------------------
;- File source          : Cstartup.arm
;- Object               : Generic CStartup for GHS and EB40A
;- Compilation flag     : None
;-
;- 1.0 03/Jan/03 JPP   : Creation
;------------------------------------------------------------------------------
        .file   "Cstartup.arm"

        .nothumb

#include "include/AT91R40008_inc.h"

;--------------------------------
;- ARM Core Mode and Status Bits
;--------------------------------

ARM_MODE_USER           EQU     0x10
ARM_MODE_FIQ            EQU     0x11
ARM_MODE_IRQ            EQU     0x12
ARM_MODE_SVC            EQU     0x13
ARM_MODE_ABORT          EQU     0x17
ARM_MODE_UNDEF          EQU     0x1B
ARM_MODE_SYS            EQU     0x1F

I_BIT                   EQU     0x80
F_BIT                   EQU     0x40
T_BIT                   EQU     0x20


;------------------------------------------------------------------------------
;- Area Definition
;------------------------------------------------------------------------------

    .section ".reset", .text
    .align  4
;------------------------------------------------------------------------------
;- Exception vectors ( before Remap )
;------------------------------------
;- These vectors can be read at address 0 or at RAM address
;- They ABSOLUTELY requires to be in relative addressing mode in order to
;- guarantee a valid jump. For the moment, all are just looping.
;- If an exception occurs before remap, this would result in an infinite loop.
;- To ensure if a exception occurs before start application to infinite loop.
;------------------------------------------------------------------------------
    .globl __reset
__reset:
                B           InitReset           ; Reset handler
undefvec:
                B           undefvec            ; Undefined Instruction
swivec:
                B           swivec              ; Software Interrupt
pabtvec:
                B           pabtvec             ; Prefetch Abort
dabtvec:
                B           dabtvec             ; Data Abort
rsvdvec:
                B           rsvdvec             ; reserved
irqvec:
                B           irqvec              ; IRQ
fiqvec:
                B           fiqvec              ; FIQ

    .type   __reset,$function
    .size   __reset,.-__reset

;--------------------
;- The reset handler
;--------------------
InitReset:
;------------------------------------------------------------------------------
;- Low level Init (APMC, AIC, EBI, ....) by C function AT91F_LowLevelInit
;------------------------------------------------------------------------------
            .import   AT91F_LowLevelInit
            .import   __iramend
            .import   __ghsbegin_picbase

;- minimum  C initialization

            ldr     r9,= __ghsbegin_picbase
            ldr     r13,=__iramend          ; temporary stack in iram

            add     r0, pc,VectorTable-8-.  ; @ where to read values (relative)
            bl      AT91F_LowLevelInit

;--------------------------------------------
;- Remap Command and jump on ABSOLUTE address
;--------------------------------------------

            ldr     r12, PtInitRemap        ; Get the real jump address ( after remap )
            mov     r1,#AT91C_EBI_RCB       ; Get the REMAP value
            str     r1, [r0]                ; Store the complete image with the remap command

;- Jump to LINK address at its absolute address
            mov     pc, r12                 ; Jump and break the pipeline

PtInitRemap:
            DCD     InitRemap               ; Address where to jump after REMAP
;------------------------------------------------------------------------------
;- The Reset Handler after Remap
;-------------------------------
;- From here, the code is executed from its link address, ie. 0x100 0000.
;------------------------------------------------------------------------------
InitRemap:

;------------------------------------------------------------------------------
;- Stack Sizes Definition
;------------------------
;- Interrupt Stack requires 2 words x 8 priority level x 4 bytes when using
;- the vectoring. This assume that the IRQ_ENTRY/IRQ_EXIT macro are used.
;- The Interrupt Stack must be adjusted depending on the interrupt handlers.
;- Fast Interrupt not requires stack If in your application it required you must
;- be define here.
;- Other stacks are defined by default to save one word each.
;- The System stack size is not defined and is limited by the free internal
;- SRAM.
;- User stack size is not defined and is limited by the free external SRAM.
;------------------------------------------------------------------------------

IRQ_STACK_SIZE      EQU     (2*8*4)     ; 2 words per interrupt priority level
FIQ_STACK_SIZE      EQU     (0*4)       ; 0 words
ABT_STACK_SIZE      EQU     (1*4)       ; 1 word
UND_STACK_SIZE      EQU     (1*4)       ; 1 word

;------------------------------------------------------------------------------
;- Top of Stack Definition
;-------------------------
;- Fast Interrupt, Interrupt, Abort, Undefined and Supervisor Stack are located
;- at the top of internal memory in order to speed the exception handling
;- context saving and restoring.
;- User (Application, C) Stack is located at the top of the external memory.
;------------------------------------------------------------------------------

#define TOP_EXCEPTION_STACK (AT91C_SRAM_AFTER_REMAP+AT91C_SRAM_AFTER_REMAP_SIZE)

;------------------------------------------------------------------------------
;- Setup the stack for each mode
;-------------------------------
                ldr     r0, =TOP_EXCEPTION_STACK

;- Set up Fast Interrupt Mode and set FIQ Mode Stack
                msr     CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT
                mov     r13, r0                     ; Init stack FIQ
                sub     r0, r0, #FIQ_STACK_SIZE

;- Set up Interrupt Mode and set IRQ Mode Stack
                msr     CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT
                mov     r13, r0                     ; Init stack IRQ
                sub     r0, r0, #IRQ_STACK_SIZE

;- Set up Abort Mode and set Abort Mode Stack
                msr     CPSR_c, #ARM_MODE_ABORT | I_BIT | F_BIT
                mov     r13, r0                     ; Init stack Abort
                sub     r0, r0, #ABT_STACK_SIZE

;- Set up Undefined Instruction Mode and set Undef Mode Stack
                msr     CPSR_c, #ARM_MODE_UNDEF | I_BIT | F_BIT
                mov     r13, r0                     ; Init stack Undef
                sub     r0, r0, #UND_STACK_SIZE

;- Set up Supervisor Mode and set Supervisor Mode Stack
                msr     CPSR_c, #ARM_MODE_SVC | I_BIT
                mov     r13, r0                     ; Init stack Undef

;------------------------------------------------------------------------------
;- Before Init C Initialize C variables you can copy the from FLASH to RAM
;------------------------------------------------------------------------------

;Enable interrupt
            msr     CPSR_c, #ARM_MODE_SVC | F_BIT

;------------------------------------------------------------------------------
;- Branch on C code Main function (with interworking)
;----------------------------------------------------
;- Branch must be performed by an interworking call as either an ARM or Thumb
;- main C function must be supported. This makes the code not position-
;- independent. A Branch with link would generate errors
;------------------------------------------------------------------------------
;- Get Green Hills Linker Values
            .import   _start
            .import   __ghsend_stack
            .import   __ghsbegin_picbase
;- Get Value for Rom/Copy
            .weak     __ghs_rambootcodestart    ; 0 for RAM and Rom/run
            .weak     __ghs_rombootcodestart    ; 0 for RAM and Rom/run
            .weak     __ghs_rombootcodeend      ; 0 for RAM and Rom/run

;- minimum  C initialization
;- Calculate the _start address for different mode RAM or Rom/run or Rom copy
            ldr r1,= __ghs_rombootcodestart
            ldr       r4,= _start

            cmp r1,   r4      ; rombootcodestart < _start ?
            bcs fix
            ldr       r0,= __ghs_rombootcodeend
            cmp       r0, r4      ; rombootcodeend < _start ?
            bcs       done
fix:
            ldr       r0,= __ghs_rambootcodestart
            sub       r4, r4, r0
            add       r4, r4, r1
done:
;-
            mov       r0,0
            mov       r1,r0
            mov       r2,r0
;- Load The Green Hills register
            ldr       r9,= __ghsbegin_picbase
            ldr       r13,= __ghsend_stack
;- Branch to _start by interworking
            mov       lr, pc
            bx        r4

;------------------------------------------------------------------------------
;- Loop for ever
;---------------
;- End of application. Normally, never occur.
;- Could jump on Software Reset ( B 0x0 ).
;------------------------------------------------------------------------------
End
            b           End

            .type   InitReset,$function
            .size   InitReset,.-InitReset

;------------------------------------------------------------------------------
;- Exception vectors ( after cstartup execution )
;------------------------------------
;- These vectors are read at RAM address after the remap command is performed in
;- the EBI. As they will be relocated at address 0x0 to be effective, a
;- RELATIVE addressing is FORBIDDEN. The only possibility to get an absolute
;- addressing for an ARM vector is to read a PC relative value at a defined
;- offset. It is easy to reserve the locations 0x20 to 0x3C (the 8 next
;- vectors) for storing the absolute exception handler address.
;- The AIC vectoring access vectors are saved in the interrupt and fast
;- interrupt ARM vectors. So, only 5 offsets are required (reserved vector
;- offset is never used).
;- The provisory handler addresses are defined on infinite loop and can be
;- modified at any time.
;- Note also that the reset is only accessible by a jump from the application
;- to 0. It is an actual software reset.
;- As the 13 (8+5) first location are used by the vectors, the read/write link
;- address must be defined from 0x34 if internal data mapping is required.
;- (use for that the option -rw- base=0x34
;------------------------------------------------------------------------------
    .globl VectorTable

VectorTable:
                ldr         pc, [pc, #&18]          ; SoftReset
                ldr         pc, [pc, #&18]          ; UndefHandler
                ldr         pc, [pc, #&18]          ; SWIHandler
                ldr         pc, [pc, #&18]          ; PrefetchAbortHandler
                ldr         pc, [pc, #&18]          ; DataAbortHandler
                nop                                 ; Reserved
                ldr         pc, [pc,#-0xF20]        ; IRQ : read the AIC
                ldr         pc, [pc,#-0xF20]        ; FIQ : read the AIC

;- There are only 5 offsets as the vectoring is used.
                DCD         SoftReset
                DCD         UndefHandler
                DCD         SWIHandler
                DCD         PrefetchAbortHandler
                DCD         DataAbortHandler

;- Vectoring Execution function run at absolute address
SoftReset
                b           SoftReset
UndefHandler
                b           UndefHandler
SWIHandler
                b           SWIHandler
PrefetchAbortHandler
                b           PrefetchAbortHandler
DataAbortHandler
                b           DataAbortHandler

    .type   VectorTable,$function
    .size   VectorTable,.-VectorTable

;------------------------------------------------------------------------------
;- Manage exception
;---------------
;- The exception must be ensure in ARM mode
;------------------------------------------------------------------------------
    .align  4

            .global AT91F_Default_FIQ_handler
AT91F_Default_FIQ_handler
            b     AT91F_Default_FIQ_handler

        .type   AT91F_Default_FIQ_handler,$function
        .size   AT91F_Default_FIQ_handler,.-AT91F_Default_FIQ_handler

    .global AT91F_Default_IRQ_handler
AT91F_Default_IRQ_handler
            b     AT91F_Default_IRQ_handler

         .type   AT91F_Default_IRQ_handler,$function
         .size   AT91F_Default_IRQ_handler,.-AT91F_Default_IRQ_handler

         .global AT91F_Spurious_handler
AT91F_Spurious_handler
            b     AT91F_Spurious_handler

    .type   AT91F_Spurious_handler,$function
    .size   AT91F_Spurious_handler,.-AT91F_Spurious_handler

    END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜激情片| 欧美一区二区三区免费在线看| 亚洲视频每日更新| 精品久久人人做人人爽| av在线一区二区三区| 国产乱码字幕精品高清av| 天天做天天摸天天爽国产一区 | 亚洲自拍偷拍图区| 国产精品灌醉下药二区| 亚洲精品在线观看网站| 777xxx欧美| 欧美一级黄色大片| 717成人午夜免费福利电影| 欧美猛男gaygay网站| 欧美一区二区国产| 日韩三级高清在线| 国产丝袜美腿一区二区三区| 久久婷婷成人综合色| 精品av久久707| 中文字幕一区在线观看| 国产精品福利一区二区三区| 久久久久久久精| 亚洲国产高清在线观看视频| 久久精品视频一区二区| 久久精品男人的天堂| 亚洲同性gay激情无套| 国产精品久久三区| 一区二区三区日韩欧美| 另类欧美日韩国产在线| 欧美久久婷婷综合色| 91在线视频官网| 国产欧美一区二区精品性色| 亚洲综合男人的天堂| 日韩美女在线视频| 欧美在线一区二区三区| 91老司机福利 在线| 成人涩涩免费视频| 精品欧美乱码久久久久久1区2区| 午夜久久久久久电影| 欧美在线制服丝袜| 欧美高清一级片在线观看| 天堂一区二区在线| 91亚洲精品久久久蜜桃| 国产日韩精品视频一区| 国产一区二区影院| 国产欧美一区视频| 一区二区三区中文字幕电影 | 懂色av噜噜一区二区三区av| 久久99精品国产麻豆婷婷| 欧美精品乱人伦久久久久久| www.在线成人| 国产.欧美.日韩| 免费观看在线色综合| 亚洲va国产va欧美va观看| 日本不卡一二三| 午夜精品一区在线观看| 日本不卡的三区四区五区| 亚洲.国产.中文慕字在线| 国产视频一区二区三区在线观看| 欧美午夜精品一区| 色婷婷久久久亚洲一区二区三区| 国产丶欧美丶日本不卡视频| 日本一不卡视频| 日韩国产高清在线| 一区二区三区欧美| 亚洲日本青草视频在线怡红院| 欧美日产国产精品| 国产99久久久国产精品潘金| 亚洲免费在线看| 欧美美女bb生活片| 国产片一区二区| 91丨porny丨在线| 亚洲国产美国国产综合一区二区| 日本精品视频一区二区三区| 粉嫩av一区二区三区粉嫩| 国产精品色哟哟网站| 丁香五精品蜜臀久久久久99网站 | 欧美精品一区二区在线播放| 国产乱码精品一品二品| 欧美日韩极品在线观看一区| 国产视频一区不卡| 日韩激情一二三区| 日韩免费看网站| 欧美综合视频在线观看| 亚洲成人免费影院| 日本一区二区三区电影| 亚洲成人av一区二区三区| 极品美女销魂一区二区三区| 国产精品国产三级国产有无不卡 | 日韩av一二三| 国产一区二区三区综合| 欧美裸体bbwbbwbbw| 白白色 亚洲乱淫| 国产日韩欧美亚洲| 丝袜美腿亚洲一区二区图片| 最新欧美精品一区二区三区| 欧美日韩精品欧美日韩精品| 日韩一卡二卡三卡四卡| 亚洲欧洲综合另类在线 | 欧美亚洲一区二区在线观看| 国产一区二区免费在线| 国内精品久久久久影院薰衣草| 色综合久久88色综合天天免费| 国产河南妇女毛片精品久久久 | 天天操天天色综合| 日日骚欧美日韩| 国产成人激情av| 国产精品无遮挡| 成人欧美一区二区三区| 久久精子c满五个校花| 成人免费在线视频观看| 韩国理伦片一区二区三区在线播放| 国产精品黄色在线观看| 91麻豆精东视频| 亚洲国产另类av| 亚洲日本一区二区| 美女网站在线免费欧美精品| 国产农村妇女毛片精品久久麻豆| 久久嫩草精品久久久精品| 欧美成人免费网站| 2020国产成人综合网| 国产婷婷一区二区| 91免费视频网| 日本韩国精品在线| 日韩一级片网址| 色哦色哦哦色天天综合| 精品成人私密视频| 亚洲国产精品高清| 欧美精品一区二区三区一线天视频| 91精品国产免费| 高清免费成人av| 欧美日韩专区在线| 精品噜噜噜噜久久久久久久久试看| 久久久综合精品| 2欧美一区二区三区在线观看视频| 自拍偷自拍亚洲精品播放| 91精品国产综合久久久久久| 精品蜜桃在线看| 精品亚洲国内自在自线福利| 国产成人免费视频精品含羞草妖精 | 亚洲国产人成综合网站| 26uuu成人网一区二区三区| 国产午夜精品美女毛片视频| 亚洲婷婷综合久久一本伊一区| 久久综合久久综合九色| 一区二区三区视频在线观看| 日韩一级片在线观看| 日韩理论在线观看| 狠狠色丁香久久婷婷综合_中| 一区二区高清视频在线观看| 奇米四色…亚洲| 91在线观看免费视频| 国产精品福利影院| 欧美一区二区三区电影| 久久久美女毛片| 亚洲一区二区在线播放相泽| 亚洲欧美日韩国产一区二区三区 | 欧美一区二区在线播放| 日韩一区二区不卡| 精品免费一区二区三区| 午夜免费久久看| 成人激情综合网站| 精品国产百合女同互慰| 日韩欧美你懂的| 亚洲精品日产精品乱码不卡| 国产成人在线观看免费网站| 欧美人与禽zozo性伦| 亚洲色图制服丝袜| 麻豆国产精品777777在线| 国产成人免费视频网站 | 精品第一国产综合精品aⅴ| 国产精品久久久久影院老司| 亚洲一二三专区| 国产成人免费视频一区| 精品少妇一区二区三区在线视频| 成人免费在线观看入口| 国产高清久久久久| 日韩精品一区二区三区老鸭窝| 亚洲一区二区三区四区在线观看| 99精品欧美一区二区三区小说 | 成人免费不卡视频| 欧美成人一级视频| 免费观看30秒视频久久| 一本色道久久综合精品竹菊 | 日韩一区二区免费视频| 亚洲免费观看高清完整版在线观看熊| 日韩成人精品视频| 三级欧美韩日大片在线看| 国产很黄免费观看久久| 久久新电视剧免费观看| 亚洲电影一区二区三区| 欧洲精品中文字幕| 日韩成人免费看| 欧美色图天堂网| 亚洲图片自拍偷拍| 中文字幕欧美国产| 成人app软件下载大全免费| 色综合一个色综合| 亚洲精品高清在线观看| 在线观看91精品国产入口|