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

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

?? portmacro.h

?? FreeRTOS is a portable, open source, mini Real Time Kernel - a free to download and royalty free RTO
?? H
字號:
/*
    FreeRTOS V4.1.1 - Copyright (C) 2003-2006 Richard Barry.
    MCF5235 Port - Copyright (C) 2006 Christian Walter.

    This file is part of the FreeRTOS distribution.

    FreeRTOS 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 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; 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, 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.

    ***************************************************************************
    ***************************************************************************
    *                                                                         *
    * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *
	*                                                                         *
	* This is a concise, step by step, 'hands on' guide that describes both   *
	* general multitasking concepts and FreeRTOS specifics. It presents and   *
	* explains numerous examples that are written using the FreeRTOS API.     *
	* Full source code for all the examples is provided in an accompanying    *
	* .zip file.                                                              *
    *                                                                         *
    ***************************************************************************
    ***************************************************************************

	Please ensure to read the configuration and relevant port sections of the
	online documentation.

	http://www.FreeRTOS.org - Documentation, latest information, license and 
	contact details.

	http://www.SafeRTOS.com - A version that is certified for use in safety 
	critical systems.

	http://www.OpenRTOS.com - Commercial support, development, porting, 
	licensing and training services.
*/

#ifndef PORTMACRO_H
#define PORTMACRO_H

#ifdef __cplusplus
extern "C" {
#endif

/* ------------------------ Data types for Coldfire ----------------------- */
#define portCHAR        char
#define portFLOAT       float
#define portDOUBLE      double
#define portLONG        long
#define portSHORT       short
#define portSTACK_TYPE  unsigned int
#define portBASE_TYPE   int

#if( USE_16_BIT_TICKS == 1 )
    typedef unsigned portSHORT portTickType;
    #define portMAX_DELAY ( portTickType ) 0xffff
#else
    typedef unsigned portLONG portTickType;
    #define portMAX_DELAY ( portTickType ) 0xffffffff
#endif

/* ------------------------ Architecture specifics ------------------------ */
#define portSTACK_GROWTH                ( -1 )
#define portTICK_RATE_MS                ( ( portTickType ) 1000 / configTICK_RATE_HZ )
#define portBYTE_ALIGNMENT              4

#define portTRAP_YIELD                  0   /* Trap 0 */
#define portIPL_MAX                     7   /* Only NMI interrupt 7 allowed. */

/* ------------------------ FreeRTOS macros for port ---------------------- */

/*
 * This function must be called when the current state of the active task
 * should be stored. It must be called immediately after exception
 * processing from the CPU, i.e. there exists a Coldfire exception frame at
 * the current position in the stack. The function reserves space on
 * the stack for the CPU registers and other task dependent values (e.g
 * ulCriticalNesting) and updates the top of the stack in the TCB.
 */
#define portSAVE_CONTEXT()                                                   \
    asm volatile ( /* reserve space for task state. */                       \
                   "lea.l   (-64, %sp), %sp\n\t"                             \
                   /* push data register %d0-%d7/%a0-%a6 on stack. */        \
                   "movem.l %d0-%d7/%a0-%a6, (%sp)\n\t"                      \
                   /* push ulCriticalNesting counter on stack. */            \
                   "lea.l  (60, %sp), %a0\n\t"                               \
                   "move.l  ulCriticalNesting, (%a0)\n\t"                    \
                   /* set the new top of the stack in the TCB. */            \
                   "move.l  pxCurrentTCB, %a0\n\t"                           \
                   "move.l  %sp, (%a0)");

/*.
 * This function restores the current active and continues its execution.
 * It loads the current TCB and restores the processor registers, the
 * task dependent values (e.g ulCriticalNesting). Finally execution
 * is continued by executing an rte instruction.
 */
#define portRESTORE_CONTEXT()                                                \
    asm volatile ( "move.l  pxCurrentTCB, %sp\n\t"                           \
                   "move.l  (%sp), %sp\n\t"                                  \
                   /* stack pointer now points to the saved registers. */    \
                   "movem.l (%sp), %d0-%d7/%a0-%a6\n\t"                      \
                   /* restore ulCriticalNesting counter from stack. */       \
                   "lea.l   (%sp, 60), %sp\n\t"                              \
                   "move.l  (%sp)+, ulCriticalNesting\n\t"                   \
                   /* stack pointer now points to exception frame. */        \
                   "rte\n\t" );

#define portENTER_CRITICAL()                                                 \
    vPortEnterCritical();

#define portEXIT_CRITICAL()                                                  \
    vPortExitCritical();

#define portSET_IPL( xIPL )                                                  \
    asm_set_ipl( xIPL )

#define portDISABLE_INTERRUPTS() \
    do { ( void )portSET_IPL( portIPL_MAX ); } while( 0 )
#define portENABLE_INTERRUPTS() \
    do { ( void )portSET_IPL( 0 ); } while( 0 )

#define portYIELD()                                                          \
    asm volatile ( " trap   %0\n\t" : : "i"(portTRAP_YIELD) )

#define portNOP()                                                            \
    asm volatile ( "nop\n\t" )

#define portENTER_SWITCHING_ISR()                                            \
    asm volatile ( "move.w  #0x2700, %sr" );                                 \
    /* Save the context of the interrupted task. */                          \
    portSAVE_CONTEXT(  );                                                    \
    {

#define portEXIT_SWITCHING_ISR( SwitchRequired )                             \
        /* If a switch is required we call vTaskSwitchContext(). */          \
        if( SwitchRequired )                                                 \
        {                                                                    \
            vTaskSwitchContext(  );                                          \
        }                                                                    \
    }                                                                        \
    portRESTORE_CONTEXT(  );

/* ------------------------ Function prototypes --------------------------- */
void vPortEnterCritical( void );
void vPortExitCritical( void );
int asm_set_ipl( unsigned long int uiNewIPL );

/* ------------------------ Compiler specifics ---------------------------- */
#define portTASK_FUNCTION_PROTO( vFunction, pvParameters )                   \
    void vFunction( void *pvParameters )

#define portTASK_FUNCTION( vFunction, pvParameters )                         \
    void vFunction( void *pvParameters )

#ifdef __cplusplus
}
#endif


