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

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

?? portisr.c

?? FreeRTOS V4.2.1,增加了AVR32 UC3 和 LPC2368 的支持
?? C
字號(hào):
/*
	FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry.

	This file is part of the FreeRTOS.org distribution.

	FreeRTOS.org is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or
	(at your option) any later version.

	FreeRTOS.org is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with FreeRTOS.org; if not, write to the Free Software
	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

	A special exception to the GPL can be applied should you wish to distribute
	a combined work that includes FreeRTOS.org, without being obliged to provide
	the source code for any proprietary components.  See the licensing section 
	of http://www.FreeRTOS.org for full details of how and when the exception
	can be applied.

	***************************************************************************
	See http://www.FreeRTOS.org for documentation, latest information, license 
	and contact details.  Please ensure to read the configuration and relevant 
	port sections of the online documentation.

	Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along
	with commercial development and support options.
	***************************************************************************
*/


/*-----------------------------------------------------------
 * Components that can be compiled to either ARM or THUMB mode are
 * contained in port.c  The ISR routines, which can only be compiled
 * to ARM mode, are contained in this file.
 *----------------------------------------------------------*/

/*
*/

/* Scheduler includes. */
#include "FreeRTOS.h"
#include "task.h"

/* Constants required to handle critical sections. */
#define portNO_CRITICAL_NESTING		( ( unsigned portLONG ) 0 )

volatile unsigned portLONG ulCriticalNesting = 9999UL;

/*-----------------------------------------------------------*/

/* 
 * The scheduler can only be started from ARM mode, hence the inclusion of this
 * function here.
 */
void vPortISRStartFirstTask( void );
/*-----------------------------------------------------------*/

void vPortISRStartFirstTask( void )
{
	/* Simply start the scheduler.  This is included here as it can only be
	called from ARM mode. */
	asm volatile (														\
	"LDR		R0, =pxCurrentTCB								\n\t"	\
	"LDR		R0, [R0]										\n\t"	\
	"LDR		LR, [R0]										\n\t"	\
																		\
	/* The critical nesting depth is the first item on the stack. */	\
	/* Load it into the ulCriticalNesting variable. */					\
	"LDR		R0, =ulCriticalNesting							\n\t"	\
	"LDMFD	LR!, {R1}											\n\t"	\
	"STR		R1, [R0]										\n\t"	\
																		\
	/* Get the SPSR from the stack. */									\
	"LDMFD	LR!, {R0}											\n\t"	\
	"MSR		SPSR, R0										\n\t"	\
																		\
	/* Restore all system mode registers for the task. */				\
	"LDMFD	LR, {R0-R14}^										\n\t"	\
	"NOP														\n\t"	\
																		\
	/* Restore the return address. */									\
	"LDR		LR, [LR, #+60]									\n\t"	\
																		\
	/* And return - correcting the offset in the LR to obtain the */	\
	/* correct address. */												\
	"SUBS PC, LR, #4											\n\t"	\
	);																	
}
/*-----------------------------------------------------------*/

void vPortTickISR( void )
{
	/* Increment the RTOS tick count, then look for the highest priority 
	task that is ready to run. */
	vTaskIncrementTick();
	
	#if configUSE_PREEMPTION == 1
		vTaskSwitchContext();
	#endif
			
	/* Ready for the next interrupt. */
	TB_ClearITPendingBit( TB_IT_Update );	
}

/*-----------------------------------------------------------*/

/*
 * The interrupt management utilities can only be called from ARM mode.  When
 * THUMB_INTERWORK is defined the utilities are defined as functions here to
 * ensure a switch to ARM mode.  When THUMB_INTERWORK is not defined then
 * the utilities are defined as macros in portmacro.h - as per other ports.
 */
#ifdef THUMB_INTERWORK

	void vPortDisableInterruptsFromThumb( void ) __attribute__ ((naked));
	void vPortEnableInterruptsFromThumb( void ) __attribute__ ((naked));

	void vPortDisableInterruptsFromThumb( void )
	{
		asm volatile ( 
			"STMDB	SP!, {R0}		\n\t"	/* Push R0.									*/
			"MRS	R0, CPSR		\n\t"	/* Get CPSR.								*/
			"ORR	R0, R0, #0xC0	\n\t"	/* Disable IRQ, FIQ.						*/
			"MSR	CPSR, R0		\n\t"	/* Write back modified value.				*/
			"LDMIA	SP!, {R0}		\n\t"	/* Pop R0.									*/
			"BX		R14" );					/* Return back to thumb.					*/
	}
			
	void vPortEnableInterruptsFromThumb( void )
	{
		asm volatile ( 
			"STMDB	SP!, {R0}		\n\t"	/* Push R0.									*/	
			"MRS	R0, CPSR		\n\t"	/* Get CPSR.								*/	
			"BIC	R0, R0, #0xC0	\n\t"	/* Enable IRQ, FIQ.							*/	
			"MSR	CPSR, R0		\n\t"	/* Write back modified value.				*/	
			"LDMIA	SP!, {R0}		\n\t"	/* Pop R0.									*/
			"BX		R14" );					/* Return back to thumb.					*/
	}

