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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sysalib.s

?? 附件是一份S3C2410的原廠BSP源碼
?? S
字號(hào):
/* sysALib.s - HITSAT omu system-dependent routines *//*DESCRIPTIONThis module contains:		system-dependent routines written in assembly language;		It contains the entry code:				sysInit()		for VxWorks images that start running from RAM,	such as 'vxWorks'.		These images are loaded into memory by some external program (e.g., a boot ROM) and then started.		The routine sysInit() must come first in the text segment.		Its job is to perform the minimal setup needed to call the generic C routine usrInit().		sysInit()			masks interrupts in:				the processor				the interrupt controller			sets the initial stack pointer.		Other hardware and device initialisation is performed later in the sysHwInit routine in sysLib.c.*/#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"#include "regs.h"#include "sysLib.h"#include "config.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 */	.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)	/* Turn off the watchdog. */	ldr	r0, =rWTCON_ADR		/* r0->WTCON */	ldr	r1, =rWTCON_INIT_VALUE	/* r1 = WTCON's initValue */	str	r1, [r0]		/* Turn off the watch-dog */	/* Setup MMU Control Register */	mov	r1, #MMU_INIT_VALUE		/* Defined in mmuArmLib.h */#if defined(INTEGRATOR_EARLY_I_CACHE_ENABLE)	orr	r1, r1, #MMUCR_I_ENABLE		/* conditionally enable Icache*/#endif	mcr	p15, 0, r1, c1, c0, 0		/* Write to MMU CR */	/* drain write-buffer */	mov	r1, #0				/* data SBZ */	mcr	p15, 0, r1, c7, c10, 4	/* Flush (invalidate) both I and D caches */	mcr	p15, 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	p15, 0, r1, c13, c0, 0	/* Disable interrupts in processor 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	/* Disable individual interrupts in the interrupt controller */	ldr	r1, =0xffffffff	ldr	r2, =rINTMSK_ADR		/* R2->interrupt mask registor of controller */	str	r1, [r2]			/* disable all sources */	ldr	r2, =rINTSUBMSK_ADR		/* R2->sub-interrupt mask registor of controller */	str	r1, [r2]			/* disable all sub-sources */	/* Set asynchronous mode via MMU. */	mrc	p15, 0, r2, c1, c0, 0	orr	r2, r2, #MMUCR_ASYNC	mcr	p15, 0, r2, c1, c0, 0		/* Set PLL lock time. */	ldr	r2, =rLOCKTIME_ADR	ldr	r1, =rLOCKTIME_INIT_VALUE	str	r1, [r2]		/* Set FCLK:HCLK:PCLK = 1:2:4 */	ldr	r2, =rCLKDIVN_ADR	ldr	r1, =rCLKDIVN_INIT_VALUE	str	r1, [r2]		/* Set FCLK = 200MHz by Fosc = 12MHz */	ldr	r2, =rMPLLCON_ADR	ldr	r1, =rMPLLCON_INIT_VALUE	str	r1, [r2]		/* Set clock control register */	ldr	r2, =rCLKCON_ADR	ldr	r1, =rCLKCON_INIT_VALUE	str	r1, [r2]		/* Set clock slow register */	ldr	r2, =rCLKSLOW_ADR	ldr	r1, =rCLKSLOW_INIT_VALUE	str	r1, [r2]	/* Set bus width for each bank, 0x22111112 */	ldr	r2, =rBWSCON_ADR	ldr	r1, =rBWSCON_INIT_VALUE	str	r1, [r2]		/* Set bank0 and bank5 for flash and cs8900, 0x00000700 */	ldr	r2, =rBANKCON0_ADR	ldr	r1, =rBANKCON0_INIT_VALUE	str	r1, [r2]		ldr	r2, =rBANKCON5_ADR	ldr	r1, =rBANKCON5_INIT_VALUE	str	r1, [r2]		/* Set bank6 for SDRAM, 0x00018000 */	ldr	r2, =rBANKCON6_ADR	ldr	r1, =rBANKCON6_INIT_VALUE	str	r1, [r2]	/* Set refresh for SDRAM, 0x00860459 */	ldr	r2, =rREFRESH_ADR	ldr	r1, =rREFRESH_INIT_VALUE	str	r1, [r2]		/* Set bank size for SDRAM, 0x000000b7 */	ldr	r2, =rBANKSIZE_ADR	ldr	r1, =rBANKSIZE_INIT_VALUE	str	r1, [r2]		/* Set bank mode, 0x00000030 */	ldr	r2, =rMRSRB6_ADR	ldr	r1, =rMRSRB6_INIT_VALUE	str	r1, [r2]	/* initialise stack pointer */	adr	sp, FUNC(sysInit)	/* 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)#if	(ARM_THUMB)L$_usrInit:	.long	FUNC(usrInit)#endif	/* (ARM_THUMB) */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天影视网天天综合色在线播放| 久草在线在线精品观看| 日韩欧美你懂的| 91丨九色丨黑人外教| 琪琪久久久久日韩精品| 亚洲免费在线视频一区 二区| 日韩亚洲欧美在线| 色综合欧美在线视频区| 国产剧情一区二区| 日韩国产精品大片| 一区二区三国产精华液| 国产精品视频一二三区| 精品久久久久久亚洲综合网| 欧美日韩成人综合在线一区二区| 不卡的av在线| 国产不卡一区视频| 国精产品一区一区三区mba视频 | 国产精品久线在线观看| 日韩精品在线一区| 欧美一级黄色录像| 欧美精品自拍偷拍动漫精品| 日本道在线观看一区二区| 成人午夜在线免费| 国产精品亚洲成人| 国产一区日韩二区欧美三区| 美女精品自拍一二三四| 日本亚洲欧美天堂免费| 日韩成人午夜电影| 99久久99久久精品免费看蜜桃| 蜜芽一区二区三区| 日本在线不卡一区| 性欧美疯狂xxxxbbbb| 一区二区三区不卡在线观看| 亚洲卡通欧美制服中文| 亚洲欧洲日韩av| 中文字幕一区二区在线观看| 国产精品欧美精品| 国产精品女同互慰在线看| 久久久精品免费免费| 国产午夜精品在线观看| 亚洲国产成人自拍| 中国色在线观看另类| 中文字幕不卡三区| 亚洲人精品午夜| 亚洲精品日产精品乱码不卡| 亚洲一区免费视频| 午夜精品福利一区二区三区av | 国产在线播放一区| 国内一区二区视频| 成人免费毛片aaaaa**| 成人激情小说乱人伦| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产日韩欧美精品在线| 久久精品视频一区二区| 国产精品国产馆在线真实露脸| 国产精品福利一区二区三区| 亚洲乱码中文字幕综合| 亚洲自拍偷拍图区| 日韩国产一二三区| 国产在线播精品第三| 成人av网址在线| 91福利社在线观看| 3d成人h动漫网站入口| 久久色成人在线| 国产精品免费久久| 亚洲国产精品一区二区久久| 日本vs亚洲vs韩国一区三区二区 | 日韩一本二本av| 中文字幕的久久| 亚洲午夜久久久久久久久电影网 | 国产98色在线|日韩| 91老师国产黑色丝袜在线| 欧美区在线观看| 久久久久国产成人精品亚洲午夜| 亚洲丝袜制服诱惑| 日韩中文字幕一区二区三区| 国产美女精品一区二区三区| 色就色 综合激情| 欧美va在线播放| 专区另类欧美日韩| 蜜桃久久久久久久| 91视频com| 精品久久人人做人人爱| 亚洲精品日产精品乱码不卡| 另类小说图片综合网| 色综合天天视频在线观看| 日韩一区二区三区在线| 中文字幕制服丝袜成人av | 国产一区欧美日韩| 在线看国产一区二区| 久久久蜜桃精品| 午夜欧美大尺度福利影院在线看| 国产成人av自拍| 91精品麻豆日日躁夜夜躁| 一区在线观看视频| 久久69国产一区二区蜜臀| 在线观看91精品国产入口| 久久久午夜电影| 青娱乐精品视频在线| av一区二区三区在线| 欧美mv日韩mv亚洲| 亚洲mv在线观看| 91色porny在线视频| 国产午夜精品一区二区| 日本中文在线一区| 在线欧美小视频| 日韩一区在线播放| 国产福利一区在线| 日韩欧美aaaaaa| 天堂成人国产精品一区| 欧洲精品视频在线观看| 国产精品国产三级国产普通话蜜臀 | 亚洲三级久久久| 国产精品1区二区.| 精品欧美一区二区久久| 亚洲成人福利片| 91国产免费观看| 亚洲欧美日韩国产手机在线| 国产91综合一区在线观看| 久久中文字幕电影| 免费成人美女在线观看.| 欧美夫妻性生活| 亚洲成人免费电影| 色哟哟日韩精品| 一区二区三区在线观看视频| 94-欧美-setu| 日韩美女啊v在线免费观看| 成人激情午夜影院| 国产精品免费久久久久| www.亚洲精品| 国产精品久久久久影院亚瑟| 成人av片在线观看| 中文字幕一区二区三区四区不卡| 成人永久aaa| 国产精品免费免费| 91美女精品福利| 一区二区三区美女视频| 欧美日韩精品一区二区| 亚欧色一区w666天堂| 7777女厕盗摄久久久| 日韩精品欧美精品| 精品免费99久久| 国产一区二区视频在线| 欧美国产日韩一二三区| 成人免费看视频| 亚洲乱码国产乱码精品精小说| 欧洲一区二区三区在线| 石原莉奈在线亚洲二区| 日韩美一区二区三区| 国产一区二区三区av电影| 欧美激情一区二区三区四区| 丁香婷婷综合五月| 亚洲柠檬福利资源导航| 欧美日韩一区精品| 青娱乐精品在线视频| 久久久久88色偷偷免费| 99在线精品免费| 亚洲第一搞黄网站| 精品日本一线二线三线不卡| 成人国产在线观看| 亚洲不卡在线观看| 欧美一区二区精品在线| 国产老肥熟一区二区三区| 亚洲欧美一区二区三区极速播放 | 日韩亚洲欧美在线| 成人精品在线视频观看| 亚洲午夜精品网| 久久日韩粉嫩一区二区三区| www.亚洲免费av| 日韩福利视频导航| 国产日韩av一区| 在线观看一区不卡| 精品一区二区免费看| 亚洲人成在线播放网站岛国 | 日韩一区二区精品| 成人高清视频免费观看| 午夜精品福利一区二区蜜股av| 精品久久一二三区| 欧洲国内综合视频| 国产精品一区久久久久| 一个色综合网站| 久久综合视频网| 在线精品亚洲一区二区不卡| 国产乱码精品一区二区三| 一区二区三区91| 亚洲国产成人一区二区三区| 91精品婷婷国产综合久久竹菊| 国产99一区视频免费| 婷婷综合久久一区二区三区| 中文字幕不卡在线播放| 日韩欧美国产系列| 色素色在线综合| 国产成人免费视频精品含羞草妖精| 午夜欧美在线一二页| 成人免费视频在线观看| 久久久91精品国产一区二区三区| 欧美三区在线观看| 91麻豆免费在线观看| 国产剧情在线观看一区二区| 日本伊人色综合网|