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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? startup.s

?? 飛思卡爾imx27 wince5.0 bootloader源代碼
?? S
?? 第 1 頁 / 共 2 頁
字號:
;
; Copyright (c) Microsoft Corporation.  All rights reserved.
;
; Use of this source code is subject to the terms of the Microsoft end-user
; license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
; If you did not accept the terms of the EULA, you are not authorized to use
; this source code. For a copy of the EULA, please see the LICENSE.RTF on your
; install media.
;
;------------------------------------------------------------------------------
;
; Copyright (C) 2006, Freescale Semiconductor, Inc. All Rights Reserved
; THIS SOURCE CODE IS CONFIDENTIAL AND PROPRIETARY AND MAY NOT
; BE USED OR DISTRIBUTED WITHOUT THE WRITTEN PERMISSION OF
; FREESCALE SEMICONDUCTOR, INC.
;
;------------------------------------------------------------------------------
;
; File: startup.s
;
; This file implements MX27 common initialization code. It's responsible
; for setting up the MX27 core before jumping to OEM-specific codes for 
; board-level initialization.
;
;------------------------------------------------------------------------------

    OPT     2                   ; Disable listing
    INCLUDE kxarm.h             ; This defines the WinCE/ARM Calling Sequence
                                ; Specification
    INCLUDE mx27_base_mem.inc
    INCLUDE mx27_base_regs.inc
    OPT     1                   ; Reenable listing
 
;------------------------------------------------------------------------------
; Defines
;------------------------------------------------------------------------------
;
; ARM constants
;
ARM_CPSR_PRECISE            EQU     (1 << 8)
ARM_CPSR_IRQDISABLE         EQU     (1 << 7)
ARM_CPSR_FIQDISABLE         EQU     (1 << 6)
ARM_CPSR_MODE_SVC           EQU     0x13
ARM_CTRL_ICACHE             EQU     (1 << 12)
ARM_CTRL_DCACHE             EQU     (1 << 2)
ARM_CTRL_MMU                EQU     (1 << 0)
ARM_CTRL_VECTORS            EQU     (1 << 13)
ARM_CACR_FULL               EQU     0x3

;
; AIPI Constants
;
AIPI_PSR0_OFFSET            EQU     0x0000
AIPI_PSR1_OFFSET            EQU     0x0004
AIPI_PAR_OFFSET             EQU     0x0008
AIPI_AAOR_OFFSET            EQU     0x000C

;
; MAX Constants
;
MAX_MPR0_OFFSET             EQU     0x0000
MAX_AMPR0_OFFSET            EQU     0x0004
MAX_SGPCR0_OFFSET           EQU     0x0010
MAX_ASGPCR0_OFFSET          EQU     0x0014
MAX_MPR1_OFFSET             EQU     0x0100
MAX_AMPR1_OFFSET            EQU     0x0104
MAX_SGPCR1_OFFSET           EQU     0x0110
MAX_ASGPCR1_OFFSET          EQU     0x0114
MAX_MPR2_OFFSET             EQU     0x0200
MAX_AMPR2_OFFSET            EQU     0x0204
MAX_SGPCR2_OFFSET           EQU     0x0210
MAX_ASGPCR2_OFFSET          EQU     0x0214
MAX_MGPCR0_OFFSET           EQU     0x0800
MAX_MGPCR1_OFFSET           EQU     0x0900
MAX_MGPCR2_OFFSET           EQU     0x0A00
MAX_MGPCR3_OFFSET           EQU     0x0B00
MAX_MGPCR4_OFFSET           EQU     0x0C00
MAX_MGPCR5_OFFSET           EQU     0x0D00

;
; M3IF Constants
;
M3IF_M3IFCTL_OFFSET         EQU     0x0000