#endif /* THUMB_INTERWORK */
/*-----------------------------------------------------------*/

void vPortEnterCritical( void )
{
	/* Disable interrupts as per portDISABLE_INTERRUPTS(); 							*/
	asm volatile ( 
		"STMDB	SP!, {R0}			\n\t"	/* Push R0.								*/
		"MRS	R0, CPSR			\n\t"	/* Get CPSR.							*/
		"ORR	R0, R0, #0xC0		\n\t"	/* Disable IRQ, FIQ.					*/
		"MSR	CPSR, R0			\n\t"	/* Write back modified value.			*/
		"LDMIA	SP!, {R0}" );				/* Pop R0.								*/

	/* Now interrupts are disabled ulCriticalNesting can be accessed 
	directly.  Increment ulCriticalNesting to keep a count of how many times
	portENTER_CRITICAL() has been called. */
	ulCriticalNesting++;
}
/*-----------------------------------------------------------*/

void vPortExitCritical( void )
{
	if( ulCriticalNesting > portNO_CRITICAL_NESTING )
	{
		/* Decrement the nesting count as we are leaving a critical section. */
		ulCriticalNesting--;

		/* If the nesting level has reached zero then interrupts should be
		re-enabled. */
		if( ulCriticalNesting == portNO_CRITICAL_NESTING )
		{
			/* Enable interrupts as per portEXIT_CRITICAL().					*/
			asm volatile ( 
				"STMDB	SP!, {R0}		\n\t"	/* Push R0.						*/	
				"MRS	R0, CPSR		\n\t"	/* Get CPSR.					*/	
				"BIC	R0, R0, #0xC0	\n\t"	/* Enable IRQ, FIQ.				*/	
				"MSR	CPSR, R0		\n\t"	/* Write back modified value.	*/	
				"LDMIA	SP!, {R0}" );			/* Pop R0.						*/
		}
	}
}





