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

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

?? rominit.s

?? 440bx vxworks bsp
?? S
字號:
/* romInit.s - Samsung SBC ARM7 ROM initialization module */


/* Copyright 1984-2001 Wind River Systems, Inc. */

/*
modification history
--------------------
01o,05aug04,a_m  BSP定制 for 多刃劍開發板
01f,18jan02,m_h  CLKCON initialization (74497), _sdata for vxWorks.res*
01e,30nov01,m_h  additional label with "_" on entry point functions
01d,15oct01,jb  Removing pre-pended underscores for new compilers (Diab/Gnu
                 elf)
01c,26apr01,m_h  fix thumb mode
01b,26apr01,m_h  convert tabs to spaces for readability
01a,12apr01,m_h  created from snds100 template.
*/

/*
DESCRIPTION
This module contains the entry code for VxWorks images that start
running from ROM, such as 'bootrom' and 'vxWorks_rom'.  The entry
point, romInit(), is the first code executed on power-up.  It performs
the minimal setup needed to call the generic C routine romStart() with
parameter BOOT_COLD.

romInit() masks interrupts in the processor and the interrupt
controller and sets the initial stack pointer (to STACK_ADRS which is
defined in configAll.h).  Other hardware and device initialisation is
performed later in the sysHwInit routine in sysLib.c.

The routine sysToMonitor() jumps to a location after the beginning of
romInit, (defined by ROM_WARM_ADRS) to perform a "warm boot".  This
entry point allows a parameter to be passed to romStart().

The routines in this module don't use the "C" frame pointer %r11@ ! or
establish a stack frame.

SEE ALSO:
.I "ARM Architecture Reference Manual,"
.I "Samsung KS32C50100 Microcontroller User's Manual,"
.I "Samsung KS32C5000(A)/50100 Microcontroller Application Notes."
*/

#define    _ASMLANGUAGE
#include "vxWorks.h"
#include "sysLib.h"
#include "arch/arm/arm.h"
#include "arch/arm/mmuArmLib.h"
#include "config.h"
#include "regs.h"    

    .data
    .globl   FUNC(copyright_wind_river)
    .long    FUNC(copyright_wind_river)

/* internals */

    .globl    FUNC(romInit)    /* start of system code */
    .globl    FUNC(sdata)      /* start of data */
    .globl    _sdata

/* externals */

    .globl    FUNC(romStart)    /* system initialization routine */

_sdata:
FUNC_LABEL(sdata)
    .asciz    "start of data"
    .balign    4

    .text
    .balign 4

/*******************************************************************************
*
* romInit - entry point for VxWorks in ROM
*

* romInit
*     (
*     int startType    /@ only used by 2nd entry point @/
*     )

* INTERNAL
* sysToMonitor examines the ROM for the first instruction and the string
* "Copy" in the third word so if this changes, sysToMonitor must be updated.
*/

_ARM_FUNCTION(romInit)
_romInit:
/*  : 在Flash存儲器的開始處添加硬件中斷入口,VxWorks只提供5個異常入口 */
    B       cold
    B       _romUndef
    B       _romSwi
    B       _romPrefetch
    B       _romDataAbort
    B       cold		/* _romReserved */
    B       _romIRQ
    B       cold		/* _romFIQ */
    
cold:
    MOV    r0, #BOOT_COLD    /* fall through to warm boot entry */
warm:
    B    start

    /* copyright notice appears at beginning of ROM (in TEXT segment) */
    .ascii   "Copyright 1984-2001 Wind River Systems, Inc."
    .balign 4

start:
/*  : 設置CPU核心寄存器 */
    LDR    r2, L$_S3C44B0XWtcon		/*watch dog disable*/
    MOV    r1, #0 
    STR    r1, [r2]
    
    LDR    r2, L$_SBCARM7Intmsk		/*all interrupt disable*/
    MOV    r1, #0x07ffffff
    STR    r1, [r2]
    
    LDR    r2, L$_SBCARM7Locktime	/*set clock control registers*/
    LDR    r1, L$_LockTime
    STR    r1, [r2]
	
    LDR    r2, L$_SBCARM7Pllcon		/*temporary setting of PLL*/
    LDR    r1, L$_PllCon
    STR    r1, [r2]

    LDR    r2, L$_SBCARM7ClkCon		/*all unit block CLK enable*/
    LDR    r1, L$_ClkCon
    STR    r1, [r2]
