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

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

?? rominit.s

?? ROM型的vxworksBSP包 編譯測試通過
?? S
字號:
/* romInit.s - ARM Integrator ROM initialization module *//* Copyright 1999-2001 ARM Limited *//* Copyright 1999-2001 Wind River Systems, Inc. *//*modification history--------------------01m,25jan02,m_h  sdata needs "_" for bootrom_res01l,09oct01,jpd  added clock speed setting for 946ES.01k,03oct01,jpd  tidied slightly.01j,28sep01,pr   added support for ARM946ES.01i,04jun01,rec  memory clock rate changes for 740t01h,21feb01,h_k  added support for ARM966ES and ARM966ES_T.01g,20nov00,jpd  change speeds on 920T and add conditional early		 enabling of I-cache on 920T.01f,18sep00,rec  Add delay during power up01e,23feb00,jpd  comments changes.01d,22feb00,jpd  changed copyright string.01c,20jan00,jpd  added support for ARM720T/ARM920T.01b,13jan00,pr	 added support for ARM740T.01a,30nov99,ajb  created, based on PID version 01i.*//*DESCRIPTIONThis module contains the entry code for VxWorks images that startrunning from ROM, such as 'bootrom' and 'vxWorks_rom'.  The entrypoint, romInit(), is the first code executed on power-up.  It performsthe minimal setup needed to call the generic C routine romStart() withparameter BOOT_COLD.romInit() masks interrupts in the processor and the interruptcontroller and sets the initial stack pointer (to STACK_ADRS which isdefined in configAll.h).  Other hardware and device initialisation isperformed later in the sysHwInit routine in sysLib.c.The routine sysToMonitor() jumps to a location after the beginning ofromInit, (defined by ROM_WARM_ADRS) to perform a "warm boot".  Thisentry point allows a parameter to be passed to romStart().The routines in this module don't use the "C" frame pointer %r11@ ! orestablish a stack frame.SEE ALSO:.I "ARM Architecture Reference Manual,".I "ARM 7TDMI Data Sheet,". "ARM 720T Data Sheet,".I "ARM 740T Data Sheet,".I "ARM 920T Technical Reference Manual",.I "ARM 940T Technical Reference Manual",.I "ARM 946E-S Technical Reference Manual",.I "ARM 966E-S Technical Reference Manual",.I "ARM Reference Peripherals Specification,".I "ARM Integrator/AP User Guide",.I "ARM Integrator/CM7TDMI User Guide",.I "ARM Integrator/CM720T User Guide",.I "ARM Integrator/CM740T User Guide",.I "ARM Integrator/CM920T User Guide",.I "ARM Integrator/CM940T User Guide",.I "ARM Integrator/CM946E User Guide",.I "ARM Integrator/CM9x6ES Datasheet".*/#define	_ASMLANGUAGE#include "vxWorks.h"#include "sysLib.h"#include "asm.h"#include "regs.h"	#include "config.h"#include "s3c2410.h"#include "arch/arm/mmuArmLib.h"#include "memcfg.h"     /*SDRAM config register*/	.data        .globl   VAR(copyright_wind_river)        .long    VAR(copyright_wind_river)/* internals */	.globl	FUNC(romInit)		/* start of system code */	.globl	VAR(sdata)		/* start of data */        .globl  _sdata	.globl	VAR(integratorMemSize)	/* actual memory size */	.globl  FUNC(DisableIcache)/* externals */	.extern	FUNC(romStart)	/* system initialization routine */_sdata:VAR_LABEL(sdata)	.asciz	"start of data"	.balign	4/* variables */	.dataVAR_LABEL(integratorMemSize)	.long	0	.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:        B       cold        B       _romUndef        B       _romSwi        B       _romPrefetch        B       _romDataAbort        B       _romReserved              /* _romReserved */        B       _romIRQ        B       _romFIQ                  /* _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 1999-2001 ARM Limited"	.ascii   "\nCopyright 1999-2001 Wind River Systems, Inc."	.balign 4start:        ldr    r2,=0x40000000	/*internal sram,just store r0*/	str    r0,[r2]        /*	 * There have been reports of problems with certain boards and	 * certain power supplies not coming up after a power-on reset,	 * and adding a delay at the start of romInit appears to help	 * with this.	 */	TEQS	r0, #BOOT_COLD	MOVEQ	r1, #INTEGRATOR_DELAY_VALUE	MOVNE	r1, #1delay_loop:        SUBS	r1, r1, #1	BNE	delay_loop		/* Setup MMU Control Register */	MOV	r1, #MMU_INIT_VALUE		/* Defined in mmuArmLib.h */	ORR	r1, r1, #MMUCR_I_ENABLE		/* enable Icache*/	MCR	CP_MMU, 0, r1, c1, c0, 0	/* Write to MMU CR */	MOV	r1, #0				/* data SBZ */	MCR	CP_MMU, 0, r1, c7, c10, 4	/* drain write-buffer */	MCR	CP_MMU, 0, r1, c7, c7, 0	/* R1 = 0 from above, data SBZ*/		/*	 * Set Process ID Register to zero, this effectively disables	 * the process ID remapping feature.	 */	MOV	r1, #0	MCR	CP_MMU, 0, r1, c13, c0, 0	        /* 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	        ldr   r0,L$_INTMSK        /*all interrupt disable(if  r1=0x00000000 all interrupt service)*/    	ldr   r1,=0xffffffff    	str   r1,[r0]	ldr   r0,L$_INTSUBMSK     /*all subinterrupt disable*/    	ldr   r1,=0x7ff            /*(only ten subinterrupt are valid in 2410 from low end*/    	str   r1,[r0]              /*so r1= 0x7ff)*/    	    	/*	 * Jump to the normal (higher) ROM Position. After a reset, the	 * ROM is mapped into memory from* location zero upwards as well	 * as in its normal position at This code could be executing in	 * the lower position. We wish to be executing the code, still	 * in ROM, but in its normal (higher) position before we remap	 * the machine so that the ROM is no longer dual-mapped from zero	 * upwards, but so that RAM appears from 0 upwards.	 */	LDR	pc, L$_HiPosnHiPosn:		ldr   r0,L$_WTCON         /*disable watch dog*/    	ldr   r1,=0x0    	str   r1,[r0]    	    	/*turn on the led,and make it glitter*/    	ldr   r0,=GPBCON        /*config the I/O of port F*/    	ldr   r1,=0x55555555    	str   r1,[r0]		ldr   r0,=GPBUP	ldr   r1,=0xffffffff	ldr   r1,[r0]		ldr   r0,=0xffffffff	ldr   r1,=GPBDAT	str   r0,[r1]		ldr r0,=LOCKTIME        /* To reduce PLL lock time, adjust the LOCKTIME register.*/
        ldr r1,=0xffffff
        str r1,[r0]        	ldr   r0,L$_MPLLCON	/* config PLL */   	ldr   r1,L$_FCLKCFG	str   r1,[r0]   		ldr r0,=CLKDIVN         /* colck divider */ 
        ldr r1,=DIVCFG
        str r1,[r0]                  mrc CP_MMU,0,r0,c1,c0,0    /* clock mode */
        orr r0,r0,#R1_nF | R1_iA        mcr CP_MMU,0,r0,c1,c0,0         		/*SDRAM init,BANKx init*/	/*only 13 registers need to be init*/	ldr   r0 ,L$_valSMRDATA	   /*SDRAM config value*/	ldr   r1 ,L$_valSMRDATA + 0x04	ldr   r2 ,L$_valSMRDATA + 0x08	ldr   r3 ,L$_valSMRDATA + 0x0C	ldr   r4 ,L$_valSMRDATA + 0x10	ldr   r5 ,L$_valSMRDATA + 0x14	ldr   r6 ,L$_valSMRDATA + 0x18	ldr   r7 ,L$_valSMRDATA + 0x1C	ldr   r8 ,L$_valSMRDATA + 0x20	ldr   r9 ,L$_valSMRDATA + 0x24	ldr   r10,L$_valSMRDATA + 0x28	ldr   r11,L$_valSMRDATA + 0x2C	ldr   r12,L$_valSMRDATA + 0x30    	ldr   r13,L$_BWSCON    	stmia r13,{r0-r12}         	   	/*ok SDRAM and BANKx are also initialised*/   		/*	*  sys timer and aux timer init*/			ldr	r0,=TCFG1	  /* timer3 timer4 divider value = 2 */ 	ldr	r1,=0xfff00fff	str	r1,[r0]		ldr	r0,=TCFG0    /* timer3 timer4 prescaler = 68 */	ldr	r1,=0x00004400	str	r1,[r0]		ldr	r0,=TCNTB4  /*TCNTB4*/	ldr	r1,=20000	str	r1,[r0]		ldr	r0,=TCON  /*TCON*/	ldr	r1,=0x600000	str	r1,[r0]		ldr	r0,=TCON  /*TCON*/	ldr	r1,=0x500000	str	r1,[r0]		ldr	r0,=TCNTB3  /*TCNTB3*/	ldr	r1,=1000	str	r1,[r0]		ldr	r0,=TCON  /*TCON*/	ldr	r1,=0x5A0000	str	r1,[r0]		ldr	r0,=TCON  /*TCON*/	ldr	r1,=0x590000	str	r1,[r0]		/*The interrupt and sub interrupt,watchdog are disable,sdram and other bankx are	also init at this point.*/ 	/*add end*//***************************************************************************************/	ldr    r5, =0x40000000	ldr    r0, [r5]        /* 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 */	LDR	pc, L$_rStrtInRom/******************************************************************************//*;; ====================================================================;; Name:	ROM_FIQ;; Function:	This routine helps to pass control to proper FIQ handler;;		once a FIQ interrupt occurs;; ====================================================================	*/_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}/*	;; ====================================================================;; Name:	ROM_IRQ;; Function:	This routine helps to pass control to proper IRQ handler;;		once an IRQ interrupt occurs;; ====================================================================	*/_ARM_FUNCTION(romIRQ)_romIRQ:    	sub	sp, sp, #4		stmfd	sp!, {r0}	ldr	r0, L$_promIRQ    /*L$_promIRQ     */	ldr	r0, [r0]	str	r0, [sp, #4]    	ldmfd	sp!, {r0, pc}/*;; ====================================================================;; Name:	ROM_RESERVED;; Function:	This routine helps to pass control to proper RESERVED;;		handler once the RESERVED exception occurs;; ====================================================================	*/_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}/*		;; ====================================================================;; Name:	ROM_DATAABORT;; Function:	This routine helps to pass control to proper DATAABORT;;		handler once the DATAABORT exception occurs;; ====================================================================	*/_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}/*;; ====================================================================;; Name:	ROM_PREFETCH;; Function:	This routine helps to pass control to proper PREFETCH;;		handler once the PREFETCH exception occurs;; ====================================================================	*/_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}/*;; ====================================================================;; Name:	ROM_SWI;; Function:	This routine helps to pass control to proper SWI handler;;		once SWI is called by program;; ====================================================================	*/_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}/*	;; ====================================================================;; Name:	ROM_UNDEFINED;; Function:	This routine helps to pass control to proper UNDEFINED;;		handler once the UNDEFINED exception occurs;; ====================================================================	*/_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(DisableIcache)	@_DisableIcache:@        mrc CP_MMU,0,r1,c1,c0,0    
