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

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

?? rominit.s

?? 4510b的vxworks的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一区二区三区免费野_久草精品视频
ww亚洲ww在线观看国产| 色综合视频在线观看| 日韩一区二区三区视频| 偷偷要91色婷婷| 欧美一级爆毛片| 国产河南妇女毛片精品久久久| 日韩女优制服丝袜电影| 国产乱人伦精品一区二区在线观看| 欧美草草影院在线视频| 国产91精品入口| 亚洲男人的天堂av| 欧美日韩国产不卡| 激情久久五月天| 亚洲日本一区二区三区| 欧美三级日韩三级国产三级| 亚洲高清一区二区三区| 日韩亚洲欧美在线| 成人黄页毛片网站| 亚洲一区二区免费视频| 日韩欧美一二三四区| 懂色av一区二区在线播放| 亚洲黄色免费电影| 欧美成人性福生活免费看| 国产91色综合久久免费分享| 亚洲综合清纯丝袜自拍| 欧美成人综合网站| 91在线视频免费观看| 日韩av不卡一区二区| 中国色在线观看另类| 欧美三区在线视频| 国产激情一区二区三区桃花岛亚洲| 中文字幕一区在线| 制服丝袜在线91| 成人毛片老司机大片| 舔着乳尖日韩一区| 国产精品污污网站在线观看| 欧美日韩一区三区四区| 国产精品一区三区| 日韩精品1区2区3区| 中文字幕人成不卡一区| 3atv一区二区三区| 色婷婷综合视频在线观看| 精品亚洲成a人在线观看| 亚洲综合在线观看视频| 久久蜜臀精品av| 欧美精品一二三| 99在线视频精品| 毛片av中文字幕一区二区| 亚洲男人的天堂av| 国产网红主播福利一区二区| 在线成人高清不卡| 91国偷自产一区二区三区观看 | 中文字幕一区二区三区四区不卡| 欧美日韩在线直播| 不卡在线观看av| 精品一区二区三区影院在线午夜| 亚洲狠狠爱一区二区三区| 欧美国产精品一区二区三区| 日韩精品一区二区三区swag| 欧美午夜精品理论片a级按摩| 粉嫩一区二区三区在线看| 理论片日本一区| 亚洲a一区二区| 亚洲国产精品视频| 亚洲人一二三区| 中文在线资源观看网站视频免费不卡 | 福利一区二区在线观看| 麻豆91在线播放免费| 日韩 欧美一区二区三区| 亚洲香肠在线观看| 亚洲黄色av一区| 亚洲男同性视频| 亚洲精品福利视频网站| 专区另类欧美日韩| 亚洲丝袜制服诱惑| 国产精品美女一区二区| 国产精品天美传媒| 中文字幕精品一区二区精品绿巨人 | 在线一区二区视频| 91国偷自产一区二区开放时间| 成人精品视频.| 成人av电影免费在线播放| 福利一区二区在线| 91小视频免费观看| 在线免费观看日本欧美| 欧美日韩在线亚洲一区蜜芽| 欧美另类变人与禽xxxxx| 欧美日免费三级在线| 欧美老女人第四色| 欧美一区在线视频| 久久久综合精品| 国产精品国产三级国产aⅴ入口| 国产精品天天摸av网| 亚洲人成小说网站色在线| 亚洲三级小视频| 亚洲国产欧美日韩另类综合| 五月婷婷激情综合网| 奇米影视一区二区三区小说| 看片网站欧美日韩| 国产99久久久精品| 色域天天综合网| 在线播放一区二区三区| 精品久久人人做人人爽| 国产精品入口麻豆原神| 一区二区三区精密机械公司| 性感美女久久精品| 国产精品一区二区x88av| 99re这里只有精品6| 欧美性生活一区| 日韩精品自拍偷拍| 18欧美亚洲精品| 香蕉久久夜色精品国产使用方法| 久久成人18免费观看| 成人97人人超碰人人99| 欧美日韩午夜在线| 久久无码av三级| 亚洲欧美一区二区三区国产精品| 香蕉加勒比综合久久| 国产成人精品免费网站| 欧美性生活久久| 国产三级精品三级在线专区| 亚洲精品国产a| 国产精品伊人色| 欧美性xxxxx极品少妇| 久久久久久久久久久黄色| 一区二区三区免费| 黑人巨大精品欧美一区| 在线亚洲人成电影网站色www| 欧美变态口味重另类| 综合久久久久综合| 精品一区二区三区在线播放视频| 91福利小视频| 国产日本欧美一区二区| 五月婷婷激情综合| 一本高清dvd不卡在线观看| 久久伊99综合婷婷久久伊| 亚洲综合无码一区二区| 国产69精品一区二区亚洲孕妇 | 欧美变态tickling挠脚心| 亚洲人成网站在线| 国产91色综合久久免费分享| 91精品国产免费久久综合| 亚洲伦理在线精品| 风间由美一区二区av101| 欧美哺乳videos| 日韩国产欧美在线视频| 在线一区二区视频| 国产精品色呦呦| 国产精品中文字幕日韩精品 | 国产精品美女久久久久久久网站| 青青草精品视频| 欧美性一二三区| 亚洲激情在线激情| 91在线高清观看| 国产精品福利一区二区| 国产电影精品久久禁18| 精品久久久久av影院| 日韩成人伦理电影在线观看| 欧美性色综合网| 亚洲一区二区视频在线| 91国产丝袜在线播放| 亚洲精品一二三| 99re热视频精品| 亚洲欧洲av一区二区三区久久| 国产精品一二一区| 精品国产91九色蝌蚪| 麻豆精品在线播放| 日韩三级电影网址| 老司机精品视频线观看86 | 99久精品国产| 中文字幕一区二区视频| 91亚洲精品乱码久久久久久蜜桃| 欧美高清在线视频| www.性欧美| 亚洲靠逼com| 91官网在线免费观看| 亚洲高清免费在线| 911精品国产一区二区在线| 偷拍一区二区三区| 欧美成人官网二区| 国产精品 日产精品 欧美精品| 国产视频一区在线播放| 成人免费毛片aaaaa**| 国产精品久久久久久久午夜片| 99久久精品情趣| 亚洲摸摸操操av| 91麻豆精品国产综合久久久久久| 色综合久久久久网| 亚洲一区二区三区四区不卡| 91精品国产综合久久国产大片| 日本不卡中文字幕| 久久久精品一品道一区| 91麻豆精品一区二区三区| 亚洲午夜视频在线观看| 日韩午夜精品视频| 丁香亚洲综合激情啪啪综合| 国产精品成人免费| 这里只有精品电影| 国产成人精品aa毛片| 亚洲男人都懂的|