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

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

?? sysalib.s

?? 4510b的vxworks的BSP
?? S
字號:
/* 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一二精品视频| 三级久久三级久久| 欧美www视频| 91精品国产综合久久久久久久久久 | 国产一区在线视频| 偷拍一区二区三区| 午夜成人免费视频| 蜜臀av一区二区在线免费观看| 亚洲国产另类精品专区| 亚洲国产日韩在线一区模特 | 欧美日韩一区三区四区| 欧美撒尿777hd撒尿| 在线中文字幕一区二区| 在线视频一区二区免费| 欧美日韩高清一区二区不卡| 日本道色综合久久| 日韩片之四级片| 久久精品免视看| 自拍偷自拍亚洲精品播放| 一区二区三区欧美在线观看| 日日摸夜夜添夜夜添国产精品| 日韩激情视频在线观看| 国产一区免费电影| 成人av免费在线观看| 91国产精品成人| 欧美一二三四区在线| 2023国产精品| 洋洋成人永久网站入口| 精品在线你懂的| av在线播放一区二区三区| 日本黄色一区二区| 日韩美女主播在线视频一区二区三区| 精品日本一线二线三线不卡| 中文乱码免费一区二区| 天天色 色综合| 国产高清亚洲一区| 欧美日韩亚洲综合一区二区三区| 欧美mv和日韩mv的网站| 亚洲欧美欧美一区二区三区| 开心九九激情九九欧美日韩精美视频电影 | 欧美激情资源网| 亚洲国产视频一区| 高清日韩电视剧大全免费| 欧美视频一二三区| 国产女同性恋一区二区| 亚洲国产成人va在线观看天堂| 国产成人免费在线视频| 欧美美女一区二区| 日韩美女精品在线| 国产一区二区免费视频| 91麻豆精品国产无毒不卡在线观看| 国产精品色眯眯| 奇米在线7777在线精品| 色噜噜久久综合| 国产精品无遮挡| 精品一区二区在线免费观看| 欧美日韩国产另类一区| 亚洲人成人一区二区在线观看 | 亚洲欧美电影一区二区| 国产麻豆一精品一av一免费| 91精品麻豆日日躁夜夜躁| 亚洲综合精品久久| 91免费精品国自产拍在线不卡| 精品国产凹凸成av人导航| 五月天丁香久久| 欧美专区日韩专区| 亚洲美女免费在线| 成人sese在线| 中文字幕一区二区不卡 | 亚洲午夜影视影院在线观看| 国产69精品久久久久777| 久久久久国产成人精品亚洲午夜| 麻豆免费精品视频| 91精品国产福利在线观看| 香蕉乱码成人久久天堂爱免费| 91视频一区二区三区| 日韩码欧中文字| 日本道免费精品一区二区三区| 亚洲情趣在线观看| 色综合久久天天| 一区二区三区四区中文字幕| 色999日韩国产欧美一区二区| 国产精品―色哟哟| 在线观看国产日韩| 亚洲国产cao| 日韩欧美一卡二卡| 精品无人码麻豆乱码1区2区| 久久久高清一区二区三区| 国产成a人亚洲| 国产精品成人免费| 色噜噜久久综合| 日韩精品乱码免费| 精品少妇一区二区三区日产乱码| 国内精品久久久久影院色| 精品国产亚洲一区二区三区在线观看| 极品瑜伽女神91| 亚洲国产精品成人久久综合一区| av一区二区三区| 五月激情六月综合| 日韩一区二区电影在线| 国产成人无遮挡在线视频| 亚洲人成网站精品片在线观看| 欧美日韩国产a| 国产在线看一区| 亚洲视频一区在线观看| 7777精品伊人久久久大香线蕉的| 久久99精品国产麻豆婷婷| 国产精品情趣视频| 欧美日韩一区精品| 国产一区二三区好的| 亚洲在线一区二区三区| 日韩美女视频一区二区在线观看| 懂色一区二区三区免费观看| 亚洲一区二区四区蜜桃| www成人在线观看| 欧美亚洲综合一区| 国产精品亚洲一区二区三区在线| 亚洲欧洲性图库| 日韩一区二区免费电影| 97超碰欧美中文字幕| 另类欧美日韩国产在线| 亚洲精品视频在线| www国产成人| 91麻豆精品久久久久蜜臀 | 欧美日韩不卡在线| 成人精品一区二区三区四区| 首页欧美精品中文字幕| 中文字幕一区二区三区色视频| 欧美变态口味重另类| 色噜噜夜夜夜综合网| 粉嫩aⅴ一区二区三区四区五区| 亚洲成av人在线观看| 亚洲图片激情小说| 久久久噜噜噜久噜久久综合| 欧美日韩不卡在线| 欧美中文字幕一区二区三区| 不卡一区中文字幕| 国产老妇另类xxxxx| 亚洲成人免费电影| 亚洲精品一卡二卡| 国产精品乱码久久久久久| 久久蜜桃一区二区| 日韩免费观看高清完整版| 7777精品伊人久久久大香线蕉完整版| 色婷婷综合中文久久一本| 成年人午夜久久久| 国产不卡高清在线观看视频| 另类小说一区二区三区| 美女看a上一区| 青青草国产成人av片免费 | 精品久久久久久久久久久久包黑料| 99久久精品久久久久久清纯| 国产成人自拍在线| 国产麻豆精品视频| 国产成人一区二区精品非洲| 韩国精品一区二区| 国产aⅴ综合色| 成人高清视频免费观看| 成人黄色大片在线观看| 91在线小视频| 色综合一个色综合亚洲| 91看片淫黄大片一级在线观看| 国产精品一线二线三线精华| 国产99精品国产| 成人h版在线观看| 成人99免费视频| 91视频免费播放| 欧美系列亚洲系列| 5月丁香婷婷综合| 日韩午夜激情电影| 欧美激情在线一区二区| 国产欧美视频一区二区| 亚洲色图欧美激情| 性做久久久久久免费观看 | 国产亚洲va综合人人澡精品| 久久这里只精品最新地址| 国产精品免费丝袜| 亚洲一区二区在线播放相泽| 日本伊人色综合网| 国产一区二区三区久久久| 91免费版在线| 69堂亚洲精品首页| 国产女人18毛片水真多成人如厕 | 日产精品久久久久久久性色| 精品影视av免费| 99re这里只有精品6| 欧美一二区视频| 国产精品国产三级国产a| 天堂影院一区二区| 国产精品一区二区不卡| 在线精品视频小说1| 欧美成人精品二区三区99精品| 中文字幕一区二区在线观看| 午夜国产精品影院在线观看| 国产成人免费视频网站高清观看视频| 色999日韩国产欧美一区二区| 久久婷婷综合激情| 亚洲国产成人av好男人在线观看| 看国产成人h片视频| 日本精品裸体写真集在线观看|