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

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

?? sysalib.s

?? 三星公司出arm7內(nèi)核4510VXWORKS環(huán)境下驅(qū)動(dòng)開發(fā)包
?? S
字號(hào):
/* sysALib.s - Samsung SNDS100 system-dependent routines */

/* Copyright 1996-1998 Wind River Systems, Inc. */
        .data
	.globl  _copyright_wind_river
	.long   _copyright_wind_river

/*
modification history
--------------------
01a,20aug99,ak/knp adapted from pid7t BSP file
*/

/*

DESCRIPTION
This 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 and the interrupt
controller and sets the initial stack pointer.  Other hardware and
device initialisation is performed later in the sysHwInit routine in
sysLib.c.

NOTE
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 "arch/arm/arm.h"
#if (CPU == ARM710A)
#include "arch/arm/mmuArmLib.h"
#endif
#include "regs.h"
#include "sysLib.h"
#include "config.h"
#include "snds100.h"

/* internals */

	.globl	_sysInit		/* start of system code */
	.globl	_sysIntStackSplit	/* routine to split interrupt stack */

/* externals */

	.extern	_usrInit		/* system initialization routine */

	.extern	_vxSvcIntStackBase	/* base of SVC-mode interrupt stack */
	.extern	_vxSvcIntStackEnd	/* end of SVC-mode interrupt stack */
	.extern	_vxIrqIntStackBase	/* base of IRQ-mode interrupt stack */
	.extern	_vxIrqIntStackEnd	/* end of IRQ-mode interrupt stack */


/*******************************************************************************
*
* 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)

	/* disable interrupts and force SVC32 mode, just like reset */

	MRS	r1, cpsr
	BIC	r1, r1, #MASK_MODE
	ORR	r1, r1, #MODE_SVC32 | I_BIT | F_BIT
	MSR	cpsr, r1

	/*
	 * 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 */

	/* set initial stack pointer so stack grows down from start of code */

	LDR	sp, L$_STACK_ADDR
	MOV	fp, #0			/* zero frame pointer */

   /* Call C_Entry application routine with a pointer to the first */
   /* available memory address after ther compiler's global data */
   /* This memory may be used by the application. */

	/* now call usrInit */

	MOV	fp, #0			/* initialise frame pointer */
	MOV	r0, #BOOT_WARM_AUTOBOOT	/* pass startType */

#if	(CPU == ARM7TDMI_T)
	LDR	r12, L$_usrInit
	BX	r12
#else
	B	_usrInit
#endif	/* (CPU == ARM7TDMI_T) */


/*******************************************************************************
*
* 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	(CPU == ARM7TDMI_T)
	BX	lr
#else
	MOV	pc, lr
#endif	/* (CPU == ARM7TDMI_T) */

/******************************************************************************/

/*
 * PC-relative-addressable pointers - LDR Rn,=sym is broken
 * note "_" after "$" to stop preprocessor preforming substitution
 */

	.balign	4

L$_vxSvcIntStackBase:
	.long	_vxSvcIntStackBase

L$_vxSvcIntStackEnd:
	.long	_vxSvcIntStackEnd

L$_vxIrqIntStackBase:
	.long	_vxIrqIntStackBase

L$_vxIrqIntStackEnd:
	.long	_vxIrqIntStackEnd

#if	(CPU == ARM7TDMI_T)
L$_usrInit:
	.long	_usrInit
#endif	/* (CPU == ARM7TDMI_T) */

#if	(CPU == ARM710A)
L$_sysCacheSwapVar:
	.long   sysCacheSwapVar
#endif

L$_STACK_ADDR:
	.long	_sysInit

