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

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

?? start.s

?? RT-Thread是發展中的下一代微內核嵌入式實時操作系統
?? S
字號:
/* * File      : start.S * This file is part of RT-Thread RTOS * COPYRIGHT (C) 2006, RT-Thread Development Team * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://openlab.rt-thread.com/license/LICENSE * * Change Logs: * Date           Author       Notes *                Triseel *//*! * \addtogroup AT9200 *//*@{*/#define CONFIG_STACKSIZE 4096.section .init, "ax".code 32.globl _start_start: 	ldr pc, _vector_rst	ldr	pc, _vector_undef	ldr	pc, _vector_swi	ldr	pc, _vector_pabt	ldr	pc, _vector_dabt	ldr	pc, _vector_resv	ldr	pc, _vector_irq	ldr	pc, _vector_fiq_vector_rst   : .word vector_rst_vector_undef:	.word vector_undef_vector_swi:	.word vector_swi_vector_pabt:	.word vector_pabt_vector_dabt:	.word vector_dabt_vector_resv:	.word vector_resv_vector_irq:	.word vector_irq_vector_fiq:	.word vector_fiq	.balignl 16,0xdeadbeef_TEXT_BASE:	.word	TEXT_BASE/* * rtthread kernel start and end * which are defined in linker script */.globl _rtthread_start_rtthread_start:.word _start.globl _rtthread_end_rtthread_end:	.word  _end/* * rtthread bss start and end * which are defined in linker script */.globl _bss_start_bss_start:	.word __bss_start.globl _bss_end_bss_end:	.word __bss_end/* IRQ stack memory (calculated at run-time) */IRQ_STACK_START : .word _irq_stack_start       + 1024FIQ_STACK_START : .word _fiq_stack_start       + 1024UND_STACK_START : .word _undefined_stack_start + 128ABT_STACK_START : .word _abort_stack_start     + 128SVC_STACK_START : .word _svc_stack_start       + 4096#define AT9200_BASE_AIC        	0xFFFFF000#define AT9200_AIC_IDCR_OFF    	0x124  	/*the off of disable all int reg*/#define AT9200_BASE_MC		0xFFFFFF00#define AT9200_MC_RCR_OFF	0x00	/* remap control register offset *//* the system entry */vector_rst :	/* set the cpu to SVC32 mode */	mrs	r0,cpsr	bic	r0,r0,#0x1f	orr	r0,r0,#0x13	msr	cpsr,r0	/* disable 9200 all ints */	ldr	r1, =AT9200_BASE_AIC	ldr	r0, =0xFFFFFFFF	str 	r0, [r1, #AT9200_AIC_IDCR_OFF]	/* remap memory */	ldr 	r1, =AT9200_BASE_MC	mov	r0, #0x01	str	r0, [r1, #AT9200_MC_RCR_OFF]	/* set interrupt vector */	ldr	r0, _TEXT_BASE		@source address 0x20000000, defined in config.local	mov	r1, #0x00			@target address 0x00	add	r2, r0, #0x40		@size, 16 * 4bytescopy_loop:	ldmia	r0!, {r3-r10}	@copy from source address [r0]	stmia	r1!, {r3-r10}	@copy to   target address [r1]	cmp	r0, r2				@until source end addreee [r2]	ble	copy_loop	/* setup stack */	bl	stack_setup	/* clear .bss */	mov   r0,#0                     /* get a zero 				*/	ldr   r1,=__bss_start           /* bss start 				*/	ldr   r2,=__bss_end           	/* bss end 					*/bss_loop:	cmp   r1,r2                     /* check if data to clear 	*/	strlo r0,[r1],#4                /* clear 4 bytes 			*/	blo   bss_loop                  /* loop until done 			*/	/* call C++ constructors of global objects */	ldr 	r0, =__ctors_start__	ldr 	r1, =__ctors_end__ctor_loop:	cmp 	r0, r1	beq 	ctor_end	ldr 	r2, [r0], #4	stmfd 	sp!, {r0-r1}	mov 	lr, pc	bx 		r2	ldmfd 	sp!, {r0-r1}	b 		ctor_loopctor_end:	/* start RT-Thread Kernel */	ldr	pc, _rtthread_startup_rtthread_startup: .word rtthread_startup/* ************************************************************************* * * Interrupt handling * ************************************************************************* */@@ IRQ stack frame.@#define S_FRAME_SIZE	72#define S_OLD_R0	68#define S_PSR		64#define S_PC		60#define S_LR		56#define S_SP		52#define S_IP		48#define S_FP		44#define S_R10		40#define S_R9		36#define S_R8		32#define S_R7		28#define S_R6		24#define S_R5		20#define S_R4		16#define S_R3		12#define S_R2		8#define S_R1		4#define S_R0		0#define USERMODE	0x10#define FIQMODE		0x11#define IRQMODE		0x12#define SVCMODE		0x13#define ABORTMODE	0x17#define UNDEFMODE	0x1b#define MODEMASK	0x1f#define NOINT		0xc0/* * use bad_save_user_regs for abort/prefetch/undef/swi ... */	.macro	bad_save_user_regs	sub	sp, sp, #S_FRAME_SIZE	stmia	sp, {r0 - r12}		@ Calling r0-r12	add     r8, sp, #S_PC	ldr	r2, _rtthread_end	add	r2, r2, #CONFIG_STACKSIZE	sub	r2, r2, #8	ldmia	r2, {r2 - r4}		@ get pc, cpsr, old_r0	add	r0, sp, #S_FRAME_SIZE	@ restore sp_SVC	add	r5, sp, #S_SP	mov	r1, lr	stmia	r5, {r0 - r4}		@ save sp_SVC, lr_SVC, pc, cpsr, old_r	mov	r0, sp	.endm	.macro	get_bad_stack	ldr	r13, _rtthread_end		@ setup our mode stack	add	r13, r13, #CONFIG_STACKSIZE	@ resides at top of normal stack	sub	r13, r13, #8	str	lr, [r13]				@ save caller lr / spsr	mrs	lr, spsr	str     lr, [r13, #4]	mov	r13, #SVCMODE			@ prepare SVC-Mode	msr	spsr_c, r13	mov	lr, pc	movs	pc, lr	.endm/* exception handlers */	.align  5vector_undef:	get_bad_stack	bad_save_user_regs	bl	rt_hw_trap_udef	.align	5vector_swi:	get_bad_stack	bad_save_user_regs	bl 	rt_hw_trap_swi	.align	5vector_pabt:	get_bad_stack	bad_save_user_regs	bl 	rt_hw_trap_pabt	.align	5vector_dabt:	get_bad_stack	bad_save_user_regs	bl 	rt_hw_trap_dabt	.align	5vector_resv:	get_bad_stack	bad_save_user_regs	bl 	rt_hw_trap_resv.globl rt_interrupt_enter.globl rt_interrupt_leave.globl rt_thread_switch_interrput_flag.globl rt_interrupt_from_thread.globl rt_interrupt_to_threadvector_irq:	stmfd	sp!, {r0-r12,lr}	bl	rt_interrupt_enter	bl	rt_hw_trap_irq	bl	rt_interrupt_leave	/* if rt_thread_switch_interrput_flag set, jump to _interrupt_thread_switch and don't return */	ldr	r0, =rt_thread_switch_interrput_flag	ldr	r1, [r0]	cmp	r1, #1	beq	_interrupt_thread_switch	ldmfd	sp!, {r0-r12,lr}	subs	pc, lr, #4	.align	5vector_fiq:	stmfd	sp!,{r0-r7,lr}	bl 	rt_hw_trap_fiq	ldmfd	sp!,{r0-r7,lr}	subs	pc,lr,#4_interrupt_thread_switch:	mov	r1,  #0				@ clear rt_thread_switch_interrput_flag	str	r1,  [r0]	ldmfd	sp!, {r0-r12,lr}@ reload saved registers	stmfd	sp!, {r0-r3}	@ save r0-r3	mov	r1,  sp	add	sp,  sp, #16		@ restore sp	sub	r2,  lr, #4			@ save old task's pc to r2	mrs	r3,  spsr			@ disable interrupt	orr	r0,  r3, #NOINT	msr	spsr_c, r0	ldr	r0,  =.+8			@ switch to interrupted task's stack	movs	pc,  r0	stmfd	sp!, {r2}		@ push old task's pc	stmfd	sp!, {r4-r12,lr}@ push old task's lr,r12-r4	mov	r4,  r1				@ Special optimised code below	mov	r5,  r3	ldmfd	r4!, {r0-r3}	stmfd	sp!, {r0-r3}	@ push old task's r3-r0	stmfd	sp!, {r5}		@ push old task's psr	mrs	r4,  spsr	stmfd	sp!, {r4}		@ push old task's spsr	ldr	r4,  =rt_interrupt_from_thread	ldr	r5,  [r4]	str	sp,  [r5]			@ store sp in preempted tasks's TCB	ldr	r6,  =rt_interrupt_to_thread	ldr	r6,  [r6]	ldr	sp,  [r6]			@ get new task's stack pointer	ldmfd	sp!, {r4}		@ pop new task's spsr	msr	SPSR_cxsf, r4	ldmfd	sp!, {r4}		@ pop new task's psr	msr	CPSR_cxsf, r4	ldmfd	sp!, {r0-r12,lr,pc}	@ pop new task's r0-r12,lr & pc@_interrupt_thread_switch endstack_setup:	/* undefined instruction mode */	msr cpsr_c, #UNDEFMODE|NOINT	ldr sp, UND_STACK_START	/* abort mode */	msr cpsr_c, #ABORTMODE|NOINT	ldr sp, ABT_STACK_START	/* FIQ mode */	msr cpsr_c, #FIQMODE|NOINT	ldr sp, FIQ_STACK_START	/* IRQ mode */	msr cpsr_c, #IRQMODE|NOINT	ldr sp, IRQ_STACK_START	/* supervisor mode */	msr cpsr_c, #SVCMODE|NOINT	ldr sp, SVC_STACK_START	mov	pc,lr				@ The LR register may be not valid for the mode changes.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品你懂的在线| 成人一区二区三区中文字幕| 亚洲电影一级黄| 精品在线一区二区| 99国产精品视频免费观看| 日韩欧美中文一区| 亚洲主播在线播放| 国产suv精品一区二区三区 | 国产精品一区专区| 国产精品色哟哟| 成人午夜看片网址| 亚洲激情一二三区| 国产91精品一区二区| 中文字幕中文字幕一区二区| 蜜桃视频在线观看一区二区| 欧美亚洲日本国产| 一区二区免费在线| 91啪在线观看| 亚洲欧美日韩国产另类专区| 波多野结衣在线aⅴ中文字幕不卡| 欧美videossexotv100| 日本系列欧美系列| 91精品国产综合久久蜜臀| 亚洲福利视频一区二区| 欧洲国内综合视频| 亚洲成人黄色小说| 久久精品人人做| 国产成人在线色| 欧美韩日一区二区三区四区| 国产一二精品视频| 日本一二三不卡| 欧美日韩国产综合一区二区 | 日韩午夜在线影院| 成人看片黄a免费看在线| 亚洲一区二区成人在线观看| 欧美xxxx老人做受| 91黄色激情网站| 依依成人综合视频| 久久众筹精品私拍模特| 国产成人欧美日韩在线电影| 亚洲一二三四在线观看| 国产欧美一区二区三区在线老狼| 欧美日韩一区二区在线观看视频| 亚洲午夜av在线| 欧美激情一区二区三区不卡| 91精品免费观看| 91视频.com| 国产精品一区2区| 日本午夜精品一区二区三区电影 | 亚欧色一区w666天堂| 欧美国产激情一区二区三区蜜月| 欧美挠脚心视频网站| 91年精品国产| 成人免费av网站| 精品在线播放午夜| 视频在线观看一区二区三区| 日韩小视频在线观看专区| 91麻豆免费看| 成人午夜av影视| 国产精品羞羞答答xxdd| 青青国产91久久久久久| 日本一区二区免费在线观看视频| 日韩一区二区高清| 欧美老女人第四色| 粉嫩高潮美女一区二区三区| 九色|91porny| 美女视频免费一区| 久久精品国产99国产精品| 国产欧美日韩综合| 久久久青草青青国产亚洲免观| 91在线观看视频| av电影天堂一区二区在线 | 成人午夜电影久久影院| 欧美日韩五月天| 在线观看欧美精品| 日本黄色一区二区| 欧美亚洲综合久久| 欧美在线影院一区二区| 欧美视频在线观看一区| 欧美视频精品在线观看| 欧美日韩aaaaaa| 欧美肥妇free| 精品三级在线看| 久久久精品黄色| 国产精品女同一区二区三区| 中文字幕一区二区在线播放| 欧美一级xxx| 精品日韩欧美一区二区| 精品裸体舞一区二区三区| ww亚洲ww在线观看国产| 日本一区二区三区四区在线视频| 国产精品久久久久aaaa樱花| 亚洲免费在线视频| 亚洲bdsm女犯bdsm网站| 蜜臀精品一区二区三区在线观看| 精品一区二区三区影院在线午夜 | 国产精品一区久久久久| 国产·精品毛片| 色素色在线综合| 成人黄色小视频| 国产精品资源在线看| 成人av电影免费观看| 在线观看中文字幕不卡| 91精品国产高清一区二区三区| 91福利在线导航| 91精品国产福利| 国产日韩精品一区二区三区在线| 亚洲欧美在线视频| 日韩精品乱码免费| 国产99久久久久| 在线观看av一区二区| 91精品午夜视频| 中文字幕的久久| 亚洲1区2区3区4区| 国产成人自拍网| 欧美偷拍一区二区| 久久久亚洲欧洲日产国码αv| 亚洲欧美成人一区二区三区| 奇米影视一区二区三区小说| av中文字幕亚洲| 91精品国产乱| 亚洲靠逼com| 国内精品第一页| 懂色一区二区三区免费观看| 欧美午夜一区二区三区| 国产清纯在线一区二区www| 亚洲va在线va天堂| 99久久久免费精品国产一区二区| 制服丝袜日韩国产| 国产精品美女久久久久久久久久久| 午夜国产不卡在线观看视频| 日本亚洲一区二区| 99久久精品久久久久久清纯| 欧美一卡二卡三卡四卡| 亚洲激情自拍偷拍| 成人激情文学综合网| 欧美一区二区三区视频免费| 亚洲人精品一区| 国产精品一二三四五| 欧美日韩国产首页在线观看| 国产精品久久久久久久裸模| 久久国产尿小便嘘嘘尿| 欧美日韩中文字幕一区| 中文字幕在线观看一区二区| 国内精品在线播放| 91精品免费观看| 午夜精品在线视频一区| 色欧美乱欧美15图片| 国产精品色眯眯| 国产乱人伦偷精品视频不卡| 欧美一区二区啪啪| 午夜成人在线视频| 欧美性猛片xxxx免费看久爱| 国产精品久久久久久久久久免费看 | 一区在线观看视频| 国产a区久久久| 国产日韩欧美综合一区| 韩国成人福利片在线播放| 91精品国产丝袜白色高跟鞋| 亚洲成精国产精品女| 日本精品免费观看高清观看| 亚洲美女视频在线| 97se狠狠狠综合亚洲狠狠| 国产精品久久久久久久久动漫 | 国产精品久久久久久久久果冻传媒 | 亚洲综合成人在线| 99精品视频在线观看免费| 国产精品毛片大码女人| 成人av在线影院| 国产精品久久二区二区| 99久久精品国产麻豆演员表| 亚洲欧洲精品一区二区三区| 99久久99久久精品免费观看| 亚洲人成网站影音先锋播放| 91美女片黄在线观看| 一区二区三区成人| 在线亚洲+欧美+日本专区| 亚洲一区二区三区四区在线免费观看| 91在线国内视频| 亚洲国产一区二区视频| 欧美日本免费一区二区三区| 日一区二区三区| 2017欧美狠狠色| 国产69精品久久777的优势| 1区2区3区国产精品| 在线观看视频一区| 青青青伊人色综合久久| 欧美精品一区二| 成人av集中营| 亚洲一区免费观看| 欧美一区二区三区白人| 国产一区二区三区电影在线观看| 国产肉丝袜一区二区| 91视频91自| 日韩成人午夜精品| 亚洲国产精品av| 欧美天堂一区二区三区| 久久99国产乱子伦精品免费| 国产精品美女久久久久av爽李琼 | 国产成人综合自拍|