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

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

?? sam7s.s

?? Keil-At91sam7S64-USB 2.0 full speed device
?? S
字號:
/***********************************************************************/
/*  This file is part of the CA ARM C Compiler package                 */
/*  Copyright KEIL ELEKTRONIK GmbH 2002-2006                           */
/***********************************************************************/
/*                                                                     */
/*  SAM7S.S:  Startup file for Atmel AT91SAM7S device series           */
/*                                                                     */
/***********************************************************************/


/* 
//*** <<< Use Configuration Wizard in Context Menu >>> *** 
*/


/*
 *  The STARTUP.S code is executed after CPU Reset. This file may be 
 *  translated with the following SET symbols. In uVision these SET 
 *  symbols are entered under Options - ASM - Set.
 *
 *  RAM_INTVEC: when set the startup code copies exception vectors 
 *  from on-chip Flash to on-chip RAM and remaps RAM to address 0.
 *
 *  RAM_MODE: when set the device is configured for code execution
 *  from on-chip RAM starting at address 0x00100000. The startup
 *  vectors are located to 0x00100000.
 */


// Standard definitions of Mode bits and Interrupt (I & F) flags in PSRs

        Mode_USR  EQU      0x10
        Mode_FIQ  EQU      0x11
        Mode_IRQ  EQU      0x12
        Mode_SVC  EQU      0x13
        Mode_ABT  EQU      0x17
        Mode_UND  EQU      0x1B
        Mode_SYS  EQU      0x1F

        I_Bit     EQU      0x80    /* when I bit is set, IRQ is disabled */
        F_Bit     EQU      0x40    /* when F bit is set, FIQ is disabled */


// Internal Memory Base Addresses
        FLASH_BASE      EQU     0x00100000   
        RAM_BASE        EQU     0x00200000


/*
// <h> Stack Configuration (Stack Sizes in Bytes)
//   <o0> Undefined Mode      <0x0-0xFFFFFFFF:4>
//   <o1> Supervisor Mode     <0x0-0xFFFFFFFF:4>
//   <o2> Abort Mode          <0x0-0xFFFFFFFF:4>
//   <o3> Fast Interrupt Mode <0x0-0xFFFFFFFF:4>
//   <o4> Interrupt Mode      <0x0-0xFFFFFFFF:4>
//   <o5> User/System Mode    <0x0-0xFFFFFFFF:4>
// </h>
*/
        UND_Stack_Size  EQU     0x00000004
        SVC_Stack_Size  EQU     0x00000004
        ABT_Stack_Size  EQU     0x00000004
        FIQ_Stack_Size  EQU     0x00000004
        IRQ_Stack_Size  EQU     0x00000080
        USR_Stack_Size  EQU     0x00000400

AREA   STACK, DATA, READWRITE, ALIGN=2
        DS   (USR_Stack_Size+3)&~3  ; Stack for User/System Mode 
        DS   (SVC_Stack_Size+3)&~3  ; Stack for Supervisor Mode
        DS   (IRQ_Stack_Size+3)&~3  ; Stack for Interrupt Mode
        DS   (FIQ_Stack_Size+3)&~3  ; Stack for Fast Interrupt Mode 
        DS   (ABT_Stack_Size+3)&~3  ; Stack for Abort Mode
        DS   (UND_Stack_Size+3)&~3  ; Stack for Undefined Mode
Top_Stack:


// Reset Controller (RSTC) definitions
        RSTC_BASE       EQU     0xFFFFFD00  /* RSTC Base Address */
        RSTC_MR         EQU     0x08        /* RSTC_MR Offset */

/*
// <e> Reset Controller (RSTC)
//   <o1.0>     URSTEN: User Reset Enable
//              <i> Enables NRST Pin to generate Reset
//   <o1.8..11> ERSTL: External Reset Length <0-15>
//              <i> External Reset Time in 2^(ERSTL+1) Slow Clock Cycles
// </e>
*/
        RSTC_SETUP      EQU     1
        RSTC_MR_Val     EQU     0xA5000401


// Embedded Flash Controller (EFC) definitions
        EFC_BASE        EQU     0xFFFFFF00  /* EFC Base Address */
        EFC_FMR         EQU     0x60        /* EFC_FMR Offset */

/*
// <e> Embedded Flash Controller (EFC)
//   <o1.16..23> FMCN: Flash Microsecond Cycle Number <0-255>
//               <i> Number of Master Clock Cycles in 1us
//   <o1.8..9>   FWS: Flash Wait State
//               <0=> Read: 1 cycle / Write: 2 cycles
//               <1=> Read: 2 cycle / Write: 3 cycles
//               <2=> Read: 3 cycle / Write: 4 cycles
//               <3=> Read: 4 cycle / Write: 4 cycles
// </e>
*/
        EFC_SETUP       EQU     1
        EFC_FMR_Val     EQU     0x00320100