;
; AITC constants
;
AITC_INTCNTL_OFFSET         EQU     0x0000
AITC_NIMASK_OFFSET          EQU     0x0004
AITC_INTENNUM_OFFSET        EQU     0x0008
AITC_INTDISNUM_OFFSET       EQU     0x000C
AITC_INTENABLEH_OFFSET      EQU     0x0010
AITC_INTENABLEL_OFFSET      EQU     0x0014
AITC_INTTYPEH_OFFSET        EQU     0x0018
AITC_INTTYPEL_OFFSET        EQU     0x001C
AITC_NIPRIORITY7_OFFSET     EQU     0x0020
AITC_NIPRIORITY6_OFFSET     EQU     0x0024
AITC_NIPRIORITY5_OFFSET     EQU     0x0028
AITC_NIPRIORITY4_OFFSET     EQU     0x002C
AITC_NIPRIORITY3_OFFSET     EQU     0x0030
AITC_NIPRIORITY2_OFFSET     EQU     0x0034
AITC_NIPRIORITY1_OFFSET     EQU     0x0038
AITC_NIPRIORITY0_OFFSET     EQU     0x003C
AITC_NIVECSR_OFFSET         EQU     0x0040
AITC_FIVECSR_OFFSET         EQU     0x0044
AITC_INTSRCH_OFFSET         EQU     0x0048
AITC_INTSRCL_OFFSET         EQU     0x004C
AITC_INTFRCH_OFFSET         EQU     0x0050
AITC_INTFRCL_OFFSET         EQU     0x0054
AITC_NIPNDH_OFFSET          EQU     0x0058
AITC_NIPNDL_OFFSET          EQU     0x005C
AITC_FIPNDH_OFFSET          EQU     0x0060
AITC_FIPNDL_OFFSET          EQU     0x0064

;
; WEIM constants
;
WEIM_CSCR0U_OFFSET          EQU     0x0000
WEIM_CSCR4U_OFFSET          EQU     0x0040
WEIM_CSCR0L_OFFSET          EQU     0x0004
WEIM_CSCR4L_OFFSET          EQU     0x0044
WEIM_CSCR0A_OFFSET          EQU     0x0008
WEIM_CSCR4A_OFFSET          EQU     0x0048

;
; ESDRAMC constants
;
ESDRAMC_ESDCTL0_OFFSET      EQU     0x0000
ESDRAMC_ESDCFG0_OFFSET      EQU     0x0004
ESDRAMC_ESDCTL1_OFFSET      EQU     0x0008
ESDRAMC_ESDCFG1_OFFSET      EQU     0x000C
ESDRAMC_ESDMISC_OFFSET      EQU     0x0010
ESDRAMC_ESDDLY5_OFFSET      EQU     0x0030

;
; RTC Constants
;
RTC_RTCCTL_OFFSET           EQU     0x0010


    IF :LNOT: :DEF: BOOTLOADER
        GBLL    BOOTLOADER
BOOTLOADER      SETL    {FALSE}
    ENDIF

;------------------------------------------------------------------------------
; Macros
;------------------------------------------------------------------------------
    ;
    ; This macro is used to wait for a cp15 write and is needed
    ; when we have to ensure that the last operation to the co-pro
    ; was completed before continuing with operation.
    ;
    MACRO
    CPWAIT
    mrc     p15, 0, r0, c2, c0, 0   ; arbitrary read of cp15
    mov     r0, r0                  ; wait for completion
    sub     pc, pc, #4              ; flush instruction pipeline
    MEND

;------------------------------------------------------------------------------
; External Functions
;------------------------------------------------------------------------------
    IMPORT OALSetUpSystemControl
    IMPORT OALSetUpFrequencies
    IMPORT OALSetUpGpio

    IF :LNOT: BOOTLOADER
        IMPORT  KernelStart
    ENDIF

