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

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

?? rominit.s

?? 三星官方基于VXWORKS的S3C2510的BSP
?? S
字號:
/* romInit.s - Samsung SNDS100 ROM initialization module */

/* Copyright 1996-1998 Wind River Systems, Inc. */
	.data
	.globl	_copyright_wind_river
	.long	_copyright_wind_river

/*
modification history
--------------------
01b,031199,knp Corrected SDRAM support
01a,30aug99,ak,knp created from pid7t BSP file
*/

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

/* internals */

	.globl	_romInit	/* start of system code */
	.globl	_sdata		/* start of data */

/* externals */

	.globl	_romStart	/* system initialization routine */
_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)
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-1998 Wind River Systems, Inc."
	.balign 4

start:
	/* disable interrupts in CPU and switch to SVC32 mode */

	MRS	r1, cpsr
	BIC	r1, r1, #MASK_MODE
	ORR	r1, r1, #MODE_SVC32 | I_BIT | F_BIT
	MSR	cpsr, r1

	MOV	r13, r0	/* Save starttype in r13 so that r0 can be used for other purposes */

	/*
	 * CPU INTERRUPTS DISABLED
	 *
	 * disable individual interrupts in the interrupt controller
	 */

	LDR	r2, L$_SndsIntmsk			/* R2->interrupt controller */
	MVN	r1, #0				/* &FFFFFFFF */
	STR	r1, [r2]			/* disable all interrupt soucres */

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

	/*
	 * We are now executing in the normal (higher, still in ROM)
	 * position in the memory map.  Remap memory to post-reset state,
	 * so that the ROM is not now dual-mapped to zero upwards, but
	 * RAM is mapped from zero, instead.
	 */

	MOV	r0, #DRAM_TYPE		/* R0-> DRAM type */
	CMP	r0, #0x01	/* SDRAM = 0x01, EDO DRAM = 0x00 */
	BNE	EDO_RAM

SYNC_DRAM:

	LDR	r0, L$_SndsSyscfg
	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$_SndsExtdbwth		 /* Extdbwth Offset : 0x3010 */
	STMIA	r0, {r1-r12}


/*==============================================================
 * Copy ROM image to SYNC DRAM, Change ROM and DRAM Base pointer
 *==============================================================
 */

	MOV	r0, #RESET_ROM_START 		/* Get pointer to ROM data */
	MOV	r1, #ROM_SIZE 			/* and RAM copy */
	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

/*====================================
 * Change Base address of ROM and DRAM
 *====================================
 */
/* Multiple load LDMIA instruction cannot be used as there is 
 * no way to load the address L$_SystemInitDataSDRAM_S into a 
 * register (LDR Rn,=sym is broken)
 */
	LDR	r1, L$_SystemInitDataSDRAM_S
	LDR	r2, L$_SystemInitDataSDRAM_S + 0x04
	LDR	r3, L$_SystemInitDataSDRAM_S + 0x08
	LDR	r4, L$_SystemInitDataSDRAM_S + 0x0c
	LDR	r5, L$_SystemInitDataSDRAM_S + 0x10
	LDR	r6, L$_SystemInitDataSDRAM_S + 0x14
	LDR	r7, L$_SystemInitDataSDRAM_S + 0x18
	LDR	r8, L$_SystemInitDataSDRAM_S + 0x1c
	LDR	r9, L$_SystemInitDataSDRAM_S + 0x20
	LDR	r10,L$_SystemInitDataSDRAM_S + 0x24
	LDR	r11,L$_SystemInitDataSDRAM_S + 0x28
	LDR	r12,L$_SystemInitDataSDRAM_S + 0x2c
	LDR	r0, L$_SndsExtdbwth 	/* ROMCntr Offset : 0x3010 */
	STMIA	r0, {r1-r12}
	LDR	PC, L$_HiPosn	

EDO_RAM:

	LDR	r0, L$_SndsSyscfg
	LDR	r1, L$_SysCfg
	STR	r1, [r0]