@        and r1, r1, #~MMUCR_I_ENABLE@        mcr CP_MMU,0,r1,c1,c0,0    @        mov pc, r14 	/* * PC-relative-addressable pointers - LDR Rn,=sym is broken * note "_" after "$" to stop preprocessor performing substitution */	.balign	4L$_HiPosn:	.long	ROM_TEXT_ADRS + HiPosn - FUNC(romInit)L$_rStrtInRom:	.long	ROM_TEXT_ADRS + FUNC(romStart) - FUNC(romInit)L$_STACK_ADDR:	.long	STACK_ADRSL$_memSize:	.long	VAR(integratorMemSize)/*S3C2410X internal register ,add by yang tian chi,define in 2410addr.h*/L$_WTCON:	.long   WTCON		/*watchdog control */L$_INTMSK:	.long   INTMSK		/*int mask register*/L$_INTSUBMSK:	.long	INTSUBMSK	/*sub interrupt mask register*/L$_GPBCON:	.long	GPBCON		/*port B config register*/L$_GPBDAT:	.long	GPBDAT		/*port B data register*/L$_GPBUP:        .long   GPBUP		L$_BWSCON:	.long	BWSCON		/*mem cfg register base address*/L$_FCLKCFG:	.long	FCLKCFG		/*FCLK config value*/L$_MPLLCON:	.long	MPLLCON	/*PLL config parameter register*/L$_valSMRDATA:	.long	valBWSCON	.long	valBANKCON0	.long	valBANKCON1	.long	valBANKCON2	.long	valBANKCON3	.long	valBANKCON4	.long	valBANKCON5	.long	valBANKCON6	.long	valBANKCON7	.long	valREFRESH	.long	valBANKSIZE	.long	valMRSBR6	.long	valMRSBR7L$_RomCopySize:    .long    L$_RomCopySize - FUNC(romInit)    L$_promUndef:    .long     S3C_EXC_BASE  /* undef handler */L$_promSwi:    .long     S3C_EXC_BASE + 0x04  /* swi handler */L$_promPrefetch:    .long     S3C_EXC_BASE + 0x08  L$_promDataAbort:    .long     S3C_EXC_BASE + 0x0c L$_promReserved:    .long     S3C_EXC_BASE + 0x10L$_promIRQ:    .long     S3C_EXC_BASE + 0x14  /* IRQ */L$_promFIQ:    .long     S3C_EXC_BASE + 0x18  #if defined(CPU_940T) || defined (CPU_940T_T)L$_sysCacheUncachedAdrs:	.long	SYS_CACHE_UNCACHED_ADRSL$_SDRAM_TOP_ADDR:	.long	SDRAM_TOP_ADDR#endif /* defined(CPU_940T, CPU_940T_T) */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久图片 | 国产宾馆实践打屁股91| 亚洲一级二级三级在线免费观看| 国产精品美日韩| 中文字幕一区二区三区四区| 国产日韩欧美一区二区三区综合| 26uuu国产电影一区二区| 欧美一区二区三区四区高清| 91精品国产欧美一区二区成人| 欧美无砖砖区免费| 91.xcao| 欧美日本在线观看| 91精品国产91久久久久久一区二区| 欧美体内she精高潮| 欧美日韩成人在线一区| 日韩女优视频免费观看| 久久久夜色精品亚洲| 国产精品入口麻豆原神| 亚洲品质自拍视频| 天天综合色天天综合| 日韩福利电影在线| 国产一区二区视频在线| 成人午夜私人影院| 欧美日韩精品一区二区三区四区| 91精品国产91久久综合桃花| 久久综合九色综合97婷婷| 国产精品三级视频| 亚洲aⅴ怡春院| 国产综合色视频| 91免费视频观看| 欧美高清视频一二三区| 久久久久高清精品| 伊人一区二区三区| 韩国精品主播一区二区在线观看| 不卡av免费在线观看| 这里只有精品视频在线观看| 欧美精品一区二区三区很污很色的| 欧美韩日一区二区三区四区| 亚洲国产精品自拍| 国产在线视频精品一区| 欧美亚洲综合色| 久久亚洲二区三区| 午夜欧美电影在线观看| 国产99久久久精品| 日韩午夜精品视频| 一区二区三区四区五区视频在线观看| 美女视频黄久久| 在线亚洲免费视频| 2020国产精品| 亚洲精品大片www| 激情另类小说区图片区视频区| 日本道色综合久久| 国产精品日产欧美久久久久| 蜜臂av日日欢夜夜爽一区| 色播五月激情综合网| 国产欧美日本一区视频| 伦理电影国产精品| 欧美福利视频导航| 亚洲国产综合91精品麻豆| 成人avav影音| 国产日本欧美一区二区| 久久精品国产免费看久久精品| 色av成人天堂桃色av| 国产精品激情偷乱一区二区∴| 精品一二三四在线| 欧美zozo另类异族| 男人操女人的视频在线观看欧美| 91浏览器入口在线观看| 成人免费一区二区三区视频| 国产精品影视在线观看| 精品国产自在久精品国产| 日本欧美一区二区三区乱码| 欧美色男人天堂| 夜夜嗨av一区二区三区中文字幕| 91视频一区二区三区| 国产精品短视频| 成人精品免费看| 国产精品成人免费 | 国产调教视频一区| 国产一区二区三区在线看麻豆| 欧美大尺度电影在线| 免费观看在线色综合| 国产综合色视频| 中文字幕不卡在线| 成人高清视频免费观看| 亚洲你懂的在线视频| 日本高清不卡一区| 视频在线观看一区二区三区| 欧美一区二区三区喷汁尤物| 美女在线视频一区| 色就色 综合激情| 五月开心婷婷久久| 精品不卡在线视频| 成人免费电影视频| 亚洲欧美日韩人成在线播放| 欧美亚洲免费在线一区| 婷婷综合另类小说色区| 欧美电影免费观看高清完整版在线观看 | 久草在线在线精品观看| 久久久久久久久久久黄色| 国产成人亚洲综合色影视| 国产精品福利在线播放| 欧美日韩中文字幕一区二区| 天堂va蜜桃一区二区三区漫画版| 日韩一级片在线观看| 国产成人一区二区精品非洲| 樱花草国产18久久久久| 精品国产区一区| 91丨九色丨国产丨porny| 五月激情六月综合| 久久久亚洲午夜电影| 日本韩国视频一区二区| 午夜久久久久久久久| 国产亚洲欧洲一区高清在线观看| 色综合中文字幕国产 | 久久久久国产精品人| 国产成人精品影视| 亚洲色图丝袜美腿| 欧美日韩免费不卡视频一区二区三区| 全部av―极品视觉盛宴亚洲| 欧美国产日韩a欧美在线观看| 91激情在线视频| 国产精品911| 蜜桃精品视频在线观看| 中文字幕日韩一区| 日韩欧美色综合| 色妞www精品视频| 国内外精品视频| 五月天婷婷综合| 亚洲欧美激情插| 2023国产精品自拍| 在线成人免费视频| 色综合久久久久久久久久久| 黄色小说综合网站| 亚洲va欧美va国产va天堂影院| 中文字幕精品综合| 精品国产伦一区二区三区免费| 在线观看免费一区| 高清不卡在线观看av| 麻豆国产精品视频| 丝袜国产日韩另类美女| 中文字幕一区二区三区乱码在线| 精品精品欲导航| 在线成人高清不卡| 欧美日韩免费高清一区色橹橹| 成人综合婷婷国产精品久久| 久久超碰97中文字幕| 日本大胆欧美人术艺术动态| 亚洲国产精品嫩草影院| 亚洲欧美在线另类| 国产精品天干天干在线综合| 精品人在线二区三区| 91精品国产入口| 884aa四虎影成人精品一区| 欧美体内she精高潮| 在线这里只有精品| 在线观看91视频| 91福利视频网站| 欧美三级三级三级| 欧美亚洲国产一区二区三区va | 久久久777精品电影网影网| 欧美一区二区三区四区高清| 欧美精品高清视频| 日韩欧美中文一区二区| 欧美一区二区大片| 日韩一级在线观看| 久久久精品综合| 中文成人av在线| 亚洲免费看黄网站| 亚洲色图视频网| 亚洲永久精品大片| 五月婷婷激情综合网| 爽好久久久欧美精品| 欧美bbbbb| 欧美伊人久久久久久久久影院 | 午夜激情一区二区| 日韩极品在线观看| 国产精品538一区二区在线| 国产成人啪免费观看软件| 国产成人精品在线看| 色婷婷一区二区| 4438成人网| 久久精品一级爱片| 亚洲三级在线看| 日韩黄色在线观看| 丁香激情综合国产| 欧美日本一区二区三区| 久久久高清一区二区三区| 亚洲日本乱码在线观看| 日韩1区2区日韩1区2区| 国产风韵犹存在线视精品| 欧美综合一区二区三区| 日韩欧美亚洲一区二区| 亚洲婷婷综合久久一本伊一区| 天天做天天摸天天爽国产一区| 国产高清久久久久| 欧美精选一区二区| 国产精品久久久久久久浪潮网站| 丝袜美腿亚洲综合| 99久久99久久精品国产片果冻|