/*  : 設置結束 */
      
    MOV    r13, r0    /* Save starttype in r13 so that r0 can be used for other purposes */

    /*
     * If not BOOT_COLD, bypass memory configuration, memory region
     * switching etc.
     */
    CMP    r0, #BOOT_COLD
    BNE    HiPosn
SYNC_DRAM:

    LDR    r0, L$_SBCARM7Syscfg
    LDR    r1, L$_SysCfgSdram
    STR    r1, [r0]             /* Cache,WB disable */

/* ROM and RAM Configuration(Multiple Load and Store).  Multiple load
 * LDMIA instruction cannot be used as there is no way to load the
 * address L$_SystemInitDataSDRAM into a register (LDR Rn,=sym is broken)
 */

    LDR    r1, L$_SystemInitDataSDRAM 
    LDR    r2, L$_SystemInitDataSDRAM + 0x04
    LDR    r3, L$_SystemInitDataSDRAM + 0x08
    LDR    r4, L$_SystemInitDataSDRAM + 0x0c
    LDR    r5, L$_SystemInitDataSDRAM + 0x10
    LDR    r6, L$_SystemInitDataSDRAM + 0x14
    LDR    r7, L$_SystemInitDataSDRAM + 0x18
    LDR    r8, L$_SystemInitDataSDRAM + 0x1c
    LDR    r9, L$_SystemInitDataSDRAM + 0x20
    LDR    r10,L$_SystemInitDataSDRAM + 0x24
    LDR    r11,L$_SystemInitDataSDRAM + 0x28
    LDR    r12,L$_SystemInitDataSDRAM + 0x2c
    LDR    r0, L$_SBCARM7Extdbwth         /* Extdbwth Offset : 0x3010 */
    STMIA  r0, {r1-r12}

    /*  : r13存儲啟動類型,不能使用 */
    LDR    r0, L$_SBCARM7Mrsrb7
    LDR    r1, L$_SystemInitDataSDRAM +0x30
    STR    r1, [r0]
	
/*=============================================================
 * Copy to DRAM the section of ROM in which we are currently executing.
 * Soon, we will set the base pointer of DRAM to where the base pointer of
 * ROM used to be.  At that point the PC will suddenly be set in RAM and
 * must have legitimate code to execute.
 *=============================================================
 */

    MOV    r0, #RESET_ROM_START         /* Get pointer to ROM data */
    LDR    r1, L$_RomCopySize           /* number of ROM bytes to copy into RAM */
    MOV    r2, #RESET_DRAM_START        /* Copy DRAM area base */

ROM2SDRAM_COPY_LOOP:
    LDR    r3, [r0], #4
    STR    r3, [r2], #4
    SUBS   r1, r1, #4         /* Down Count */
    BNE    ROM2SDRAM_COPY_LOOP
    LDR    PC, L$_HiPosn    

HiPosn:


    /*
     * Initialize the stack pointer to just before where the
     * uncompress code, copied from ROM to RAM, will run.
     */

    MOV    r0, r13        /* restore starttype to r0 from r13 */
    LDR    sp, L$_STACK_ADDR
    MOV    fp, #0            /* zero frame pointer */

    /* jump to C entry point in ROM: routine - entry point + ROM base */

#if    (CPU == ARMARCH4_T)
    LDR    r12, L$_rStrtInRom
    ORR    r12, r12, #1        /* force Thumb state */
    BX     r12
#else
    LDR    pc, L$_rStrtInRom
#endif    /* (CPU == ARMARCH4_T) */