/* 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$_SystemInitData into a 
 * register (LDR Rn,=sym is broken)
 */

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

/*=============================================================
 * Copy ROM image to EDO DRAM, Change ROM and DRAM Base pointer
 *=============================================================
 */
	MOV	r0, #RESET_ROM_START 		/* Get pointer to ROM data */
	MOV	r1, #ROM_SIZE			/* and RAM copy */
	MOV	r2, #RESET_DRAM_START		/* Copy DRAM area base */

ROM2DRAM_COPY_LOOP:
	LDR	r3, [r0], #4
	STR	r3, [r2], #4
	SUBS	r1, r1, #4			/* Down Count */
	BNE	ROM2DRAM_COPY_LOOP

/*====================================
 * Change Base address of ROM and DRAM
 *====================================
 */
/* Multiple load LDMIA instruction cannot be used as there is 
 * no way to load the address L$_SystemInitData_S into a 
 * register (LDR Rn,=sym is broken)
 */
	LDR	r1, L$_SystemInitData_S 
	LDR	r2, L$_SystemInitData_S + 0x04
	LDR	r3, L$_SystemInitData_S + 0x08
	LDR	r4, L$_SystemInitData_S + 0x0c
	LDR	r5, L$_SystemInitData_S + 0x10
	LDR	r6, L$_SystemInitData_S + 0x14
	LDR	r7, L$_SystemInitData_S + 0x18
	LDR	r8, L$_SystemInitData_S + 0x1c
	LDR	r9, L$_SystemInitData_S + 0x20
	LDR	r10,L$_SystemInitData_S + 0x24
	LDR	r11,L$_SystemInitData_S + 0x28
	LDR	r12,L$_SystemInitData_S + 0x2c	
 	LDR	r0, L$_SndsExtdbwth
	STMIA	r0, {r1-r12}
	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 == ARM7TDMI_T)
	LDR	r12, L$_rStrtInRom
	ORR	r12, r12, #1		/* force Thumb state */
	BX	r12
#else
	LDR	pc, L$_rStrtInRom
#endif	/* (CPU == ARM7TDMI_T) */

/******************************************************************************/

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

	.balign	4

L$_HiPosn:
	.long	ROM_TEXT_ADRS + HiPosn - _romInit

L$_rStrtInRom:
	.long	ROM_TEXT_ADRS + _romStart - _romInit

L$_STACK_ADDR:
	.long	STACK_ADRS

L$_SndsIntmsk:
	.long SNDS_INTMASK

L$_IopModReg:
	.long SNDS_IOPMOD

L$_IopConReg:
	.long SNDS_IOPCON

L$_IopDat:
	.long SNDS_IOPDATA

L$_SndsRomcon0:
	.long SNDS_ROMCON0

L$_SndsExtdbwth:
	.long SNDS_EXTDBWTH

L$_SndsSyscfg:
	.long SNDS_SYSCFG

L$_SysCfg:
	.long SYSCONFIG_VAL

L$_SysCfgSdram:
	.long SYSCONFIG_VAL_SDRAM

L$_SystemInitData:
	.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	rDRAMCON0	/* 0x1000000 ~ 0x13FFFFF, DRAM0 4M, */
	.long	rDRAMCON1
	.long	rDRAMCON2
	.long	rDRAMCON3
	.long	rREFEXTCON	/* External I/O, Refresh */

L$_SystemInitData_S:
	.long	rEXTDBWTH	/* DRAM1(Half), ROM5(Byte), ROM1(Half), else 32bit */
	.long	rROMCON0_S	/* 0x1000000 ~ 0x1040000, ROM0,256K,2cycle */
	.long	rROMCON1
	.long	rROMCON2
	.long	rROMCON3
	.long	rROMCON4
	.long	rROMCON5
	.long	rDRAMCON0_S 	/* 0x0000000 ~ 0x03FFFFF, DRAM0 */
	.long	rDRAMCON1
	.long	rDRAMCON2
	.long	rDRAMCON3
	.long	rREFEXTCON	/* External I/O, Refresh */

