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

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

?? sysalib.s

?? 來自官方的S3C2410 BSP for VxWorks
?? 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精品国产全国免费观看| 一区二区日韩电影| 欧美另类一区二区三区| 美女看a上一区| 国产午夜精品美女毛片视频| 国产一区二区三区在线观看免费| 国产喷白浆一区二区三区| 成人综合婷婷国产精品久久免费| 国产精品麻豆视频| 一本大道av伊人久久综合| 亚洲成在线观看| 欧美v亚洲v综合ⅴ国产v| 国产尤物一区二区在线| 国产精品你懂的在线欣赏| 在线亚洲欧美专区二区| 丝袜美腿亚洲色图| 久久久国产午夜精品| 91麻豆国产精品久久| 日韩精品乱码av一区二区| 久久色在线视频| 一本色道久久综合亚洲精品按摩| 日韩不卡一区二区三区| 久久精品男人的天堂| 欧美亚洲图片小说| 国产剧情一区二区| 亚洲狼人国产精品| 精品久久久久久久人人人人传媒| 国产精品亚洲第一| 亚洲在线视频免费观看| 精品国产青草久久久久福利| 91欧美激情一区二区三区成人| 日韩 欧美一区二区三区| 国产精品美日韩| 9191国产精品| 99视频一区二区| 久久精品免费看| 亚洲美女屁股眼交| 久久色在线视频| 欧美二区在线观看| 91影视在线播放| 久久99精品久久久| 亚洲成人一区二区| 国产精品久久二区二区| 91麻豆精品国产91| 色综合色综合色综合| 国产在线不卡视频| 日韩精品高清不卡| 亚洲乱码国产乱码精品精的特点| 久久久久久久久久久久久女国产乱 | 在线观看av一区| 盗摄精品av一区二区三区| 日韩激情一区二区| 一区二区三区免费网站| 日本一区二区电影| 欧美v日韩v国产v| 欧美一级在线免费| 欧美日韩精品一区二区三区四区 | 欧美精品一区二区久久久 | 欧美一区午夜精品| 欧美四级电影网| 97久久精品人人做人人爽| 国产精品一区三区| 极品少妇xxxx精品少妇偷拍| 日韩高清国产一区在线| 天堂蜜桃一区二区三区| 午夜不卡av在线| 亚洲一卡二卡三卡四卡无卡久久 | 国产制服丝袜一区| 免费日韩伦理电影| 奇米一区二区三区| 捆绑变态av一区二区三区| 日本不卡一区二区| 日韩电影在线免费观看| 日本不卡在线视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲高清不卡在线观看| 亚洲一区二区高清| 午夜精品久久久久影视| 天使萌一区二区三区免费观看| 夜色激情一区二区| 亚洲综合免费观看高清在线观看| 亚洲色图19p| 一区二区三区在线免费观看| 亚洲精品第一国产综合野| 一区二区三区不卡在线观看 | fc2成人免费人成在线观看播放 | 久久人人超碰精品| 久久久久九九视频| 国产精品电影一区二区三区| 日韩理论在线观看| 亚洲在线免费播放| 日本视频免费一区| 极品少妇一区二区三区精品视频| 国产美女娇喘av呻吟久久| 国产精品一区一区| 91在线视频播放| 欧美日韩在线直播| 日韩三级电影网址| 亚洲国产精品高清| 亚洲午夜久久久久中文字幕久| 天堂一区二区在线| 国产宾馆实践打屁股91| 91女神在线视频| 666欧美在线视频| 久久久www成人免费无遮挡大片| 欧美国产1区2区| 怡红院av一区二区三区| 日本系列欧美系列| 成人综合婷婷国产精品久久蜜臀 | 一区二区三区日韩在线观看| 亚洲成av人片在线| 国产一区视频在线看| 在线亚洲一区观看| 精品久久久久久综合日本欧美 | 日本道精品一区二区三区| 欧美久久一区二区| 久久久久亚洲综合| 亚洲一区二区在线免费看| 国产一区二区精品久久| 色哟哟日韩精品| 久久久久久久久久久久久久久99 | 免费不卡在线观看| 91麻豆国产在线观看| 精品99一区二区| 亚洲综合一区二区| 成人综合婷婷国产精品久久| 欧美老女人第四色| 亚洲精品国产视频| 国产精品99精品久久免费| 欧美喷潮久久久xxxxx| 欧美激情在线一区二区| 蜜臀精品一区二区三区在线观看| 99精品视频一区| 久久久国产午夜精品| 日韩精品一卡二卡三卡四卡无卡| aaa欧美色吧激情视频| 欧美r级电影在线观看| 亚洲一区二区三区自拍| 成人妖精视频yjsp地址| 日韩欧美专区在线| 亚洲第一二三四区| 91麻豆国产精品久久| 日本一区二区免费在线观看视频 | 一区二区三区在线观看国产| 国产成人亚洲综合a∨婷婷图片| 色综合久久中文字幕综合网| 日本一区二区免费在线| 韩国精品久久久| 欧美一区二区三区啪啪| 亚洲一区二区在线观看视频| 99精品在线免费| 亚洲欧洲精品天堂一级| 国产成人aaa| 欧美精品一区二区在线观看| 老色鬼精品视频在线观看播放| 欧美精品一二三四| 一区二区三区视频在线看| 91视频一区二区| 中文字幕av资源一区| 丰满白嫩尤物一区二区| 欧美国产禁国产网站cc| 国产精品夜夜嗨| 国产丝袜欧美中文另类| 国产精一区二区三区| 久久午夜羞羞影院免费观看| 韩国中文字幕2020精品| 精品国一区二区三区| 国产一区二区三区电影在线观看 | 成人免费毛片嘿嘿连载视频| 久久在线观看免费| 国产乱淫av一区二区三区| 亚洲精品在线一区二区| 国产麻豆精品久久一二三| 久久久久久免费网| 岛国精品在线观看| 亚洲欧美激情一区二区| 色视频欧美一区二区三区| 亚洲综合在线观看视频| 欧美精品少妇一区二区三区| 美女一区二区在线观看| 久久综合国产精品| 北条麻妃国产九九精品视频| 国产精品久久久久影院老司 | 久久久久99精品一区| 丁香另类激情小说| 亚洲乱码中文字幕| 欧美日本国产视频| 韩国女主播一区| 亚洲人成人一区二区在线观看| 91精品1区2区| 久久成人久久爱| 国产亚洲欧洲997久久综合 | 国产成人免费在线| 亚洲欧美日本韩国| 欧美一区二区女人| 丁香啪啪综合成人亚洲小说| 夜夜亚洲天天久久|