// Watchdog Timer (WDT) definitions
        WDT_BASE        EQU     0xFFFFFD40  /* WDT Base Address */
        WDT_MR          EQU     0x04        /* WDT_MR Offset */

/*
// <e> Watchdog Timer (WDT)
//   <o1.0..11>  WDV: Watchdog Counter Value <0-4095>
//   <o1.16..27> WDD: Watchdog Delta Value <0-4095>
//   <o1.12>     WDFIEN: Watchdog Fault Interrupt Enable
//   <o1.13>     WDRSTEN: Watchdog Reset Enable
//   <o1.14>     WDRPROC: Watchdog Reset Processor
//   <o1.28>     WDDBGHLT: Watchdog Debug Halt
//   <o1.29>     WDIDLEHLT: Watchdog Idle Halt
//   <o1.15>     WDDIS: Watchdog Disable
// </e>
*/
        WDT_SETUP       EQU     1
        WDT_MR_Val      EQU     0x00008000


// Power Mangement Controller (PMC) definitions
        PMC_BASE        EQU     0xFFFFFC00  /* PMC Base Address */
        PMC_MOR         EQU     0x20        /* PMC_MOR Offset */
        PMC_MCFR        EQU     0x24        /* PMC_MCFR Offset */
        PMC_PLLR        EQU     0x2C        /* PMC_PLLR Offset */
        PMC_MCKR        EQU     0x30        /* PMC_MCKR Offset */
        PMC_SR          EQU     0x68        /* PMC_SR Offset */
        PMC_MOSCEN      EQU     (1<<0)      /* Main Oscillator Enable */
        PMC_OSCBYPASS   EQU     (1<<1)      /* Main Oscillator Bypass */
        PMC_OSCOUNT     EQU     (0xFF<<8)   /* Main OScillator Start-up Time */
        PMC_DIV         EQU     (0xFF<<0)   /* PLL Divider */
        PMC_PLLCOUNT    EQU     (0x3F<<8)   /* PLL Lock Counter */
        PMC_OUT         EQU     (0x03<<14)  /* PLL Clock Frequency Range */
        PMC_MUL         EQU     (0x7FF<<16) /* PLL Multiplier */
        PMC_USBDIV      EQU     (0x03<<28)  /* USB Clock Divider */
        PMC_CSS         EQU     (3<<0)      /* Clock Source Selection */
        PMC_PRES        EQU     (7<<2)      /* Prescaler Selection */
        PMC_MOSCS       EQU     (1<<0)      /* Main Oscillator Stable */
        PMC_LOCK        EQU     (1<<2)      /* PLL Lock Status */

/*
// <e> Power Mangement Controller (PMC)
//   <h> Main Oscillator
//     <o1.0>      MOSCEN: Main Oscillator Enable
//     <o1.1>      OSCBYPASS: Oscillator Bypass
//     <o1.8..15>  OSCCOUNT: Main Oscillator Startup Time <0-255>
//   </h>
//   <h> Phase Locked Loop (PLL)
//     <o2.0..7>   DIV: PLL Divider <0-255>
//     <o2.16..26> MUL: PLL Multiplier <0-2047>
//                 <i> PLL Output is multiplied by MUL+1
//     <o2.14..15> OUT: PLL Clock Frequency Range
//                 <0=> 80..160MHz  <1=> Reserved
//                 <2=> 150..220MHz <3=> Reserved
//     <o2.8..13>  PLLCOUNT: PLL Lock Counter <0-63>
//     <o2.28..29> USBDIV: USB Clock Divider
//                 <0=> None  <1=> 2  <2=> 4  <3=> Reserved
//   </h>
//   <o3.0..1>   CSS: Clock Source Selection
//               <0=> Slow Clock
//               <1=> Main Clock
//               <2=> Reserved
//               <3=> PLL Clock
//   <o3.2..4>   PRES: Prescaler
//               <0=> None
//               <1=> Clock / 2    <2=> Clock / 4
//               <3=> Clock / 8    <4=> Clock / 16
//               <5=> Clock / 32   <6=> Clock / 64
//               <7=> Reserved
// </e>
*/
        PMC_SETUP       EQU     1
        PMC_MOR_Val     EQU     0x00000601
        PMC_PLLR_Val    EQU     0x10191C05
        PMC_MCKR_Val    EQU     0x00000007


$IF (RAM_INTVEC)
// Exception Vector Area in RAM
AREA   VECTORS, DATA, AT RAM_BASE
                DS      64
$ENDIF        


// Startup Code must be linked at address which it expects to run.

$IF (RAM_MODE)
        CODE_BASE       EQU     RAM_BASE
$ELSE
        CODE_BASE       EQU     FLASH_BASE
$ENDIF
									
AREA   STARTUPCODE, CODE, AT CODE_BASE
       PUBLIC  __startup

       EXTERN  CODE32 (?C?INIT)

__startup       PROC    CODE32

// Pre-defined interrupt handlers that may be directly 
// overwritten by C interrupt functions
EXTERN CODE32 (Undef_Handler?A)
EXTERN CODE32 (SWI_Handler?A)
EXTERN CODE32 (PAbt_Handler?A)
EXTERN CODE32 (DAbt_Handler?A)
; EXTERN CODE32 (IRQ_Handler?A)
; EXTERN CODE32 (FIQ_Handler?A)

// Exception Vectors
//  Mapped to Address 0.
//  Absolute addressing mode must be used.

Vectors:        LDR     PC,Reset_Addr         
                LDR     PC,Undef_Addr
                LDR     PC,SWI_Addr
                LDR     PC,PAbt_Addr
                LDR     PC,DAbt_Addr
                NOP                            /* Reserved Vector */