/*  : 中斷處理函數 */
_ARM_FUNCTION(romUndef)
_romUndef:
 sub sp, sp, #4
 stmfd sp!, {r0}
 ldr r0, L$_promUndef
 ldr r0, [r0]            
 str r0, [sp, #4]
 ldmfd sp!, {r0, pc}

_ARM_FUNCTION(romSwi)
_romSwi:
 sub sp, sp, #4
 stmfd sp!, {r0}
 ldr r0, L$_promSwi
 ldr r0, [r0]            
 str r0, [sp, #4]
 ldmfd sp!, {r0, pc}

_ARM_FUNCTION(romPrefetch)
_romPrefetch:
 sub sp, sp, #4
 stmfd sp!, {r0}
 ldr r0, L$_promPrefetch
 ldr r0, [r0]            
 str r0, [sp, #4]
 ldmfd sp!, {r0, pc}  

_ARM_FUNCTION(romDataAbort)
_romDataAbort:
 sub sp, sp, #4
 stmfd sp!, {r0}
 ldr r0, L$_promDataAbort
 ldr r0, [r0]            
 str r0, [sp, #4]
 ldmfd sp!, {r0, pc}
 
_ARM_FUNCTION(romReserved)
_romReserved:
 sub sp, sp, #4
 stmfd sp!, {r0}
 ldr r0, L$_promReserved
 ldr r0, [r0]            
 str r0, [sp, #4]
 ldmfd sp!, {r0, pc} 

_ARM_FUNCTION(romIRQ)
_romIRQ:
 sub sp, sp, #4
 stmfd sp!, {r0}
 ldr r0, L$_promIRQ
 ldr r0, [r0]            
 str r0, [sp, #4]
 ldmfd sp!, {r0, pc} 

_ARM_FUNCTION(romFIQ)
_romFIQ:
 sub sp, sp, #4
 stmfd sp!, {r0}
 ldr r0, L$_promFIQ
 ldr r0, [r0]            
 str r0, [sp, #4]
 ldmfd sp!, {r0, pc} 
   
/******************************************************************************/

/*
 * PC-relative-addressable pointers - LDR Rn,=sym is broken
 * note "_" after "$" to stop preprocessor preforming substitution
 */

    .balign    4

/*  : SDT調試,程序直接位于RAM中 */
#ifdef RAM_SIM
L$_HiPosn:
    .long    RAM_HIGH_ADRS + HiPosn - FUNC(romInit)
L$_rStrtInRom:
    .long    RAM_HIGH_ADRS + FUNC(romStart) - FUNC(romInit)
#else
L$_HiPosn:
    .long    ROM_TEXT_ADRS + HiPosn - FUNC(romInit)

L$_rStrtInRom:
    .long    ROM_TEXT_ADRS + FUNC(romStart) - FUNC(romInit)
#endif

L$_STACK_ADDR:
    .long    STACK_ADRS

L$_SBCARM7Intmsk:
    .long    S3C44B0X_INTMASK

/*  : added */
L$_SBCARM7Pllcon:
    .long    S3C44B0X_PLLCON    
L$_SBCARM7Locktime:
    .long    S3C44B0X_LOCKTIME    
L$_S3C44B0XWtcon:
    .long    S3C44B0X_WTCON
    
/*  : deleted */
/*L$_IopModReg:
    .long    SNGKS32C_IOPMOD*/
/*  : deleted */
/*L$_IopConReg:
    .long    SNGKS32C_IOPCON*/
/*  : deleted */
/*L$_IopDat:
    .long    SNGKS32C_IOPDATA*/

L$_SBCARM7Romcon0:
    .long    S3C44B0X_BANKCON0	/*  : SNGKS32C_ROMCON0->S3C44B0X_BANKCON0 */

L$_SBCARM7Extdbwth:
    .long    S3C44B0X_BWSCON	/*  : SNGKS32C_EXTDBWTH->S3C44B0X_BWSCON */

L$_SBCARM7Mrsrb7:               /*  : added */
    .long    S3C44B0X_MRSRB7

L$_SBCARM7Syscfg:
    .long    S3C44B0X_SYSCFG
/*  : deleted */
/*L$_SysCfg:
    .long    SYSCONFIG_VAL*/

L$_SysCfgSdram:
    .long    SYSCONFIG_VAL_SDRAM

L$_SBCARM7ClkCon:
    .long    S3C44B0X_CLKCON

L$_ClkCon:
    .long    rCLKCON

/*  : added */    
L$_PllCon:
    .long    rPLLCON
L$_LockTime:
    .long    rLOCKTIME

/*  : deleted */     
/*L$_SBCARM7ExtACon:
    .long    SNGKS32C_EXTACON0
    .long    SNGKS32C_EXTACON1*/
/*  : deleted */
/*L$_ExtACon:
    .long    rEXTACON0
    .long    rEXTACON1*/
/*======================================================
 * SDRAM System Initialize Data (KS32C50100 only)
 *======================================================
 */
L$_SystemInitDataSDRAM:
    .long    rEXTDBWTH    /* DRAM1(Half), ROM5(Byte), ROM1(Half), else 32bit */
    .long    rROMCON0    /* 0x0000000 ~ 0x40000, ROM0,256K,2cycle */
    .long    rROMCON1
    .long    rROMCON2
    .long    rROMCON3
    .long    rROMCON4
    .long    rROMCON5
    .long    rSDRAMCON0    /* 0x1000000 ~ 0x13FFFFF, DRAM0 4M, */
    .long    rSDRAMCON1

    /*  : added */    
    .long    rSREFEXTCON
    .long    rBANKSIZE
    .long    rMRSRB6
    .long    rMRSRB7
        

L$_pSystemInitDataSDRAM:
    .long    L$_SystemInitDataSDRAM


/*  : RAM中斷入口 */
L$_promUndef:
    .long     S3C_EXC_BASE
L$_promSwi:
    .long     S3C_EXC_BASE + 4
L$_promPrefetch:
    .long     S3C_EXC_BASE + 8
L$_promDataAbort:
    .long     S3C_EXC_BASE + 12
L$_promReserved:
    .long     S3C_EXC_BASE + 16
L$_promIRQ:
    .long     S3C_EXC_BASE + 20
L$_promFIQ:
    .long     S3C_EXC_BASE + 24
/*  : 在L$_RomCopySize之前,保證計算正確 */
    
L$_RomCopySize:
    .long    L$_RomCopySize - FUNC(romInit)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区二区三区在线| 中文字幕日本不卡| 欧美一区二视频| 欧美性生交片4| 在线观看一区不卡| 欧美怡红院视频| 色婷婷亚洲一区二区三区| 97精品久久久久中文字幕 | 美国十次综合导航| 日韩专区欧美专区| 精品一区二区三区免费毛片爱| 蜜桃av一区二区| 丝袜国产日韩另类美女| 日欧美一区二区| 麻豆国产精品官网| 九色综合狠狠综合久久| 国产一区二区三区久久悠悠色av| 国产美女久久久久| 高清不卡在线观看av| 成人免费看的视频| 成人av电影在线网| 93久久精品日日躁夜夜躁欧美| 91视频一区二区三区| 欧美在线一区二区| 日韩一级精品视频在线观看| 精品国产青草久久久久福利| 中文成人综合网| 亚洲欧美偷拍三级| 丝袜亚洲精品中文字幕一区| 免费成人美女在线观看.| 高清成人免费视频| 欧美自拍丝袜亚洲| 日韩精品一区二区三区在线| 国产日韩欧美精品一区| 亚洲乱码精品一二三四区日韩在线| 一区二区理论电影在线观看| 免费精品视频最新在线| 福利视频网站一区二区三区| 91黄色在线观看| 欧美变态tickling挠脚心| 中文字幕在线不卡一区| 五月婷婷久久丁香| 国产99精品视频| 欧美丝袜自拍制服另类| 精品999在线播放| 一区二区三区四区不卡在线| 久久精品久久99精品久久| 99精品欧美一区二区蜜桃免费 | 日韩欧美一区电影| 国产精品国产三级国产aⅴ入口| 亚洲人亚洲人成电影网站色| 午夜精品影院在线观看| 狠狠色狠狠色综合| av在线不卡观看免费观看| 欧美性xxxxxx少妇| 精品久久久久久无| 国产精品国产三级国产a| 五月婷婷久久综合| 国产最新精品免费| 亚洲成人av在线电影| 成人网在线播放| 欧美又粗又大又爽| 久久久亚洲午夜电影| 亚洲裸体在线观看| 美女久久久精品| 91啪亚洲精品| 精品久久国产字幕高潮| 中文字幕五月欧美| 亚洲成人av福利| 丁香五精品蜜臀久久久久99网站 | 日本在线播放一区二区三区| 国产成人精品亚洲日本在线桃色 | 免费观看成人av| 92国产精品观看| 欧美哺乳videos| 性欧美大战久久久久久久久| 丰满亚洲少妇av| 4438x亚洲最大成人网| 亚洲少妇最新在线视频| 激情国产一区二区| 91成人国产精品| 国产亚洲欧美一级| 日本视频在线一区| 99精品久久久久久| 久久理论电影网| 午夜精品福利一区二区蜜股av| 成人国产亚洲欧美成人综合网| 在线观看免费成人| 2021中文字幕一区亚洲| 日本特黄久久久高潮| 色婷婷综合中文久久一本| 久久久久久久综合色一本| 肉色丝袜一区二区| 97精品久久久午夜一区二区三区 | 欧美大片国产精品| 亚洲国产乱码最新视频 | 亚洲欧美综合网| 九九九久久久精品| 欧美日韩精品三区| 亚洲婷婷在线视频| 国产91精品在线观看| 日韩一级片网址| 日本欧美一区二区三区乱码| 色天使久久综合网天天| 一区精品在线播放| 成人涩涩免费视频| 久久精品视频一区二区| 久久超级碰视频| 欧美一卡2卡三卡4卡5免费| 亚洲一区在线视频| 国产91清纯白嫩初高中在线观看| 欧美精品一区男女天堂| 免费在线欧美视频| 欧美一区二区三区人| 亚洲国产日韩a在线播放性色| 一本高清dvd不卡在线观看| 最新中文字幕一区二区三区| 国产裸体歌舞团一区二区| 精品免费国产二区三区 | 国产精品一二二区| 久久午夜色播影院免费高清| 国产一区二区导航在线播放| 日韩精品一区二区三区中文精品| 蜜桃视频第一区免费观看| 91精品国产aⅴ一区二区| 青青草国产精品97视觉盛宴| 3d动漫精品啪啪| 日本中文字幕一区| 日韩亚洲欧美一区| 黄色成人免费在线| 久久久精品免费网站| 国产69精品久久99不卡| 国产精品免费观看视频| 91在线观看视频| 亚洲一二三四区| 欧美电影一区二区| 日本亚洲三级在线| 精品国产91洋老外米糕| 久久99国产精品免费网站| 国产精品免费av| 在线视频一区二区三| 日韩精品国产欧美| 精品伦理精品一区| 国产成人精品一区二区三区网站观看| 国产精品区一区二区三区| 日本二三区不卡| 婷婷综合另类小说色区| 精品av久久707| www.日韩精品| 一区二区三区中文在线观看| 2022国产精品视频| 91老师片黄在线观看| 丝袜诱惑制服诱惑色一区在线观看| 日韩免费看的电影| 成人激情校园春色| 亚洲一区二区三区四区在线观看 | 国产麻豆成人传媒免费观看| 中文字幕五月欧美| 91麻豆精品国产无毒不卡在线观看| 久久99精品久久久久久| 中文字幕一区二区三区不卡 | 国产成人精品在线看| 国产精品久久久久三级| 欧美视频中文一区二区三区在线观看 | 中文字幕精品在线不卡| 欧美日韩综合在线免费观看| 久久成人久久爱| 亚洲欧美电影院| 日韩欧美aaaaaa| 日本高清不卡视频| 极品少妇xxxx偷拍精品少妇| 日本一区二区在线不卡| 欧美四级电影网| 韩国欧美国产一区| 亚洲狠狠爱一区二区三区| 久久久影院官网| 欧美调教femdomvk| 成人小视频在线| 麻豆免费精品视频| 亚洲美女淫视频| 久久久精品中文字幕麻豆发布| 欧美亚洲精品一区| 丁香六月综合激情| 国产在线乱码一区二区三区| 一区二区三国产精华液| 久久精品夜色噜噜亚洲a∨| 欧美视频精品在线观看| 国产v综合v亚洲欧| 日韩成人一级大片| 亚洲欧美日韩在线不卡| 久久久不卡网国产精品二区| 91国产免费看| 精品一区二区三区免费观看 | 亚洲高清久久久| 国产精品久久毛片a| 2021久久国产精品不只是精品| 制服.丝袜.亚洲.中文.综合| 99久久精品免费| 97国产一区二区| 成人高清av在线|