L$_SndsIntmsk:
	.long SNDS_INTMASK

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频一区二区| www.在线成人| 欧美天堂亚洲电影院在线播放| 国产亚洲欧美日韩在线一区| 日本美女视频一区二区| 91黄色免费网站| 亚洲国产成人av网| 日本韩国欧美三级| 怡红院av一区二区三区| 在线亚洲欧美专区二区| 色悠悠久久综合| 国产精品对白交换视频 | 在线亚洲免费视频| 亚洲另类色综合网站| 91丝袜美女网| 天天影视网天天综合色在线播放| 在线视频综合导航| 美腿丝袜在线亚洲一区| 成人午夜av电影| 日韩美女久久久| 51精品秘密在线观看| 在线亚洲一区二区| 丝袜亚洲另类欧美| 精品国产污污免费网站入口| 国产激情偷乱视频一区二区三区| 国产精品色在线观看| 欧美体内she精高潮| 狠狠网亚洲精品| 亚洲网友自拍偷拍| 久久人人超碰精品| 欧美性猛片xxxx免费看久爱| 国产一区二区三区黄视频 | 中文字幕日韩一区| 欧美日韩亚洲综合一区二区三区 | 亚洲欧美激情插| 久久一夜天堂av一区二区三区| av中文字幕一区| 美女国产一区二区| 午夜影院久久久| 亚洲精品欧美专区| 亚洲欧洲韩国日本视频| 欧美成人性福生活免费看| 欧洲在线/亚洲| 99久久久精品| 成人av片在线观看| 国产激情视频一区二区在线观看 | 久久国产婷婷国产香蕉| 亚洲一区在线看| 亚洲国产精品久久久久婷婷884| 国产精品久久免费看| 国产欧美日韩在线看| 日韩在线卡一卡二| 一区二区三区av电影| 午夜久久久久久久久久一区二区| 日韩成人免费电影| 亚洲免费av观看| 7777精品久久久大香线蕉| 日韩国产精品久久久久久亚洲| 国产精品私人自拍| 日韩一区二区在线观看视频播放| 中文字幕在线一区免费| 国产视频911| 中文字幕 久热精品 视频在线| 久久久久久**毛片大全| 欧美极品美女视频| 国产目拍亚洲精品99久久精品| 久久久精品tv| 国产精品久久午夜夜伦鲁鲁| 亚洲欧美日韩中文字幕一区二区三区| 中文字幕在线不卡视频| 国产精品国产三级国产aⅴ中文 | 国产91在线观看丝袜| 国产精品香蕉一区二区三区| 91丨九色丨尤物| 9191国产精品| 国产精品久久影院| 日韩国产欧美在线播放| 懂色一区二区三区免费观看| 日本精品裸体写真集在线观看| 欧美一区二区网站| 久久久久久久久久久久电影| 亚洲午夜久久久久中文字幕久| 韩日欧美一区二区三区| 欧美亚洲禁片免费| 日本一区二区免费在线观看视频| 亚洲国产精品人人做人人爽| 国产一区免费电影| 91精品一区二区三区久久久久久| 国产婷婷色一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 国产91丝袜在线播放0| 日韩小视频在线观看专区| 亚洲精品成人少妇| 成人激情小说乱人伦| 国产三级一区二区| 狠狠色综合日日| 欧美成人高清电影在线| 日韩成人一级片| 欧美精品自拍偷拍| 香蕉久久一区二区不卡无毒影院| 99久久久久免费精品国产| 久久久久久一二三区| 久久99精品国产91久久来源| 欧美大片拔萝卜| 美女在线一区二区| 日韩你懂的在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 欧美大片一区二区三区| 久久99精品国产.久久久久久| 在线综合视频播放| 日韩激情视频在线观看| 欧美精品精品一区| 久久这里只有精品首页| 亚洲国产精品ⅴa在线观看| 美女视频黄久久| 国产女人18水真多18精品一级做| 国产精品一区不卡| 中文字幕精品一区二区三区精品| 成人18精品视频| 午夜精品一区二区三区免费视频| 91精品国产综合久久精品图片| 久久精品国产免费| 综合久久久久久| 欧美一区二区黄色| 99精品国产91久久久久久| 日韩成人一区二区| 丁香婷婷综合网| 色系网站成人免费| 日韩激情中文字幕| 尤物在线观看一区| 国产日韩影视精品| 777欧美精品| 欧美亚洲禁片免费| 99久久免费国产| 激情欧美一区二区三区在线观看| 亚洲精品五月天| 国产精品灌醉下药二区| 久久久久久久免费视频了| 91精品免费在线观看| 欧美日韩国产综合久久| 97国产一区二区| av中文字幕一区| 不卡电影一区二区三区| 成人一区二区三区视频| 精品一区二区三区视频| 老司机精品视频导航| 日本91福利区| 久久精品国产在热久久| 波多野结衣的一区二区三区| 午夜精品成人在线| 亚洲综合精品久久| 精品国产乱码久久久久久1区2区 | 色综合天天综合狠狠| 一区二区三区在线观看视频| 日韩欧美在线网站| 99re这里都是精品| av资源网一区| 国产98色在线|日韩| 成+人+亚洲+综合天堂| kk眼镜猥琐国模调教系列一区二区| 精品一区二区三区不卡| 麻豆成人91精品二区三区| 高清在线不卡av| 在线免费亚洲电影| 日韩欧美国产麻豆| 中文字幕人成不卡一区| 一区二区三区久久久| 婷婷丁香久久五月婷婷| 国产精品主播直播| 欧美日韩国产片| 久久夜色精品国产欧美乱极品| 中文字幕中文字幕一区二区| 亚洲大片在线观看| 国产老肥熟一区二区三区| 成人免费福利片| 91精品国产黑色紧身裤美女| 国产精品久久久久影院老司| 美美哒免费高清在线观看视频一区二区 | 国产激情一区二区三区| 91久久免费观看| 日韩欧美另类在线| 亚洲免费av高清| 国产精品影视网| 欧美日韩色一区| 国产欧美日韩中文久久| 毛片不卡一区二区| 欧美高清视频在线高清观看mv色露露十八| 欧美精品一区二区三区很污很色的| 国产精品久久久久久久久久免费看 | 欧美激情综合网| 精品一区二区免费| 91精彩视频在线| 国产精品久久久久影院亚瑟 | 欧美电影免费提供在线观看| 日韩精品1区2区3区| 色综合久久中文字幕| 日本一区二区免费在线观看视频| 日本vs亚洲vs韩国一区三区二区| 欧美在线免费视屏| 亚洲乱码国产乱码精品精98午夜|