;               LDR     PC,IRQ_Addr
                LDR     PC,[PC,#-0xF20]        /* Vector From AIC_IVR */
;               LDR     PC,FIQ_Addr
                LDR     PC,[PC,#-0xF20]        /* Vector From AIC_FVR */

Reset_Addr:     DD      Reset_Handler
Undef_Addr:     DD      Undef_Handler?A
SWI_Addr:       DD      SWI_Handler?A
PAbt_Addr:      DD      PAbt_Handler?A
DAbt_Addr:      DD      DAbt_Handler?A
                DD      0                      /* Reserved Address */
;IRQ_Addr:      DD      IRQ_Handler?A
IRQ_Addr:       DD      0
;FIQ_Addr:      DD      FIQ_Handler?A
FIQ_Addr:       DD      0


// Reset Handler

Reset_Handler:  


// Setup RSTC
IF (RSTC_SETUP != 0)
                LDR     R0, =RSTC_BASE
                LDR     R1, =RSTC_MR_Val
                STR     R1, [R0, #RSTC_MR]
ENDIF


// Setup EFC
IF (EFC_SETUP != 0)
                LDR     R0, =EFC_BASE
                LDR     R1, =EFC_FMR_Val
                STR     R1, [R0, #EFC_FMR]
ENDIF


// Setup WDT
IF (WDT_SETUP != 0)
                LDR     R0, =WDT_BASE
                LDR     R1, =WDT_MR_Val
                STR     R1, [R0, #WDT_MR]
ENDIF


// Setup PMC
IF (PMC_SETUP != 0)
                LDR     R0, =PMC_BASE

//  Setup Main Oscillator
                LDR     R1, =PMC_MOR_Val
                STR     R1, [R0, #PMC_MOR]

//  Wait until Main Oscillator is stablilized
IF ((PMC_MOR_Val & PMC_MOSCEN) != 0)
MOSCS_Loop:     LDR     R2, [R0, #PMC_SR]
                ANDS    R2, R2, #PMC_MOSCS
                BEQ     MOSCS_Loop
ENDIF

//  Setup the PLL
IF ((PMC_PLLR_Val & PMC_MUL) != 0)
                LDR     R1, =PMC_PLLR_Val
                STR     R1, [R0, #PMC_PLLR]

//  Wait until PLL is stabilized
PLL_Loop:       LDR     R2, [R0, #PMC_SR]
                ANDS    R2, R2, #PMC_LOCK
                BEQ     PLL_Loop
ENDIF

//  Select Clock
                LDR     R1, =PMC_MCKR_Val
                STR     R1, [R0, #PMC_MCKR]
ENDIF


// Copy Exception Vectors to Internal RAM and Remap Memory
//  (when Interrupt Vectors are in RAM)
                MC_BASE EQU  0xFFFFFF00  /* MC Base Address */
                MC_RCR  EQU  0x00        /* MC_RCR Offset */

$IF (RAM_INTVEC)
                ADR     R8, Vectors         ; Source
                LDR     R9, =RAM_BASE       ; Destination
                LDMIA   R8!, {R0-R7}        ; Load Vectors 
                STMIA   R9!, {R0-R7}        ; Store Vectors 
                LDMIA   R8!, {R0-R7}        ; Load Handler Addresses 
                STMIA   R9!, {R0-R7}        ; Store Handler Addresses 
                LDR     R0, =MC_BASE
                MOV     R1, #1
                STR     R1, [R0, #MC_RCR]   ; Remap
$ENDIF


// Setup Stack for each mode
                LDR     R0, =Top_Stack

// Enter Undefined Instruction Mode and set its Stack Pointer
                MSR     CPSR_c, #Mode_UND|I_Bit|F_Bit
                MOV     SP, R0
                SUB     R0, R0, #UND_Stack_Size

// Enter Abort Mode and set its Stack Pointer
                MSR     CPSR_c, #Mode_ABT|I_Bit|F_Bit
                MOV     SP, R0
                SUB     R0, R0, #ABT_Stack_Size

// Enter FIQ Mode and set its Stack Pointer
                MSR     CPSR_c, #Mode_FIQ|I_Bit|F_Bit
                MOV     SP, R0
                SUB     R0, R0, #FIQ_Stack_Size

// Enter IRQ Mode and set its Stack Pointer
                MSR     CPSR_c, #Mode_IRQ|I_Bit|F_Bit
                MOV     SP, R0
                SUB     R0, R0, #IRQ_Stack_Size

// Enter Supervisor Mode and set its Stack Pointer
                MSR     CPSR_c, #Mode_SVC|I_Bit|F_Bit
                MOV     SP, R0
                SUB     R0, R0, #SVC_Stack_Size

// Enter User Mode and set its Stack Pointer
                MSR     CPSR_c, #Mode_USR
                MOV     SP, R0

// Enter the C code
                LDR     R0,=?C?INIT
                TST     R0,#1       ; Bit-0 set: main is Thumb
                LDREQ   LR,=exit?A  ; ARM Mode
                LDRNE   LR,=exit?T  ; Thumb Mode
                BX      R0
                ENDP

PUBLIC exit?A
exit?A          PROC    CODE32
                B       exit?A
                ENDP

PUBLIC exit?T
exit?T          PROC    CODE16
                B       exit?T
                ENDP

                END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区精品在线播放| 国产美女精品在线| 国产成人在线色| 精品1区2区3区| 国产蜜臀97一区二区三区| 亚洲成av人片一区二区梦乃| 成人精品鲁一区一区二区| 欧美日韩和欧美的一区二区| 欧美激情在线免费观看| 美国精品在线观看| 欧美午夜理伦三级在线观看| 国产精品免费aⅴ片在线观看| 日韩制服丝袜先锋影音| 成人黄色在线看| 久久蜜臀中文字幕| 强制捆绑调教一区二区| 欧美综合天天夜夜久久| 国产精品美女久久久久aⅴ | 精品一区二区久久久| 色婷婷综合久久久久中文一区二区 | 成人毛片在线观看| 久久久久久免费毛片精品| 美国毛片一区二区三区| 9191国产精品| 丝袜亚洲另类丝袜在线| 欧美色图免费看| 亚洲国产欧美一区二区三区丁香婷| 美洲天堂一区二卡三卡四卡视频 | 亚洲h在线观看| 国产91精品久久久久久久网曝门 | 亚洲国产婷婷综合在线精品| 国产成人精品1024| 欧美一区二区三区日韩| 亚洲午夜精品久久久久久久久| 国产精品一区二区久激情瑜伽 | 亚洲.国产.中文慕字在线| 日韩电影在线一区二区| 91一区二区在线| 亚洲色图制服诱惑| www.爱久久.com| 国产免费久久精品| 成人综合婷婷国产精品久久蜜臀| 欧美一级一区二区| 日韩精品一级中文字幕精品视频免费观看 | 91麻豆精品国产91久久久使用方法| 中文字幕在线一区| 国产成人av福利| 久久久久久久久久久久电影| 狠狠色丁香久久婷婷综合丁香| 日韩欧美国产电影| 激情久久五月天| 欧美日韩精品福利| 欧美久久久一区| 91精品国产综合久久香蕉麻豆| 欧美高清视频不卡网| 欧美精品1区2区| 国产精品国产精品国产专区不蜜| 欧美三级午夜理伦三级中视频| 91亚洲国产成人精品一区二三| 欧美成人一区二区| 国产精品成人免费在线| 国产成人综合在线观看| 国产+成+人+亚洲欧洲自线| 国产婷婷色一区二区三区在线| 毛片一区二区三区| 欧美不卡一区二区| 麻豆传媒一区二区三区| 精品少妇一区二区三区日产乱码| 亚洲无人区一区| 欧美性一区二区| 男人的天堂亚洲一区| 久久综合色鬼综合色| 成人sese在线| 亚洲激情欧美激情| 日韩一区二区三区视频在线| 国产在线看一区| 成人免费在线视频| 欧美日韩亚洲另类| 亚洲国产aⅴ成人精品无吗| 久久一区二区三区国产精品| 成人国产精品免费网站| 亚洲成人免费视频| 久久人人爽爽爽人久久久| av午夜一区麻豆| 日本不卡一区二区三区高清视频| 国产亚洲福利社区一区| 91九色02白丝porn| 精品亚洲porn| 亚洲欧美区自拍先锋| 欧美成人精品3d动漫h| 91免费在线视频观看| 麻豆freexxxx性91精品| 中文字幕一区二区三区在线观看 | 国产精品久久99| 欧美欧美午夜aⅴ在线观看| 粉嫩aⅴ一区二区三区四区五区| 一区二区三区波多野结衣在线观看 | 日韩精品成人一区二区三区| 国产欧美日韩视频在线观看| 欧美日韩一区二区三区在线看| 久久精品国产精品亚洲精品| 一区二区三区影院| 精品美女被调教视频大全网站| 日本久久电影网| 久久精品免费观看| 亚洲综合网站在线观看| 久久久久久久国产精品影院| 欧美日韩高清在线| 欧美性大战久久| 成人自拍视频在线观看| 美女视频第一区二区三区免费观看网站| 国产精品人妖ts系列视频| 91精品一区二区三区久久久久久| 99re这里只有精品视频首页| 国产尤物一区二区| 青青青伊人色综合久久| 亚洲成在线观看| 国产精品久久久久久久久免费樱桃| 欧美日韩你懂得| 欧美中文字幕不卡| 成人国产精品视频| 成人av免费在线播放| 国产一级精品在线| 国产精品一区一区| 国产原创一区二区三区| 久久精品噜噜噜成人88aⅴ| 美日韩黄色大片| 麻豆成人av在线| 蜜臀va亚洲va欧美va天堂 | 国产麻豆视频一区| 蓝色福利精品导航| 九九九精品视频| 国产毛片精品国产一区二区三区| 狠狠色综合日日| 国产福利一区二区三区视频| 国产精品主播直播| 国产高清不卡一区二区| 国产精品系列在线观看| 国产成人精品亚洲777人妖| 成人自拍视频在线观看| 99久久精品国产一区| 色综合激情久久| 欧美日韩亚洲高清一区二区| 91麻豆国产香蕉久久精品| 成人精品一区二区三区中文字幕| 无码av免费一区二区三区试看 | 久久国产精品区| 激情文学综合网| 日本午夜精品视频在线观看| 美女视频一区二区| 国产一区二区导航在线播放| 成人免费毛片片v| 欧美在线观看18| 8x福利精品第一导航| 日韩女优制服丝袜电影| 精品理论电影在线观看| 精品日产卡一卡二卡麻豆| 国产精品私人自拍| 亚洲电影一级片| 国内精品写真在线观看| bt7086福利一区国产| 在线欧美日韩精品| 欧美日本视频在线| 精品成人一区二区| 国产精品乱码人人做人人爱 | 日韩一卡二卡三卡四卡| 久久青草国产手机看片福利盒子| 亚洲免费观看在线视频| 日本不卡免费在线视频| 成人永久免费视频| 这里是久久伊人| 国产欧美精品一区二区三区四区 | 国产视频一区二区在线观看| 久久久久久久久蜜桃| 日韩黄色一级片| 成人午夜电影久久影院| 91精品国产91久久久久久一区二区 | 成人国产一区二区三区精品| 欧美日韩dvd在线观看| 国产欧美精品在线观看| 亚洲福利一区二区三区| 成人激情小说网站| 日韩欧美美女一区二区三区| 亚洲欧美日韩综合aⅴ视频| 久久精品av麻豆的观看方式| 色88888久久久久久影院野外| 久久欧美中文字幕| 日韩高清不卡一区二区三区| 91丨九色丨尤物| 久久久久久一二三区| 亚洲18色成人| 97久久精品人人爽人人爽蜜臀| 精品国产三级a在线观看| 亚洲国产日日夜夜| 99久久国产综合精品色伊| 久久久久久久久久美女| 久久超碰97中文字幕| 56国语精品自产拍在线观看| 一区二区三区四区在线免费观看| 波多野结衣中文字幕一区二区三区|