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

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

?? startup.s

?? 飛思卡爾imx27 wince5.0 bootloader源代碼
?? S
?? 第 1 頁 / 共 2 頁
字號(hào):
;
; 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]

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费电影一区| 日韩高清不卡一区| 欧美激情中文字幕一区二区| 日韩午夜在线观看| 日韩欧美一级二级三级久久久| 欧美日韩一区国产| 欧美精品一二三| 在线电影院国产精品| 欧美肥胖老妇做爰| 欧美刺激脚交jootjob| 精品日韩成人av| 国产亚洲精品中文字幕| 中文字幕av不卡| 亚洲欧美自拍偷拍| 一区二区三区日韩精品视频| 亚洲高清不卡在线| 日韩精彩视频在线观看| 老司机精品视频一区二区三区| 久久精品免费看| 国精产品一区一区三区mba桃花| 国产老女人精品毛片久久| 国产乱码精品一区二区三| 成人免费福利片| 在线看不卡av| 91精品国产综合久久香蕉麻豆| 日韩亚洲欧美成人一区| 2017欧美狠狠色| 中文字幕一区二区不卡| 亚洲一区免费观看| 日韩av一区二区在线影视| 国产麻豆精品一区二区| www.性欧美| 欧美美女直播网站| 久久天堂av综合合色蜜桃网| 国产精品萝li| 日韩一区精品视频| 国产激情视频一区二区三区欧美 | 精品噜噜噜噜久久久久久久久试看| 日韩欧美久久一区| 一色屋精品亚洲香蕉网站| 一区二区三区四区亚洲| 免费观看91视频大全| 成人av在线一区二区三区| 欧美三级电影精品| 久久久91精品国产一区二区三区| 亚洲蜜桃精久久久久久久| 蜜臀av一区二区| 成人精品小蝌蚪| 欧美日韩aaa| 国产欧美一区二区三区沐欲| 亚洲精品乱码久久久久久| 老司机精品视频导航| 91麻豆.com| 精品国产123| 亚洲一区二区在线免费观看视频 | 91丨九色丨蝌蚪富婆spa| 欧美精品vⅰdeose4hd| 国产精品毛片无遮挡高清| 日韩在线播放一区二区| 94色蜜桃网一区二区三区| 日韩精品一区二区三区视频播放 | 色婷婷激情综合| 精品欧美乱码久久久久久1区2区| 国产精品久久久久天堂| 热久久一区二区| 色天天综合久久久久综合片| 精品国产a毛片| 日韩精品成人一区二区三区| 91免费观看国产| 国产欧美日韩视频在线观看| 婷婷一区二区三区| 99re8在线精品视频免费播放| 欧美videos中文字幕| 亚洲国产精品久久久久婷婷884 | 精品国产乱码91久久久久久网站| 亚洲男同性视频| 国产·精品毛片| 精品国产精品网麻豆系列| 丝袜亚洲另类欧美综合| 色香蕉久久蜜桃| 中文字幕av不卡| 玖玖九九国产精品| 日韩一区二区三区视频在线 | 日本高清视频一区二区| 国产日韩欧美a| 韩国视频一区二区| 91精品蜜臀在线一区尤物| 亚洲一二三区不卡| 色视频一区二区| 综合久久综合久久| 成人黄色av网站在线| 久久久影视传媒| 狠狠久久亚洲欧美| 日韩精品综合一本久道在线视频| 日韩经典一区二区| 欧美一区二区三区四区高清 | 日本精品视频一区二区三区| 中文字幕制服丝袜成人av| 成人综合日日夜夜| 国产欧美日韩视频在线观看| 国产自产视频一区二区三区| 欧美mv日韩mv国产网站| 蜜臀精品一区二区三区在线观看 | 欧美久久久一区| 亚洲伊人色欲综合网| 在线观看亚洲专区| 夜色激情一区二区| 在线日韩一区二区| 亚洲一区在线视频| 欧美群妇大交群的观看方式| 日韩高清不卡在线| 日韩欧美中文字幕制服| 麻豆专区一区二区三区四区五区| 日韩女优av电影| 久久国产精品色| 久久久亚洲高清| 成人精品一区二区三区中文字幕| 亚洲欧洲一区二区三区| 色综合激情五月| 午夜天堂影视香蕉久久| 欧美一区二区在线看| 美国十次了思思久久精品导航| 337p粉嫩大胆噜噜噜噜噜91av| 韩国精品主播一区二区在线观看 | 精品午夜久久福利影院| 亚洲精品一区二区三区蜜桃下载| 国产中文字幕精品| 中文欧美字幕免费| 欧亚洲嫩模精品一区三区| 亚洲成a人片在线观看中文| 日韩女优av电影| 成人性生交大片免费看在线播放 | 日韩一区欧美小说| 在线看国产一区| 日本不卡123| 国产精品日产欧美久久久久| 91一区二区三区在线播放| 亚洲国产三级在线| 久久久久久黄色| 91久久精品一区二区| 婷婷综合在线观看| 国产视频在线观看一区二区三区| 99久久精品免费观看| 天堂av在线一区| 中文字幕国产精品一区二区| 欧美视频一区二区三区在线观看| 另类小说视频一区二区| 国产精品国产三级国产aⅴ中文 | 久久综合视频网| 91在线精品秘密一区二区| 视频一区二区国产| 欧美国产日韩一二三区| 欧美性猛交一区二区三区精品| 看国产成人h片视频| 亚洲人一二三区| 精品粉嫩超白一线天av| 91原创在线视频| 国内外精品视频| 亚洲成人tv网| 国产精品久久久久7777按摩| 欧美一二三四区在线| 99re这里只有精品首页| 九九九精品视频| 亚洲美女屁股眼交| 久久免费视频一区| 69久久99精品久久久久婷婷 | 国产日韩精品视频一区| 欧美日韩1区2区| 成人精品视频一区| 久久国产剧场电影| 亚洲福利视频一区| 一区精品在线播放| 久久综合九色欧美综合狠狠| 欧美视频在线观看一区二区| 成人av片在线观看| 狠狠狠色丁香婷婷综合久久五月| 一区二区三区不卡视频| 欧美激情一区二区三区蜜桃视频| 日韩三级免费观看| 欧美色男人天堂| 色综合天天综合网天天看片| 国产精品18久久久久| 免费观看在线综合色| 午夜视频一区二区三区| 亚洲另类一区二区| 国产精品妹子av| 国产嫩草影院久久久久| 日韩欧美国产成人一区二区| 欧美军同video69gay| 91久久精品国产91性色tv| 99久久婷婷国产| 国产精品99久久久久久宅男| 美女视频网站久久| 日本成人在线一区| 偷窥少妇高潮呻吟av久久免费| 亚洲国产一区二区三区青草影视| 亚洲欧美日韩久久精品| 国产精品久久久久久久久免费丝袜| 久久亚洲欧美国产精品乐播| 精品久久一二三区|