/*======================================================
 * 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
	.long	rSDRAMCON2
	.long	rSDRAMCON3
	.long	rSREFEXTCON	/* External I/O, Refresh */

L$_SystemInitDataSDRAM_S:
	.long	rEXTDBWTH	/* DRAM1(Half), ROM5(Byte), ROM1(Half), else 32bit */
	.long	rROMCON0_S	/* 0x1000000 ~ 0x1040000, ROM0,256K,2cycle */
	.long	rROMCON1
	.long	rROMCON2
	.long	rROMCON3
	.long	rROMCON4
	.long	rROMCON5
	.long	rSDRAMCON0_S	/* 0x0000000 ~ 0x03FFFFF, DRAM0 4M, */
	.long	rSDRAMCON1
	.long	rSDRAMCON2
	.long	rSDRAMCON3
	.long	rSREFEXTCON	/* External I/O, Refresh */

L$_pSystemInitData:
	.long	L$_SystemInitData

L$_pSystemInitData_S:
	.long	L$_SystemInitData_S

L$_pSystemInitDataSDRAM:
	.long	L$_SystemInitDataSDRAM

L$_pSystemInitDataSDRAM_S:
	.long	L$_SystemInitDataSDRAM_S

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区久久久蜜月 | 午夜精品国产更新| 亚洲精品在线免费播放| 日韩电影在线免费看| 欧美日韩精品电影| 麻豆精品久久精品色综合| 欧美变态凌虐bdsm| 成人免费视频app| 有码一区二区三区| 欧美一级电影网站| 国产ts人妖一区二区| 自拍偷拍欧美精品| 欧美精选午夜久久久乱码6080| 麻豆免费看一区二区三区| 久久久久久综合| 日本道精品一区二区三区| 日韩电影免费一区| 国产午夜精品一区二区三区嫩草 | 成人av影视在线观看| 中文字幕一区不卡| 欧美人妇做爰xxxⅹ性高电影| 久久国产三级精品| 中文字幕一区视频| 欧美精品一二三| 国产激情视频一区二区三区欧美| 亚洲视频免费看| 欧美电视剧在线看免费| 99精品视频中文字幕| 日韩精品一级中文字幕精品视频免费观看 | 麻豆精品视频在线观看免费 | 欧美精品1区2区3区| 国产成人精品影院| 天天综合网天天综合色| 国产色产综合色产在线视频| 91福利视频久久久久| 国产在线精品一区二区三区不卡| 国产精品免费人成网站| 欧美一级夜夜爽| 99久久综合色| 国产一区 二区| 日韩激情中文字幕| 亚洲精品国产无天堂网2021| 精品久久五月天| 欧美日韩国产综合一区二区三区| 国产成人精品aa毛片| 免费人成在线不卡| 一区二区三区丝袜| 亚洲欧美在线观看| 亚洲欧美在线另类| 国产亚洲一区字幕| 欧美一区二区三区白人| 在线中文字幕一区二区| 粉嫩一区二区三区在线看| 美日韩一区二区| 亚洲成人三级小说| 一区二区视频免费在线观看| 国产日韩欧美精品综合| 日韩美女视频在线| 欧美三电影在线| 91丨porny丨在线| 国产91丝袜在线播放0| 精品一区二区三区蜜桃| 男女男精品视频网| 天堂va蜜桃一区二区三区| 亚洲激情中文1区| 亚洲天堂精品在线观看| 国产精品久久久久一区| 国产欧美日韩激情| 国产亚洲一区二区在线观看| 欧美一区二区久久久| 6080亚洲精品一区二区| 欧美日韩一级二级| 欧美午夜电影一区| 欧美亚洲丝袜传媒另类| 91福利国产精品| 欧美性xxxxxx少妇| 欧美日韩一级黄| 制服.丝袜.亚洲.中文.综合| 欧美精品日韩综合在线| 欧美日韩国产经典色站一区二区三区 | 亚洲免费三区一区二区| 亚洲视频一二区| 一区二区三区小说| 夜夜揉揉日日人人青青一国产精品| 日韩一区欧美一区| 亚洲欧美日韩国产手机在线| 亚洲精品videosex极品| 夜夜嗨av一区二区三区中文字幕 | 国产另类ts人妖一区二区| 蜜桃一区二区三区在线观看| 免费在线视频一区| 免费观看在线综合色| 免费欧美在线视频| 精品一区二区国语对白| 狠狠色伊人亚洲综合成人| 国产黄色精品视频| 91美女在线视频| 欧美日韩美女一区二区| 日韩一级片在线播放| 欧美成人精品福利| 国产精品色哟哟| 亚洲老司机在线| 全国精品久久少妇| 国产精品69毛片高清亚洲| 成人黄色综合网站| 日本久久精品电影| 日韩一区国产二区欧美三区| 国产三级三级三级精品8ⅰ区| 中文字幕第一区二区| 一级特黄大欧美久久久| 精品写真视频在线观看| 成人高清免费在线播放| 欧洲精品一区二区三区在线观看| 欧美二区在线观看| 中文字幕va一区二区三区| 亚洲高清视频在线| 国产在线精品免费av| 91福利国产成人精品照片| 日韩三级在线免费观看| 亚洲色欲色欲www| 激情综合网av| 94-欧美-setu| 欧美大片一区二区| 亚洲综合丁香婷婷六月香| 狠狠久久亚洲欧美| 欧美日韩中字一区| 欧美国产精品v| 日韩黄色免费电影| 成人av片在线观看| 日韩欧美不卡一区| 亚洲一区二区三区在线播放| 国产精品系列在线观看| 欧美老女人在线| 亚洲视频资源在线| 国产一区999| 555夜色666亚洲国产免| 亚洲视频在线一区| 国产91在线|亚洲| 日韩美女视频在线| 午夜欧美2019年伦理| 成人网男人的天堂| 日韩精品专区在线影院重磅| 亚洲亚洲人成综合网络| 99在线精品观看| 日本一区二区视频在线| 蜜桃av一区二区三区| 欧美日韩精品一区二区三区蜜桃| 国产免费成人在线视频| 六月丁香综合在线视频| 欧美日韩中文字幕精品| 亚洲日本护士毛茸茸| 国产91综合一区在线观看| 精品国产乱码久久久久久老虎| 午夜国产不卡在线观看视频| 色综合色综合色综合色综合色综合| 国产三级一区二区| 国产美女精品人人做人人爽| 欧美一二三区在线| 亚洲第一福利视频在线| 色狠狠av一区二区三区| 亚洲视频免费在线| av不卡一区二区三区| 国产精品福利在线播放| 不卡一区二区三区四区| 久久蜜桃一区二区| 韩国av一区二区| 日韩免费观看高清完整版 | 欧美一二三区精品| 欧美aa在线视频| 欧美mv日韩mv国产网站app| 美女脱光内衣内裤视频久久影院| 欧美久久久久免费| 蜜桃视频在线一区| 欧美mv日韩mv国产网站app| 久久99精品久久久| 久久女同精品一区二区| 国产精品一区二区免费不卡| 国产欧美一区二区精品婷婷| 成人美女视频在线观看| 亚洲婷婷综合久久一本伊一区| 一本色道久久加勒比精品| 亚洲一二三四区| 5566中文字幕一区二区电影| 美女精品一区二区| 2023国产精华国产精品| 不卡一区二区在线| 亚洲综合在线电影| 日韩亚洲电影在线| 国产98色在线|日韩| 亚洲狠狠丁香婷婷综合久久久| 欧美色网一区二区| 久久99国产精品久久| 国产拍欧美日韩视频二区| 91视视频在线观看入口直接观看www | 欧美一区二区在线不卡| 国产一区二区三区精品欧美日韩一区二区三区 | 精品日韩99亚洲| 成人精品视频.| 亚洲一区在线观看免费 | 国产福利91精品一区|