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

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

?? startup.s

?? 本代碼實現(xiàn)了USB slave驅動
?? S
字號:
/***********************************************************************/
/*  This file is part of the uVision/ARM development tools             */
/*  Copyright KEIL ELEKTRONIK GmbH 2002-2006                           */
/***********************************************************************/
/*                                                                     */
/*  STARTUP.S:  Startup file for Philips LPC2000 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.
 *
 *  REMAP: when set the startup code initializes the register MEMMAP 
 *  which overwrites the settings of the CPU configuration pins. The 
 *  startup and interrupt vectors are remapped from:
 *     0x00000000  default setting (not remapped)
 *     0x80000000  when EXTMEM_MODE is used
 *     0x40000000  when RAM_MODE is used
 *
 *  EXTMEM_MODE: when set the device is configured for code execution
 *  from external memory starting at address 0x80000000. The startup
 *  vectors are located to 0x80000000.
 *
 *  RAM_MODE: when set the device is configured for code execution
 *  from on-chip RAM starting at address 0x40000000. The startup
 *  vectors are located to 0x40000000.
 */


// 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 */


/*
// <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:


// VPBDIV definitions
        VPBDIV          EQU     0xE01FC100  /* VPBDIV Address */

/*
// <e> VPBDIV Setup
// <i> Peripheral Bus Clock Rate
//   <o1.0..1>   VPBDIV: VPB Clock
//               <0=> VPB Clock = CPU Clock / 4
//               <1=> VPB Clock = CPU Clock
//               <2=> VPB Clock = CPU Clock / 2
//   <o1.4..5>   XCLKDIV: XCLK Pin
//               <0=> XCLK Pin = CPU Clock / 4
//               <1=> XCLK Pin = CPU Clock
//               <2=> XCLK Pin = CPU Clock / 2
// </e>
*/
        VPBDIV_SETUP    EQU     1
        VPBDIV_Val      EQU     0x00000001


// Phase Locked Loop (PLL) definitions
        PLL_BASE        EQU     0xE01FC080  /* PLL Base Address */
        PLLCON_OFS      EQU     0x00        /* PLL Control Offset*/
        PLLCFG_OFS      EQU     0x04        /* PLL Configuration Offset */
        PLLSTAT_OFS     EQU     0x08        /* PLL Status Offset */
        PLLFEED_OFS     EQU     0x0C        /* PLL Feed Offset */
        PLLCON_PLLE     EQU     (1<<0)      /* PLL Enable */
        PLLCON_PLLC     EQU     (1<<1)      /* PLL Connect */
        PLLCFG_MSEL     EQU     (0x1F<<0)   /* PLL Multiplier */
        PLLCFG_PSEL     EQU     (0x03<<5)   /* PLL Divider */
        PLLSTAT_PLOCK   EQU     (1<<10)     /* PLL Lock Status */

/*
// <e> PLL Setup
// <i> Phase Locked Loop
// <i> CCLK - Processor Clock
// <i> Fcco - PLL Oscillator
//   <o1.0..4>   MSEL: PLL Multiplier Selection
//               <1-32><#-1>
//               <i> PLL Multiplier "M" Value
//               <i> CCLK = M * Fosc
//   <o1.5..6>   PSEL: PLL Divider Selection
//               <0=> 1   <1=> 2   <2=> 4   <3=> 8
//               <i> PLL Divider "P" Value
//               <i> Fcco = CCLK * 2 * P
//               <i> 156MHz <= Fcco <= 320MHz
// </e>
*/
        PLL_SETUP       EQU     1
        PLLCFG_Val      EQU     0x00000024


// Memory Accelerator Module (MAM) definitions
        MAM_BASE        EQU     0xE01FC000  /* MAM Base Address */
        MAMCR_OFS       EQU     0x00        /* MAM Control Offset*/
        MAMTIM_OFS      EQU     0x04        /* MAM Timing Offset */

/*
// <e> MAM Setup
// <i> Memory Accelerator Module
//   <o1.0..1>   MAM Control
//               <0=> Disabled
//               <1=> Partially Enabled
//               <2=> Fully Enabled
//               <i> Mode
//   <o2.0..2>   MAM Timing
//               <0=> Reserved  <1=> 1   <2=> 2   <3=> 3
//               <4=> 4         <5=> 5   <6=> 6   <7=> 7
//               <i> Fetch Cycles
// </e>
*/
        MAM_SETUP       EQU     1
        MAMCR_Val       EQU     0x00000002
        MAMTIM_Val      EQU     0x00000004


// Starupt Code must be linked first at Address at which it expects to run.