?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久av资源网| 亚洲高清免费一级二级三级| 精品一区二区综合| 精品国产乱码久久久久久老虎| 日本不卡的三区四区五区| 欧美成人精品1314www| www.av精品| 亚洲丝袜精品丝袜在线| 欧美综合一区二区三区| 香蕉成人伊视频在线观看| 91精品婷婷国产综合久久| 久久99久久精品| 国产精品美女久久久久久久久久久 | 国产在线播放一区三区四| 精品免费99久久| 丰满少妇在线播放bd日韩电影| 综合激情成人伊人| 欧美日韩国产bt| 国产一区在线观看视频| 国产精品美女一区二区三区| 91国产福利在线| 捆绑紧缚一区二区三区视频| 国产三区在线成人av| 日本精品一级二级| 国产电影精品久久禁18| 亚洲综合区在线| xfplay精品久久| 色婷婷久久久久swag精品| 日本美女一区二区| 国产精品麻豆网站| 91精品国产高清一区二区三区蜜臀| 国产精品亚洲午夜一区二区三区| 亚洲嫩草精品久久| 精品久久久久久久久久久久久久久久久 | 免费在线视频一区| 中文字幕中文字幕一区| 在线播放中文字幕一区| 成人短视频下载| 美女性感视频久久| 一区二区三区四区av| 久久综合久久综合久久综合| 欧洲生活片亚洲生活在线观看| 国产一区在线不卡| 亚洲mv在线观看| 国产精品久久久久久妇女6080| 欧美一区二区三区在线| 一本高清dvd不卡在线观看 | 亚洲一区二区av在线| 久久你懂得1024| 欧美日韩中文字幕一区| 粉嫩一区二区三区在线看| 麻豆精品视频在线| 图片区小说区区亚洲影院| 久久国产精品区| 亚洲综合免费观看高清完整版 | 欧美精品三级在线观看| 99riav一区二区三区| 国产一区 二区 三区一级| 日韩成人精品在线观看| 亚洲一区二区三区四区的| 日韩理论电影院| 欧美激情一区二区三区蜜桃视频| 日韩一本二本av| 91麻豆精品国产91| 欧美日韩久久久| 日本电影亚洲天堂一区| 91啪亚洲精品| 99久久久久久| 91丨九色porny丨蝌蚪| 国产99久久精品| 国产麻豆精品theporn| 国产在线国偷精品产拍免费yy | 精品国产伦理网| 精品卡一卡二卡三卡四在线| 日韩欧美国产麻豆| 欧美一区二区三区精品| 日韩手机在线导航| 欧美一区二区三区电影| 精品久久免费看| 精品粉嫩超白一线天av| 久久嫩草精品久久久久| 久久久综合视频| 国产女人水真多18毛片18精品视频| 精品久久久久久亚洲综合网| 精品国产露脸精彩对白| 久久免费午夜影院| 国产精品狼人久久影院观看方式| 中文字幕在线不卡一区| 亚洲精品视频自拍| 成人激情图片网| 成人黄色电影在线| 91同城在线观看| 欧美日本乱大交xxxxx| 欧美一区二区女人| 久久久五月婷婷| 国产精品久久久爽爽爽麻豆色哟哟 | 国产农村妇女毛片精品久久麻豆| 国产欧美一区二区在线| 亚洲色图丝袜美腿| 亚洲国产乱码最新视频| 另类人妖一区二区av| 成人美女视频在线观看18| 91麻豆免费在线观看| 欧美精品一二三区| 久久精品人人爽人人爽| 亚洲精品一二三| 久久草av在线| av一二三不卡影片| 91麻豆精品国产91久久久久久| 久久综合色播五月| 夜夜嗨av一区二区三区网页| 男女男精品视频| 不卡免费追剧大全电视剧网站| 欧美性色黄大片| 国产亚洲一二三区| 亚洲午夜视频在线| 国产成人精品综合在线观看| 在线视频一区二区免费| 久久亚洲精品国产精品紫薇| 一区二区在线电影| 国产在线播放一区三区四| 91麻豆123| 久久青草国产手机看片福利盒子| 亚洲伦在线观看| 国产毛片精品国产一区二区三区| 色综合中文综合网| 国产九色sp调教91| 91福利国产精品| 国产欧美日韩综合精品一区二区| 亚洲一区二区三区四区的| 成人性生交大合| 日韩精品一区二区三区视频在线观看 | 国产精品污网站| 日韩av在线播放中文字幕| 不卡高清视频专区| 久久综合给合久久狠狠狠97色69| 一区二区三区加勒比av| 高清久久久久久| 精品国产免费人成在线观看| 亚洲一二三区在线观看| 懂色av中文字幕一区二区三区| 欧美一区二区三区四区高清| 亚洲欧美日韩国产手机在线| 国产一区日韩二区欧美三区| 69堂精品视频| 亚洲成人资源网| 欧美中文字幕亚洲一区二区va在线| 久久婷婷国产综合精品青草| 日本成人在线网站| 欧美日免费三级在线| 怡红院av一区二区三区| 99re成人精品视频| 国产精品久久久久影院亚瑟| 国产福利电影一区二区三区| 久久丝袜美腿综合| 国产综合一区二区| 日韩视频一区在线观看| 亚洲大片精品永久免费| 在线观看91视频| 樱桃国产成人精品视频| 91国偷自产一区二区开放时间| 一区在线观看视频| 99精品久久99久久久久| 国产精品国产馆在线真实露脸| 高清shemale亚洲人妖| 国产午夜精品久久| 懂色av一区二区三区免费看| 久久精品欧美一区二区三区麻豆| 国产精品亚洲一区二区三区妖精| 久久丝袜美腿综合| 成人黄色在线看| 亚洲色图视频免费播放| 91福利视频在线| 亚洲国产精品久久久久秋霞影院| 欧美日韩在线三区| 热久久一区二区| 久久女同精品一区二区| 国产成人免费视频网站高清观看视频| 久久久影视传媒| 不卡在线观看av| 一区二区三区小说| 欧美色图激情小说| 免费高清在线一区| 久久精品一区八戒影视| 99久久伊人精品| 亚洲国产综合视频在线观看| 9191国产精品| 国产一区二区三区免费观看| 国产精品久久久久久久久晋中| 色婷婷综合久久久| 日本vs亚洲vs韩国一区三区二区| 欧美成人女星排名| www.亚洲激情.com| 亚洲成人综合在线| 亚洲精品在线三区| 97久久人人超碰| 日本不卡一二三| 成人欧美一区二区三区白人| 欧美日韩极品在线观看一区| 精品一区二区三区av|