;------------------------------------------------------------------------------
;
; Function: StartUp
;
; First routine executed on power on. Shared between EBOOT/Kernel.
;
; Normally exception vetors is placed before here but the linker always
; place a 4KB page with a branch to StartUp at the image start. So we DO NOT
; have control over the vector codes.
;
; Parameters:
;       None.
;
; Returns:
;       None.
;
;------------------------------------------------------------------------------
    STARTUPTEXT
    LEAF_ENTRY StartUp

    ;--------------------------------------------------------------------------
    ; MS RECOMMENDATION:
    ; Put the processor in supervisor mode
    ; Disable the interrupt request (IRQ) and fast interrupt request (FIQ) 
    ; inputs
    ;--------------------------------------------------------------------------
    mrs     r0, cpsr                            ; r0 = CPSR
    mov     r0, #ARM_CPSR_MODE_SVC              ; enter supervisor mode
    orr     r0, r0, #ARM_CPSR_IRQDISABLE        ; disable normal IRQ
    orr     r0, r0, #ARM_CPSR_FIQDISABLE        ; disable fast IRQ
    msr     cpsr_xc, r0                         ; update CPSR control bits

    ;--------------------------------------------------------------------------
    ; MS RECOMMENDATION:
    ; Disable memory management unit (MMU) and both the instruction and data 
    ; caches
    ;--------------------------------------------------------------------------
    mrc     p15, 0, r0, c1, c0, 0               ; r0 = system control reg
    bic     r0, r0, #ARM_CTRL_ICACHE            ; disable ICache
    bic     r0, r0, #ARM_CTRL_DCACHE            ; disable DCache
    bic     r0, r0, #ARM_CTRL_MMU               ; disable MMU
    bic     r0, r0, #ARM_CTRL_VECTORS           ; set vector base to 0x00000000
    mcr     p15, 0, r0, c1, c0, 0               ; update system control reg

    ;
    ; Set up AIPI registers for module access.
    ;   PSR[1:0]:   10 = 32bit, 01 = 16bit, 00 = 8bit.
    ;   PAR:        1 = Supervisor access only, 0 = Access rights is up to peripheral.
    ;   AAOR:       1 = Atomic access only, 0 = Accept non-atomic access.
    ;
    ; AIPI1 settings:
    ;   PSR[0]:     0x20040304
    ;   PSR[1]:     0xDFFBFCFB (16-bit: WDOG, KPP, OWIRE, I2C)
    ;   PAR:        0x00000001
    ;   AAOR:       0x00000001 (reset value)
    ;
    ldr     r1, =CSP_BASE_REG_PA_AIPI1
    ldr     r0, =0x20040304
    str     r0, [r1, #AIPI_PSR0_OFFSET]
    ldr     r0, =0xDFFBFCFB
    str     r0, [r1, #AIPI_PSR1_OFFSET]
    ldr     r0, =0x00000001
    str     r0, [r1, #AIPI_PAR_OFFSET]
    ;
    ; AIPI2 settings:
    ;   PSR[0]:     0x07FFC200
    ;   PSR[1]:     0xFFFFFFFF
    ;   PAR:        0xF8003D01
    ;   AAOR:       0x00000001 (reset value)
    ;
    ldr     r1, =CSP_BASE_REG_PA_AIPI2
    ldr     r0, =0x07FFC200
    str     r0, [r1, #AIPI_PSR0_OFFSET]
    ldr     r0, =0xFFFFFFFF
    str     r0, [r1, #AIPI_PSR1_OFFSET]
    ldr     r0, =0xF8003D01
    str     r0, [r1, #AIPI_PAR_OFFSET]

    ;
    ; Set up MAX registers:
    ;
    ; MX27 MAX Master/Slave port assigments:
    ;   Master0:    I-AHB
    ;   Master1:    D-AHB/NEXUS (D-AHB is higher priority)
    ;   Master2:    LCDC/GACC
    ;   Master3:    SAHARA/USBOTG
    ;   Master4:    DMA
    ;   Master5:    eMMA
    ;
    ;   Slave0:     Primary AHB
    ;   Slave1:     CSI
    ;   Slave2:     BMI (TODO: No BMI on MX27!!)
    ;   Slave3:     EMI/SDRAMC (TODO: No Slave3 on MX27!!)
    ;
    ; Master Priority Register (0 - highest, 7 - lowest)
    ;   MPR0:       0x77123045
    ;   MPR1:       0x77123045
    ;   MPR2:       0x77123045
    ;   MPR3:       0x77123045
    ;
    ; Alternate Master Priority Register
    ;   AMPR0:      0x77123045
    ;   AMPR1:      0x77123045
    ;   AMPR2:      0x77123045
    ;   AMPR3:      0x77123045
    ;
    ; Slave General Purpose Control Register
    ;   SGPCR0:     0x00000010 (Park on last master)
    ;   SGPCR1:     0x00000005 (Park on eMMA)
    ;   SGPCR2:     0x00000010 (Park on last master)
    ;   SGPCR3:     0x00000002 (Park on LCDC)
    ;
    ; Alternate Slave General Purpose Control Register
    ;   ASGPCR0:    0x00000010 (Park on last master)
    ;   ASGPCR1:    0x00000005 (Park on eMMA)
    ;   ASGPCR2:    0x00000010 (Park on last master)
    ;   ASGPCR3:    0x00000002 (Park on LCDC)
    ;
    ; Master General Purpose Control Register
    ;   MGPCR0:     0x00000001 (Arbitration allowed at any time during an undefined length burst)
    ;   MGPCR1:     0x00000001 (Arbitration allowed at any time during an undefined length burst)
    ;   MGPCR2:     0x00000000 (No arbitration allowed during an undefined length burst)
    ;   MGPCR3:     0x00000001 (Arbitration allowed at any time during an undefined length burst)
    ;   MGPCR4:     0x00000001 (Arbitration allowed at any time during an undefined length burst)
    ;   MGPCR5:     0x00000001 (Arbitration allowed at any time during an undefined length burst)
    ;
    ldr     r1, =CSP_BASE_REG_PA_MAX
    ;
    ; Master Priority Register
    ;
    ldr     r0, =0x77123045
    str     r0, [r1, #MAX_MPR0_OFFSET]
    str     r0, [r1, #MAX_AMPR0_OFFSET]
    str     r0, [r1, #MAX_MPR1_OFFSET]
    str     r0, [r1, #MAX_AMPR1_OFFSET]
    str     r0, [r1, #MAX_MPR2_OFFSET]
    str     r0, [r1, #MAX_AMPR2_OFFSET]
    ;; str     r0, [r1, #MAX_MPR3_OFFSET]
    ;; str     r0, [r1, #MAX_AMPR3_OFFSET]
    ;
    ; Slave General Purpose Control Register
    ;
    ldr     r0, =0x00000010
    str     r0, [r1, #MAX_SGPCR0_OFFSET]
    str     r0, [r1, #MAX_ASGPCR0_OFFSET]
    ldr     r0, =0x00000005
    str     r0, [r1, #MAX_SGPCR1_OFFSET]
    str     r0, [r1, #MAX_ASGPCR1_OFFSET]
    ldr     r0, =0x00000010
    str     r0, [r1, #MAX_SGPCR2_OFFSET]
    str     r0, [r1, #MAX_ASGPCR2_OFFSET]
    ;; ldr     r0, =0x00000002
    ;; str     r0, [r1, #MAX_SGPCR3_OFFSET]
    ;; str     r0, [r1, #MAX_ASGPCR3_OFFSET]
    ;
    ; Master General Purpose Control Register
    ;
    ldr     r0, =0x00000000
    str     r0, [r1, #MAX_MGPCR2_OFFSET]
    ldr     r0, =0x00000001
    str     r0, [r1, #MAX_MGPCR0_OFFSET]
    str     r0, [r1, #MAX_MGPCR1_OFFSET]
    str     r0, [r1, #MAX_MGPCR3_OFFSET]
    str     r0, [r1, #MAX_MGPCR4_OFFSET]
    str     r0, [r1, #MAX_MGPCR5_OFFSET]

    ;
    ; Configure M3IF registers
    ;
    ; M3IF Control Register (M3IFCTL) (TODO: Need porting on MX27!!)
    ;   MRRP[0] = TMAX not on priority list (0 << 0)        = 0x00000000
    ;   MRRP[1] = SMIF not on priority list (0 << 0)        = 0x00000000
    ;   MRRP[2] = MAX0 not on priority list (0 << 0)        = 0x00000000
    ;   MRRP[3] = MAX1 not on priority list (0 << 0)        = 0x00000000
    ;   MRRP[4] = SDMA not on priority list (0 << 0)        = 0x00000000
    ;   MRRP[5] = MPEG4 not on priority list (0 << 0)       = 0x00000000
    ;   MRRP[6] = IPU on priority list (1 << 6)             = 0x00000040
    ;   MRRP[7] = SMIF-L2CC not on priority list (0 << 0)   = 0x00000000
    ;                                                       ------------
    ;                                                         0x00000040
    ;
    ldr     r1, =CSP_BASE_REG_PA_M3IF
    ldr     r0, =0x00000040
    str     r0, [r1, #M3IF_M3IFCTL_OFFSET]

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线视频免费观看| 婷婷六月综合亚洲| 欧美美女直播网站| 国产91精品在线观看| 亚洲国产成人porn| 国产精品蜜臀av| 欧美一区日韩一区| 99视频精品免费视频| 久久成人综合网| 亚洲超丰满肉感bbw| 国产精品国产三级国产aⅴ入口| 91麻豆精品91久久久久同性| 91蜜桃在线观看| 国产成人在线看| 免费不卡在线视频| 午夜视黄欧洲亚洲| 亚洲精品中文在线| 国产精品美女久久久久av爽李琼| 日韩午夜激情视频| 欧美亚洲国产bt| 91亚洲午夜精品久久久久久| 国产乱理伦片在线观看夜一区 | 日韩一区中文字幕| 久久亚洲一区二区三区明星换脸| 欧美电影影音先锋| 欧美日韩免费高清一区色橹橹 | 亚洲乱码中文字幕| 国产精品亲子乱子伦xxxx裸| 欧美一区二区在线不卡| 欧美午夜精品久久久| 色婷婷激情综合| 99久久国产综合色|国产精品| 国产精品一色哟哟哟| 久久国产精品99久久人人澡| 日韩电影在线观看一区| 午夜精品福利一区二区三区蜜桃| 一区二区三区四区激情| 亚洲视频一二三区| 日韩一区在线看| 日韩 欧美一区二区三区| 亚洲日本电影在线| 亚洲日穴在线视频| 自拍偷自拍亚洲精品播放| 国产精品久久久久影院色老大 | 自拍偷自拍亚洲精品播放| 国产精品三级久久久久三级| 亚洲国产激情av| 国产精品污www在线观看| 国产夜色精品一区二区av| 国产亚洲欧美在线| 中文字幕精品一区| 亚洲欧美在线aaa| 亚洲午夜激情网站| 青青草97国产精品免费观看无弹窗版| 日韩成人免费电影| 精品亚洲欧美一区| 国内外成人在线视频| 国产精品18久久久久| 高清免费成人av| 色综合天天天天做夜夜夜夜做| 色视频欧美一区二区三区| 色狠狠av一区二区三区| 欧美日韩视频在线一区二区| 9191成人精品久久| 久久久久久久久蜜桃| 中文字幕精品在线不卡| 一区二区三区四区不卡视频| 亚洲电影中文字幕在线观看| 日本强好片久久久久久aaa| 国内国产精品久久| 91香蕉视频污在线| 欧美一区二区三区四区在线观看| 精品国产乱码久久久久久久久| 日本一区二区电影| 亚洲国产视频一区| 麻豆国产欧美日韩综合精品二区 | 欧美在线制服丝袜| 日韩欧美自拍偷拍| 国产精品视频在线看| 亚洲国产精品一区二区www| 精品写真视频在线观看| caoporm超碰国产精品| 欧美年轻男男videosbes| 久久免费偷拍视频| 亚洲一本大道在线| 激情伊人五月天久久综合| www.在线欧美| 欧美疯狂性受xxxxx喷水图片| 久久久久国产成人精品亚洲午夜| 亚洲乱码中文字幕综合| 精品一二三四区| 欧美日韩视频第一区| 久久久91精品国产一区二区精品| 亚洲美腿欧美偷拍| 捆绑紧缚一区二区三区视频 | 国产福利一区二区三区视频| 色av一区二区| 国产亚洲成aⅴ人片在线观看 | 99vv1com这只有精品| 欧美高清一级片在线| 国产精品视频看| 卡一卡二国产精品 | 国产精品久久久久久久久免费相片| 樱桃国产成人精品视频| 国产专区欧美精品| 欧美日本韩国一区| 亚洲欧美日韩国产综合在线| 国产尤物一区二区在线| 欧美精品亚洲一区二区在线播放| 国产精品乱子久久久久| 国产一区二三区好的| 欧美日韩久久久| 亚洲欧美另类小说| 精品一区二区三区在线播放视频| 欧美三级视频在线| 亚洲免费观看视频| 成人av在线观| 国产欧美日韩在线视频| 精品一区二区精品| 日韩一区二区三区视频在线| 亚洲国产aⅴ天堂久久| 色综合久久中文字幕| 国产精品色哟哟网站| 国产一本一道久久香蕉| 日韩欧美国产午夜精品| 日韩精品一二区| 欧美日韩精品三区| 亚洲成人av一区二区三区| 色屁屁一区二区| 亚洲精品精品亚洲| 日本国产一区二区| 亚洲久草在线视频| 91国内精品野花午夜精品| 日韩毛片精品高清免费| 99久久精品免费看国产| 国产精品国产三级国产aⅴ中文| 国产剧情一区二区| 国产欧美精品区一区二区三区 | aaa欧美日韩| 中文字幕在线观看不卡视频| 成人中文字幕合集| 国产精品美女久久福利网站| 国产高清不卡一区二区| 国产亚洲va综合人人澡精品| 国产夫妻精品视频| 国产亚洲欧美日韩在线一区| 国产91综合一区在线观看| 国产精品视频九色porn| 色悠久久久久综合欧美99| 一区二区日韩电影| 欧美在线你懂得| 色999日韩国产欧美一区二区| 欧美电影一区二区| 亚洲第一精品在线| 99国产精品久久久久久久久久| 五月天激情综合| 欧美高清激情brazzers| 日日摸夜夜添夜夜添亚洲女人| 日韩午夜激情免费电影| 国产专区欧美精品| 一区在线观看视频| 欧美色精品天天在线观看视频| 亚洲高清免费在线| 日韩一区二区在线观看| 成人性生交大片免费看视频在线| 亚洲图片激情小说| 欧美性欧美巨大黑白大战| 亚洲va在线va天堂| 亚洲精品一区二区三区福利| 不卡视频在线看| 午夜欧美电影在线观看| 欧美精品一区二区三区在线| 成人晚上爱看视频| 亚洲影视在线观看| 26uuu国产一区二区三区| av亚洲精华国产精华| 天天色图综合网| 中文字幕乱码一区二区免费| 欧美亚洲精品一区| 国产成人精品影院| 亚洲电影欧美电影有声小说| 欧美大片在线观看一区二区| 成人午夜激情影院| 婷婷久久综合九色综合伊人色| 久久久www成人免费毛片麻豆| 色综合久久中文综合久久牛| 麻豆精品一区二区| 亚洲女人小视频在线观看| 欧美一级精品在线| 91麻豆国产福利在线观看| 蜜桃av一区二区| 一区二区三区.www| 欧美国产激情一区二区三区蜜月 | 欧美日韩亚洲国产综合| 国产久卡久卡久卡久卡视频精品| 亚洲精品ww久久久久久p站| 久久人人爽爽爽人久久久| 欧美午夜宅男影院| 高清不卡在线观看av| 日本美女视频一区二区|