#endif /* PORTMACRO_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久伊99综合婷婷久久伊| 97精品久久久午夜一区二区三区 | 日韩视频免费观看高清在线视频| 一区二区三区中文在线| 欧美日韩国产美| 日韩国产精品久久久| 日韩一区二区三免费高清| 精品在线免费观看| 国产精品伦理一区二区| 色综合天天性综合| 日韩精品电影在线| 国产三级欧美三级| 色综合欧美在线| 免费在线观看日韩欧美| 久久综合久久鬼色中文字| 成人免费毛片高清视频| 一区二区三区久久| 精品裸体舞一区二区三区| 成人黄色电影在线| 亚洲aaa精品| 欧美精品一区二区三区在线播放| thepron国产精品| 亚洲成人自拍网| 久久久久国产免费免费| 色综合久久中文综合久久97| 日本成人在线网站| 国产精品久久久久久久久图文区| 在线精品视频一区二区三四 | 国内外成人在线| 激情久久五月天| 一区二区三区视频在线观看| 日韩区在线观看| 97久久精品人人做人人爽| 日日欢夜夜爽一区| 国产精品久久久久桃色tv| 欧美一级久久久久久久大片| 99精品国产热久久91蜜凸| 麻豆精品久久久| 夜夜亚洲天天久久| 国产精品欧美综合在线| 欧美一区二区精美| 色婷婷综合久久| 国产精品 日产精品 欧美精品| 亚洲午夜一区二区三区| 国产精品三级久久久久三级| 日韩精品一区二区三区在线观看| 99精品久久免费看蜜臀剧情介绍| 经典三级视频一区| 图片区小说区国产精品视频| 亚洲天堂精品在线观看| 国产欧美一区二区精品仙草咪| 制服丝袜亚洲播放| 欧美影院精品一区| 91蜜桃在线观看| 国产999精品久久久久久| 另类小说一区二区三区| 日日欢夜夜爽一区| 亚洲一区免费观看| 中文字幕亚洲精品在线观看| 国产日韩欧美精品在线| 精品国精品国产| 日韩一区二区在线观看视频播放| 色偷偷88欧美精品久久久| 成人性生交大片免费看中文| 国产在线精品不卡| 老色鬼精品视频在线观看播放| 亚洲国产精品麻豆| 亚洲高清免费视频| 亚洲综合一区二区精品导航| 亚洲精品va在线观看| 亚洲视频一二区| 国产精品电影院| 国产精品久久久久久久久搜平片| 久久久久高清精品| 亚洲国产激情av| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 蜜桃av一区二区三区电影| 一区二区高清免费观看影视大全| 综合中文字幕亚洲| 亚洲欧美日韩国产手机在线 | 欧美日韩国产在线播放网站| 欧美午夜精品理论片a级按摩| 91理论电影在线观看| 色综合色综合色综合色综合色综合 | 成人av第一页| 波多野结衣中文字幕一区| 成人18视频日本| 91在线观看美女| 在线免费不卡电影| 91精品国产91久久久久久一区二区| 欧美丰满嫩嫩电影| 欧美成人猛片aaaaaaa| 精品捆绑美女sm三区| 日本一区二区不卡视频| 亚洲视频在线观看三级| 亚洲宅男天堂在线观看无病毒| 一区二区日韩av| 男人的天堂久久精品| 国产大陆精品国产| 99精品在线免费| 欧美伦理视频网站| 久久亚区不卡日本| 亚洲欧美视频一区| 日韩av一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| 99久久精品免费观看| 欧美日韩不卡一区二区| 欧美精品一区二区久久婷婷| 亚洲欧美aⅴ...| 青青草成人在线观看| 国产成人在线观看免费网站| 色94色欧美sute亚洲13| 日韩亚洲欧美高清| 国产精品视频一二| 天天av天天翘天天综合网色鬼国产| 国产在线视频精品一区| 色婷婷久久综合| 亚洲精品在线免费播放| 亚洲免费观看高清完整| 国产一区二区福利| 欧美这里有精品| 国产日产欧产精品推荐色| 亚洲国产sm捆绑调教视频| 国产高清不卡二三区| 精品视频在线看| 国产精品久久久久影院老司| 日韩电影在线免费看| www.亚洲国产| www日韩大片| 午夜久久久久久电影| 成人av动漫网站| 精品伦理精品一区| 亚洲一区二区三区视频在线| 国产jizzjizz一区二区| 日韩视频免费观看高清完整版在线观看| 欧美激情一区二区三区在线| 免费高清成人在线| 欧美午夜电影在线播放| 亚洲同性gay激情无套| 国产乱码精品一区二区三区五月婷| 欧美色图片你懂的| 亚洲视频在线一区| 不卡的电影网站| 久久久精品蜜桃| 久久国产免费看| 欧美一三区三区四区免费在线看| 亚洲欧美日韩国产手机在线| 高清不卡在线观看| 精品成人私密视频| 久久精品国产一区二区三区免费看| 在线观看亚洲a| 1024成人网| 97se亚洲国产综合自在线不卡| 久久婷婷色综合| 国产在线播放一区| 日韩精品一区在线观看| 免费高清成人在线| 日韩欧美国产综合一区 | 久久se精品一区精品二区| 欧美色欧美亚洲另类二区| 一区二区三区四区不卡在线| 99麻豆久久久国产精品免费优播| 日本一区二区在线不卡| 国产综合久久久久影院| 久久综合九色综合97_久久久| 免费xxxx性欧美18vr| 日韩欧美区一区二| 国产揄拍国内精品对白| 欧美xfplay| 国产精品综合一区二区| 欧美激情综合网| 99精品视频中文字幕| 亚洲欧美日韩国产综合在线| 色狠狠一区二区三区香蕉| 亚洲美女视频在线| 色综合久久88色综合天天免费| 亚洲人成伊人成综合网小说| 色噜噜久久综合| 亚洲成人一区二区| 欧美一区日韩一区| 国产精一品亚洲二区在线视频| 久久精品亚洲国产奇米99| 福利一区二区在线| 亚洲视频一二区| 91麻豆精品国产自产在线观看一区| 午夜电影一区二区三区| 日韩视频免费观看高清完整版| 国产一区欧美日韩| 国产精品美女一区二区| 欧美在线999| 麻豆免费看一区二区三区| 国产日韩欧美在线一区| 99r国产精品| 日本麻豆一区二区三区视频| 国产丝袜在线精品| 欧美在线三级电影| 韩国三级电影一区二区| 亚洲欧美日韩国产手机在线 | 欧美精品一区二区三区蜜臀| 成人av电影在线|