$IF     (EXTMEM_MODE)
        CODE_BASE       EQU     0x80000000
$ELSEIF (RAM_MODE)
        CODE_BASE       EQU     0x40000000
$ELSE
        CODE_BASE       EQU     0x00000000
$ENDIF

AREA   STARTUPCODE, CODE, AT CODE_BASE   // READONLY, ALIGN=4
       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, #-0x0FF0]      /* Vector from VicVectAddr */
                LDR     PC,FIQ_Addr

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
FIQ_Addr:       DD      FIQ_Handler?A


// Reset Handler

Reset_Handler:  


IF (VPBDIV_SETUP != 0)
                LDR     R0, =VPBDIV
                LDR     R1, =VPBDIV_Val
                STR     R1, [R0]
ENDIF


IF (PLL_SETUP != 0)
                LDR     R0, =PLL_BASE
                MOV     R1, #0xAA
                MOV     R2, #0x55

// Configure and Enable PLL
                MOV     R3, #PLLCFG_Val
                STR     R3, [R0, #PLLCFG_OFS] 
                MOV     R3, #PLLCON_PLLE
                STR     R3, [R0, #PLLCON_OFS]
                STR     R1, [R0, #PLLFEED_OFS]
                STR     R2, [R0, #PLLFEED_OFS]

// Wait until PLL Locked
PLL_Loop:       LDR     R3, [R0, #PLLSTAT_OFS]
                ANDS    R3, R3, #PLLSTAT_PLOCK
                BEQ     PLL_Loop

// Switch to PLL Clock
                MOV     R3, #(PLLCON_PLLE | PLLCON_PLLC)
                STR     R3, [R0, #PLLCON_OFS]
                STR     R1, [R0, #PLLFEED_OFS]
                STR     R2, [R0, #PLLFEED_OFS]
ENDIF


IF (MAM_SETUP != 0)
                LDR     R0, =MAM_BASE
                MOV     R1, #MAMTIM_Val
                STR     R1, [R0, #MAMTIM_OFS] 
                MOV     R1, #MAMCR_Val
                STR     R1, [R0, #MAMCR_OFS] 
ENDIF


// Memory Mapping
                MEMMAP  EQU  0xE01FC040  /* Memory Mapping Control */

$IF (REMAP)
                LDR     R0, =MEMMAP
$IF     (EXTMEM_MODE)                
                MOV     R1, #3
$ELSEIF (RAM_MODE)                
                MOV     R1, #2
$ELSE
                MOV     R1, #1
$ENDIF                
                STR     R1, [R0]
$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: INIT 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
exit:           B       exit?T
                ENDP


                END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区三区| 日韩专区一卡二卡| zzijzzij亚洲日本少妇熟睡| 国产精品免费网站在线观看| 99视频一区二区| 亚洲最新视频在线播放| 欧美视频中文字幕| 蜜桃视频第一区免费观看| 欧美zozozo| 不卡的看片网站| 亚洲国产精品影院| 欧美成人精品1314www| 国产精品 日产精品 欧美精品| 国产日韩精品一区| 在线亚洲高清视频| 欧美aaaaaa午夜精品| 国产精品理论在线观看| 欧美伊人久久大香线蕉综合69| 日本午夜精品视频在线观看| 国产视频亚洲色图| 日本道在线观看一区二区| 三级欧美在线一区| 欧美videos中文字幕| 99精品在线免费| 日韩和欧美一区二区三区| 久久精品亚洲国产奇米99| 91欧美一区二区| 久久精品久久99精品久久| 中文字幕亚洲精品在线观看| 精品国产污网站| 日本韩国欧美在线| 精品写真视频在线观看 | 日韩欧美国产不卡| av高清不卡在线| 蜜臀精品久久久久久蜜臀| 日韩一区在线看| 久久久久国产精品厨房| 欧美日韩成人综合天天影院| 不卡区在线中文字幕| 美女网站色91| 亚洲一区二区三区影院| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲欧美另类在线| 久久综合九色欧美综合狠狠| 欧美日韩一区二区在线观看视频| 国产成人精品网址| 精品亚洲成a人| 男人的天堂久久精品| 一区二区三区在线观看网站| 久久久精品免费网站| 日韩欧美一区二区免费| 欧美伦理影视网| 色哟哟一区二区在线观看| 成人一区二区视频| 精品一区二区三区影院在线午夜| 亚洲国产视频一区二区| 亚洲少妇30p| 国产精品久99| 国产精品网站一区| 国产性天天综合网| 久久青草欧美一区二区三区| 日韩欧美在线不卡| 91精品婷婷国产综合久久性色 | 欧美一区二区三区四区在线观看| 在线免费观看日本一区| 97久久人人超碰| www.日韩大片| 成人av资源在线观看| 国产一区二区女| 国产一区二区精品在线观看| 国产精品亚洲第一 | a亚洲天堂av| 国产99一区视频免费| 国产一区二区三区四区五区美女| 久草热8精品视频在线观看| 奇米影视7777精品一区二区| 蜜臀久久久久久久| 久久99精品久久久久久国产越南 | 国产欧美视频在线观看| 精品国产污污免费网站入口| 精品第一国产综合精品aⅴ| 欧美精品一区二区蜜臀亚洲| 亚洲综合小说图片| 一片黄亚洲嫩模| 日本欧美韩国一区三区| 麻豆成人91精品二区三区| 麻豆91免费观看| 国产一区二区福利| www.激情成人| 色先锋aa成人| 在线播放91灌醉迷j高跟美女 | 日韩精品视频网| 乱一区二区av| 成人午夜看片网址| 在线视频欧美精品| 日韩精品在线一区| 欧美国产一区视频在线观看| 亚洲人123区| 日韩和的一区二区| 粉嫩在线一区二区三区视频| 99re在线精品| 日韩一级精品视频在线观看| 国产丝袜在线精品| 亚洲国产精品久久久久秋霞影院 | 97久久人人超碰| 欧美精品在线一区二区三区| 久久亚洲精华国产精华液 | 欧美精品第1页| 久久亚洲精精品中文字幕早川悠里| 国产精品久久久久久久久动漫| 一区二区三区四区不卡在线| 青青草原综合久久大伊人精品优势| 国产精品伊人色| 欧美中文字幕一区二区三区 | 在线观看日产精品| 日韩视频一区二区在线观看| 国产精品卡一卡二卡三| 日韩有码一区二区三区| av男人天堂一区| 日韩视频在线永久播放| 国产欧美日韩在线视频| 亚洲成人一区二区| 国产suv精品一区二区6| 欧美日韩午夜在线| 久久精品男人的天堂| 亚洲第四色夜色| 成人国产免费视频| 日韩一区和二区| 一区二区三区欧美在线观看| 国产精品77777| 欧美日韩五月天| 国产精品网站在线观看| 久久国产三级精品| 欧美唯美清纯偷拍| 最新国产精品久久精品| 久久精品噜噜噜成人88aⅴ| 91丝袜美女网| 国产精品美女久久久久久| 美美哒免费高清在线观看视频一区二区 | 亚洲欧美日韩精品久久久久| 精品亚洲国产成人av制服丝袜| 欧美三级电影在线看| 国产精品色一区二区三区| 玖玖九九国产精品| 欧美精品久久久久久久久老牛影院| 亚洲三级免费观看| 成人深夜在线观看| 久久久.com| 久久99精品国产.久久久久 | 在线亚洲人成电影网站色www| 国产日韩精品一区二区浪潮av | 亚洲成av人片在线观看| 93久久精品日日躁夜夜躁欧美| 久久中文娱乐网| 日韩高清在线一区| 欧美日韩小视频| 亚洲成国产人片在线观看| 91精品福利视频| 尤物av一区二区| 99视频精品免费视频| 中文字幕不卡三区| 丁香桃色午夜亚洲一区二区三区| 久久久亚洲欧洲日产国码αv| 老司机精品视频一区二区三区| 日韩网站在线看片你懂的| 免费日韩伦理电影| 精品国产91乱码一区二区三区| 蜜桃久久av一区| www欧美成人18+| 国产激情一区二区三区| 久久蜜臀中文字幕| 成人午夜短视频| 18欧美乱大交hd1984| 一本大道久久精品懂色aⅴ| 亚洲狠狠丁香婷婷综合久久久| 91欧美一区二区| 亚洲成av人片在线观看无码| 3751色影院一区二区三区| 久久精品av麻豆的观看方式| 26uuu国产电影一区二区| 国产精品99久久久久久久女警| 国产精品乱人伦| 色婷婷香蕉在线一区二区| 亚洲图片自拍偷拍| 91精品国产综合久久久蜜臀粉嫩 | 美女网站一区二区| 久久久久久久久99精品| www.亚洲色图| 性欧美大战久久久久久久久| 日韩午夜激情电影| 国产69精品久久久久777| 亚洲裸体xxx| 6080yy午夜一二三区久久| 国产一级精品在线| 亚洲人成影院在线观看| 欧美色手机在线观看| 麻豆精品国产传媒mv男同| 中文字幕在线不卡视频| 欧美福利一区二区| 国产成人自拍网|