⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 startup.s

📁 NXP LPC3000系列 wince BSP包
💻 S
字号:
;------------------------------------------------------------------------------
; Software that is described herein is for illustrative purposes only  
; which provides customers with programming information regarding the  
; products. This software is supplied "AS IS" without any warranties.  
; NXP Semiconductors assumes no responsibility or liability for the 
; use of the software, conveys no license or title under any patent, 
; copyright, or mask work right to the product. NXP Semiconductors 
; reserves the right to make changes in the software without 
; notification. NXP Semiconductors also make no representation or 
; warranty that such application will be suitable for the specified 
; use without further testing or modification. 
; Copyright NXP Semiconductors
;------------------------------------------------------------------------------
;
; startup.s
;
; Kernel startup routine
;

        INCLUDE kxarm.h
        INCLUDE bsp_cfg.inc
       
        IMPORT  KernelStart

        TEXTAREA
        
;-------------------------------------------------------------------------------
;
; StartUp
;
; This function is entry point to Windows CE OS. It should be called
; in state with deactivated MMU.
;
; Main system initialization is performed in stage 1 loader and/or eboot.
;
        LEAF_ENTRY StartUp

        ;---------------------------------------------------------------
        ; Initialize cache
        ;---------------------------------------------------------------

        ; Clean & invalidate D cache
10      mrc     p15, 0, r15, c7, c14, 3
        bne     %b10
        
        ; Invalidate I cache
        mov     r0, #0
        mcr     p15, 0, r0, c7, c5, 0
       
        ; Enable I and D caches and write buffer
        mrc     p15, 0, r0, c1, c0, 0
        orr     r0, r0, #(1 :SHL: 12)           ; I-cache
        orr     r0, r0, #(1 :SHL: 2)            ; D-cache
        orr     r0, r0, #(1 :SHL: 3)            ; write buffer
        mcr     p15, 0, r0, c1, c0, 0

        ;---------------------------------------------------------------
        ; Jump to WinCE KernelStart
        ;---------------------------------------------------------------
        ; Compute the OEMAddressTable's physical address and 
        ; load it into r0. KernelStart expects r0 to contain
        ; the physical address of this table. The MMU isn't 
        ; turned on until well into KernelStart.  

        add     r0, pc, #g_oalAddressTable - (. + 8)
        bl      KernelStart
        b       .

        ; Include memory configuration file with g_oalAddressTable
        INCLUDE addrtab_cfg.inc

        ENTRY_END 

        END

;------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -