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

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

?? sysalib.s

?? ROM型的vxworksBSP包 編譯測試通過
?? S
字號:
/* sysALib.s - ARM Integrator system-dependent routines *//* Copyright 1999-2001 ARM Limited *//* Copyright 1999-2001 Wind River Systems, Inc. *//*modification history--------------------01h,09oct01,jpd  added clock speed setting for 946ES.01g,03oct01,jpd  tidied slightly.01f,28sep01,pr   added support for ARM946E.01g,04jun01,rec  memory clock rate changes for 740t01f,21feb01,h_k  added support for ARM966ES and ARM966ES_T.01e,23oct00,jpd  changed speeds on 920T; added conditional early		 enabling of instruction cache on 920T.01d,21feb00,jpd  added further initialisation code.01c,07feb00,jpd  added support for ARM720T and ARM920T.01b,13jan00,pr	 added support for ARM740T.01a,15nov99,ajb  copied from pid940t version 01h.*//*DESCRIPTIONThis module contains system-dependent routines written in assemblylanguage.  It contains the entry code, sysInit(), for VxWorks imagesthat start running from RAM, such as 'vxWorks'.  These images areloaded into memory by some external program (e.g., a boot ROM) and thenstarted.  The routine sysInit() must come first in the text segment.Its job is to perform the minimal setup needed to call the generic Croutine usrInit().sysInit() masks interrupts in the processor and the interruptcontroller and sets the initial stack pointer.  Other hardware anddevice initialisation is performed later in the sysHwInit routine insysLib.c.NOTEThe 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,".I "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 "asm.h"#include "regs.h"#include "sysLib.h"#include "config.h"#include "s3c2410.h"#include "arch/arm/mmuArmLib.h"        .data        .globl   VAR(copyright_wind_river)        .long    VAR(copyright_wind_river)/* internals */	.globl	FUNC(sysInit)		/* start of system code */	.globl	FUNC(sysIntStackSplit)	/* routine to split interrupt stack *//* externals */	.extern	FUNC(usrInit)		/* system initialization routine */	.extern	FUNC(vxSvcIntStackBase) /* base of SVC-mode interrupt stack */	.extern	FUNC(vxSvcIntStackEnd)	/* end of SVC-mode interrupt stack */	.extern	FUNC(vxIrqIntStackBase) /* base of IRQ-mode interrupt stack */	.extern	FUNC(vxIrqIntStackEnd)	/* end of IRQ-mode interrupt stack */#if defined(CPU_720T) || defined(CPU_720T_T) || \    defined(CPU_740T) || defined(CPU_740T_T)/* variables */	.data	.balign	1			/* no alignment necessary */	/* variable used with a SWPB instruction to drain the write-buffer */sysCacheSwapVar:	.byte	0	.balign	4#endif /* defined(720T/720T_T740T/740T_T) */	.text	.balign 4/********************************************************************************* sysInit - start after boot** This routine is the system start-up entry point for VxWorks in RAM, the* first code executed after booting.  It disables interrupts, sets up* the stack, and jumps to the C routine usrInit() in usrConfig.c.** The initial stack is set to grow down from the address of sysInit().  This* stack is used only by usrInit() and is never used again.  Memory for the* stack must be accounted for when determining the system load address.** NOTE: This routine should not be called by the user.** RETURNS: N/A* sysInit ()              /@ THIS IS NOT A CALLABLE ROUTINE @/*/_ARM_FUNCTION(sysInit)	/* 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,=INTMSK        /*all interrupt disable(if  r1=0x00000000 all interrupt service)*/    	ldr   r1,=0xffffffff    	str   r1,[r0]	ldr   r0,=INTSUBMSK     /*all subinterrupt disable*/    	ldr   r1,=0x7ff            /*(only ten subinterrupt are valid in 2410 from low end*/    	str   r1,[r0]              /*so r1= 0x7ff)*/    	    	ldr   r0,=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,=MPLLCON	/* config PLL */   	ldr   r1,=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             		/* set initial stack pointer so stack grows down from start of code */	ADR	sp, FUNC(sysInit)		/* initialise stack pointer */	/* now call usrInit */	MOV	fp, #0			/* initialise frame pointer */	MOV	r0, #BOOT_WARM_AUTOBOOT	/* pass startType */#if	(ARM_THUMB)	LDR	r12, L$_usrInit	BX	r12#else	B	FUNC(usrInit)#endif	/* (ARM_THUMB) *//********************************************************************************* sysIntStackSplit - split interrupt stack and set interrupt stack pointers** This routine is called, via a function pointer, during kernel* initialisation.  It splits the allocated interrupt stack into IRQ and* SVC-mode stacks and sets the processor's IRQ stack pointer. Note that* the pointer passed points to the bottom of the stack allocated i.e.* highest address+1.** IRQ stack needs 6 words per nested interrupt;* SVC-mode will need a good deal more for the C interrupt handlers.* For now, use ratio 1:7 with any excess allocated to the SVC-mode stack* at the lowest address.** Note that FIQ is not handled by VxWorks so no stack is allocated for it.** The stacks and the variables that describe them look like this.* .CS**         - HIGH MEMORY -*     ------------------------ <--- vxIrqIntStackBase (r0 on entry)*     |                      |*     |       IRQ-mode       |*     |    interrupt stack   |*     |                      |*     ------------------------ <--{ vxIrqIntStackEnd*     |                      |    { vxSvcIntStackBase*     |       SVC-mode       |*     |    interrupt stack   |*     |                      |*     ------------------------ <--- vxSvcIntStackEnd*         - LOW  MEMORY -* .CE** NOTE: This routine should not be called by the user.* void sysIntStackSplit*     (*     char *pBotStack   /@ pointer to bottom of interrupt stack @/*     long size		/@ size of stack @/*     )*/_ARM_FUNCTION_CALLED_FROM_C(sysIntStackSplit)	/*	 * r0 = base of space allocated for stacks (i.e. highest address)	 * r1 = size of space	 */	SUB	r2, r0, r1			/* r2->lowest usable address */	LDR	r3, L$_vxSvcIntStackEnd	STR	r2, [r3]			/*  == end of SVC-mode stack */	SUB	r2, r0, r1, ASR #3		/* leave 1/8 for IRQ */	LDR	r3, L$_vxSvcIntStackBase	STR	r2, [r3]	/* now allocate IRQ stack, setting irq_sp */	LDR	r3, L$_vxIrqIntStackEnd	STR	r2, [r3]	LDR	r3, L$_vxIrqIntStackBase	STR	r0, [r3]	MRS	r2, cpsr	BIC	r3, r2, #MASK_MODE	ORR	r3, r3, #MODE_IRQ32 | I_BIT	/* set irq_sp */	MSR	cpsr, r3	MOV	sp, r0	/* switch back to original mode and return */	MSR	cpsr, r2#if	(ARM_THUMB)	BX	lr#else	MOV	pc, lr#endif	/* (ARM_THUMB) */		/******************************************************************************//* * PC-relative-addressable pointers - LDR Rn,=sym is broken * note "_" after "$" to stop preprocessor preforming substitution */	.balign	4L$_vxSvcIntStackBase:	.long	VAR(vxSvcIntStackBase)L$_vxSvcIntStackEnd:	.long	VAR(vxSvcIntStackEnd)L$_vxIrqIntStackBase:	.long	VAR(vxIrqIntStackBase)L$_vxIrqIntStackEnd:	.long	VAR(vxIrqIntStackEnd)L$_INTMSK:	.long   INTMSK		/*int mask register*/L$_INTSUBMSK:	.long	INTSUBMSK	/*sub interrupt mask register*/#if	(ARM_THUMB)L$_usrInit:	.long	FUNC(usrInit)#endif	/* (ARM_THUMB) */#if defined(CPU_720T) || defined(CPU_720T_T) || \    defined(CPU_740T) || defined(CPU_740T_T)L$_sysCacheSwapVar:	.long   sysCacheSwapVar#endif#if defined(CPU_940T) || defined(CPU_940T_T)L$_sysCacheUncachedAdrs:	.long   SYS_CACHE_UNCACHED_ADRS#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色av噜噜一区二区三区av| 国产一区二区三区最好精华液| 视频在线观看一区| 丁香六月综合激情| 欧美videossexotv100| 亚洲日本在线看| 精一区二区三区| 欧美亚洲一区三区| 国产精品久久久久久久久动漫 | 亚洲图片自拍偷拍| av中文字幕一区| 国产网站一区二区| 91精品中文字幕一区二区三区| 精品国产乱码久久久久久浪潮| 久久精品一区二区三区av| 亚洲国产乱码最新视频| 99精品国产99久久久久久白柏| 久久美女高清视频| 国产制服丝袜一区| 69成人精品免费视频| 亚洲成人综合在线| 欧美午夜在线一二页| 亚洲综合色婷婷| 色综合视频在线观看| 欧美国产精品v| 国产精品一二三四区| 久久久精品欧美丰满| 国产一区激情在线| 日韩欧美国产综合一区| 美女一区二区在线观看| 日韩女同互慰一区二区| 激情六月婷婷久久| 久久综合色天天久久综合图片| 亚洲美女一区二区三区| 99国产精品国产精品久久| 亚洲欧洲日产国码二区| 粉嫩欧美一区二区三区高清影视| 国产欧美中文在线| 成人av电影观看| 亚洲精品中文在线| 欧美日精品一区视频| 五月天一区二区三区| 91精品一区二区三区在线观看| 午夜一区二区三区视频| 日韩一区二区三区视频在线| 精品亚洲免费视频| 国产色产综合色产在线视频| 97se亚洲国产综合自在线观| 亚洲激情在线播放| 91精品欧美久久久久久动漫| 老色鬼精品视频在线观看播放| 精品国产乱码久久久久久久久| 国产精品一区在线| 一区二区三区中文字幕| 欧美美女网站色| 国产乱子伦视频一区二区三区| 国产精品久久久久久一区二区三区| 日本二三区不卡| 麻豆精品一区二区三区| 国产精品国产三级国产aⅴ原创| 91久久精品国产91性色tv| 日韩成人午夜精品| 国产精品水嫩水嫩| 在线成人免费观看| 国产sm精品调教视频网站| 亚洲精品精品亚洲| 精品三级在线观看| 94色蜜桃网一区二区三区| 人人超碰91尤物精品国产| 国产精品麻豆一区二区| 亚洲色图欧美偷拍| 亚洲免费电影在线| 欧美日韩黄色一区二区| 美女高潮久久久| 亚洲男人天堂一区| 日韩一级片网站| 色综合天天综合在线视频| 美洲天堂一区二卡三卡四卡视频| 国产精品国产三级国产| 日韩精品中文字幕一区| 在线视频欧美区| 成人在线综合网站| 欧美a级理论片| 一区二区三区在线看| 久久久久久久久免费| 宅男在线国产精品| 97精品国产露脸对白| 国产尤物一区二区| 秋霞电影网一区二区| 一区二区三区日韩在线观看| 国产拍揄自揄精品视频麻豆| 91精品国产高清一区二区三区蜜臀| 成人免费视频一区| 亚洲你懂的在线视频| 亚洲人成网站影音先锋播放| 欧美电视剧在线看免费| 欧美性猛交xxxx黑人交| bt欧美亚洲午夜电影天堂| 国内精品国产成人国产三级粉色| 婷婷国产在线综合| 亚洲一区二区三区激情| 亚洲色图另类专区| 国产精品久久久久影院老司| 久久久久成人黄色影片| 欧美成人乱码一区二区三区| 日韩一区二区三区四区| 欧美一区三区二区| 7777精品久久久大香线蕉| 精品视频在线免费看| 一本色道综合亚洲| 99九九99九九九视频精品| 国v精品久久久网| 国产成都精品91一区二区三| 国产精品一区在线| 国产激情91久久精品导航| 国产乱码精品一区二区三| 九九九久久久精品| 国产精品夜夜嗨| 国内精品写真在线观看| 国产亚洲人成网站| 久久久精品2019中文字幕之3| 久久亚洲一级片| 久久婷婷综合激情| 欧美精彩视频一区二区三区| 国产精品不卡一区| 亚洲日本在线天堂| 亚洲成人免费在线观看| 日韩主播视频在线| 国精产品一区一区三区mba视频 | 亚洲高清视频的网址| 亚洲午夜三级在线| 日韩1区2区3区| 久久er精品视频| 成人晚上爱看视频| 一本到不卡精品视频在线观看| 欧美体内she精视频| 日韩免费一区二区| 欧美国产综合色视频| 亚洲精品精品亚洲| 日本午夜精品一区二区三区电影 | 中文字幕一区二区三区四区| 国产精品美日韩| 亚洲国产毛片aaaaa无费看 | 日本乱人伦aⅴ精品| 91精品国产综合久久蜜臀 | 99vv1com这只有精品| 欧美性极品少妇| 久久综合精品国产一区二区三区| 18欧美亚洲精品| 丝袜美腿亚洲色图| 成人av在线影院| 这里只有精品免费| 亚洲人精品午夜| 久久国产精品免费| 在线看一区二区| 久久在线观看免费| 亚洲电影一级黄| 大美女一区二区三区| 欧美丰满一区二区免费视频| 国产亚洲1区2区3区| 亚洲成人高清在线| 一区二区不卡在线视频 午夜欧美不卡在| 日韩欧美一级二级| 亚洲另类中文字| 精品午夜一区二区三区在线观看 | 国产日产欧美一区| 视频在线观看一区二区三区| 99久久国产综合精品女不卡| 91精品国产91久久久久久最新毛片| 国产精品美女久久久久高潮| 久久精品国产秦先生| 在线观看成人免费视频| 国产欧美日韩另类一区| 蜜臀久久久99精品久久久久久| 91在线视频在线| 国产日韩一级二级三级| 日本在线不卡一区| 欧美性猛片aaaaaaa做受| 中文一区在线播放| 国产一区福利在线| 精品噜噜噜噜久久久久久久久试看| 亚洲综合激情小说| 不卡的av在线播放| 国产欧美一区二区三区鸳鸯浴 | 中文字幕一区视频| 亚洲高清免费视频| 色乱码一区二区三区88| 中文字幕av免费专区久久| 国产一区二区三区高清播放| 91精品国产aⅴ一区二区| 亚洲成人av一区二区| 欧美最猛黑人xxxxx猛交| 亚洲欧美日韩国产综合在线| 99久久久精品| 日韩美女视频19| 色偷偷成人一区二区三区91| 中文字幕一区av| av成人免费在线| 中文字幕一区二区不卡 | 风间由美一区二区av101|