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

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

?? rtx_config.c

?? 射頻芯片nRF905例程
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*----------------------------------------------------------------------------
 *      R T L  -  K e r n e l
 *----------------------------------------------------------------------------
 *      Name:    RTX_CONFIG.C
 *      Purpose: Configuration of RTX Kernel for Philips LPC21xx
 *      Rev.:    V3.00 / 17-mar-2006
 *----------------------------------------------------------------------------
 *      This code is part of the RealView Run-Time Library.
 *      Copyright (c) 2004-2006 KEIL - An ARM Company. All rights reserved. 
 *---------------------------------------------------------------------------*/

#include <RTX_Config.h>                  /* RTX user configuration header    */
#pragma O0

/*----------------------------------------------------------------------------
 *      RTX User configuration part BEGIN
 *---------------------------------------------------------------------------*/

//-------- <<< Use Configuration Wizard in Context Menu >>> -----------------
// <e>Task Mode Select
//   <o>Task Mode Select <0-1>
//   <i> Define max. number of tasks that will run at the same time.
//   <i> Default: 0
#ifndef OS_MODESEL
 #define OS_MODESEL     1//OS選擇非典的中斷向量編號模式
#endif

#if (OS_MODESEL == 0) //OS中斷向量地址/編號模式選擇
  #include <LPC213x.H>                     /* LPC21xx definitions              */
#else
  #include <LPC213xDEF.H>	//ARM菜鳥HotPower創建定義文件(愚人節預演版)
#endif
// </e>
//
// <h>Task Definitions
// ===================
//
//   <o>Number of concurrent running tasks <0-250>
//   <i> Define max. number of tasks that will run at the same time.
//   <i> Default: 6
#ifndef OS_TASKCNT//指定同時運行的任務數
 #define OS_TASKCNT     10
#endif

//   <o>Number of tasks with user-provided stack <0-250>
//   <i> Define the number of tasks that will use a bigger stack.
//   <i> The memory space for the stack is provided by the user.
//   <i> Default: 0
#ifndef OS_PRIVCNT//指定用戶提供堆棧的任務數量
 #define OS_PRIVCNT     0
#endif

//   <o>Task stack size [bytes] <20-4096:8><#/4>
//   <i> Set the stack size for tasks which is assigned by the system.
//   <i> Default: 200
#ifndef OS_STKSIZE//指定每一個任務的棧尺寸(32位字,此數乘4為棧字節數)
 #define OS_STKSIZE     100
#endif

// <q>Check for the stack overflow
// ===============================
// <i> Include the stack checking code for a stack overflow.
// <i> Note that additional code reduces the Kernel performance.
#ifndef OS_STKCHECK//使能(1) 或禁止(0) 堆棧檢查
 #define OS_STKCHECK    1
#endif

//   <o>Number of user timers <0-250>
//   <i> Define max. number of user timers that will run at the same time.
//   <i> Default: 0  (User timers disabled)
#ifndef OS_TIMERCNT//指定用戶定時器的數量(在回調函數os_tmr_call()里編寫程序)
 #define OS_TIMERCNT    1
#endif

// </h>
// <h>System Timer Configuration
// =============================
//   <o>ARTX Kernel timer number <0=> Timer 0 <1=> Timer 1
//   <i> Define the ARM timer used as a system tick timer.
//   <i> Default: Timer 0
#ifndef OS_TIMER//指定一個片上定時器, 用作實時系統的時基, 可以是0 或1
 #define OS_TIMER       1
#endif

//   <o>Timer clock value [Hz] <1-1000000000>
//   <i> Set the timer clock value for selected timer.
//   <i> Default: 15000000  (15MHz at 60MHz CCLK and VPBDIV = 4)
#ifndef OS_CLOCK//指定所選擇定時器的輸入信號頻率
 #define OS_CLOCK       55296000
#endif

//   <o>Timer tick value [us] <1-1000000>
//   <i> Set the timer tick value for selected timer.
//   <i> Default: 10000  (10ms)
#ifndef OS_TICK//指定系統定時的時間間隔, 單位為uS
 #define OS_TICK        10000
#endif

// </h>
// <e>Round-Robin Task switching
// =============================
// <i> Enable Round-Robin Task switching.
#ifndef OS_ROBIN//使能(1) 或禁止(0) 時間片輪轉任務調度
 #define OS_ROBIN       1
#endif

//   <o>Round-Robin Timeout [ticks] <1-1000>
//   <i> Define how long a task will execute before a task switch.
//   <i> Default: 5
#ifndef OS_ROBINTOUT//時間片的大小, 以系統定時間隔為單位(節拍)
 #define OS_ROBINTOUT   5
#endif

// </e>

//------------- <<< end of configuration section >>> -----------------------

/*----------------------------------------------------------------------------
 *      ARTX User configuration part END
 *---------------------------------------------------------------------------*/

#if   (OS_TIMER == 0)                                   /* Timer 0          */
  #define OS_TID_       4                               /*  Timer ID        */
  #define OS_TIM_       (1 << OS_TID_)                  /*  Interrupt Mask  */
//OS_TRV指定定時器的重載值
  #define OS_TRV        ((U32)(((double)OS_CLOCK*(double)OS_TICK)/1E6)-1)
//OS_TVAL用于讀取定時器的當前值
  #if (OS_MODESEL == 0)
    #define OS_TVAL       T0TC                            /*  Timer Value     */
  #else
    #define OS_TVAL       T0->TIMER_TC                            /*  Timer Value     */
  #endif
//OS_TOVF指定定時器溢出標志
  #if (OS_MODESEL == 0)
    #define OS_TOVF       (T0IR & 1)                      /*  Overflow Flag   */
  #else
    #define OS_TOVF       (T0->TIMER_IR & 1)                      /*  Overflow Flag   */
  #endif
//OS_TREL()定義定時器重載的指令序列
  #define OS_TREL()     ;                               /*  Timer Reload    */
//OS_TFIRQ()定義強制定時器中斷的指令序列
  #if (OS_MODESEL == 0)
    #define OS_TFIRQ()    VICSoftInt   |= OS_TIM_;        /*  Force Interrupt */
  #else
    #define OS_TFIRQ()    VIC->SoftInt   |= OS_TIM_;        /*  Force Interrupt */
  #endif
//OS_TIACK()用于清除定時器中斷的邏輯
  #if (OS_MODESEL == 0)
  #define OS_TIACK()    T0IR = 1;                       /*  Interrupt Ack   */ \
                        VICSoftIntClr = OS_TIM_;                               \
                        VICVectAddr   = 0;
  #else
  #define OS_TIACK()    T0->TIMER_IR = 1;                       /*  Interrupt Ack   */ \
                        VIC->SoftIntClr = OS_TIM_;                               \
                        VIC->VectAddr   = 0;
  #endif
//OS_TINIT()用于定義定時器的初始化代碼
  #if (OS_MODESEL == 0)
  #define OS_TINIT()    T0MR0 = OS_TRV;                 /*  Initialization  */ \
                        T0MCR = 3;                                             \
                        T0TCR = 1;                                             \
                        VICDefVectAddr = (U32)os_def_interrupt;                 \
                        VICVectAddr15  = (U32)os_clock_interrupt;               \
                        VICVectCntl15  = 0x20 | OS_TID_;
  #else
  #define OS_TINIT()    T0->TIMER_MR0 = OS_TRV;                 /*  Initialization  */ \
                        T0->TIMER_MCR = 3;                                             \
                        T0->TIMER_TCR = 1;                                             \
                        VIC->DefVectAddr = 31;/*(U32)os_def_interrupt*/          \
                        VIC->VectAddrs[15]  = 15;/*(U32)os_clock_interrupt*/        \
                        VIC->VectCntls[15]  = 0x20 | OS_TID_;
  #endif
#elif (OS_TIMER == 1)                                   /* Timer 1          */
  #define OS_TID_       5                               /*  Timer ID        */
  #define OS_TIM_       (1 << OS_TID_)                  /*  Interrupt Mask  */
  #define OS_TRV        ((U32)(((double)OS_CLOCK*(double)OS_TICK)/1E6)-1)
  #if (OS_MODESEL == 0)
    #define OS_TVAL       T1TC                            /*  Timer Value     */
  #else
    #define OS_TVAL       T1->TIMER_TC                            /*  Timer Value     */
  #endif
  #if (OS_MODESEL == 0)
    #define OS_TOVF       (T1IR & 1)                      /*  Overflow Flag   */
  #else
    #define OS_TOVF       (T1->TIMER_IR & 1)                      /*  Overflow Flag   */
  #endif
  #define OS_TREL()     ;                               /*  Timer Reload    */
  #if (OS_MODESEL == 0)
    #define OS_TFIRQ()    VICSoftInt   |= OS_TIM_;        /*  Force Interrupt */
  #else
    #define OS_TFIRQ()    VIC->SoftInt   |= OS_TIM_;        /*  Force Interrupt */
  #endif
  #if (OS_MODESEL == 0)
  #define OS_TIACK()    T1IR = 1;                       /*  Interrupt Ack   */ \
                        VICSoftIntClr = OS_TIM_;                               \
                        VICVectAddr   = 0;
  #else
  #define OS_TIACK()    T1->TIMER_IR = 1;                       /*  Interrupt Ack   */ \
                        VIC->SoftIntClr = OS_TIM_;                               \
                        VIC->VectAddr   = 0;
  #endif
  #if (OS_MODESEL == 0)
  #define OS_TINIT()    T1MR0 = OS_TRV;                 /*  Initialization  */ \
                        T1MCR = 3;                                             \
                        T1TCR = 1;                                             \
                        VICDefVectAddr = (U32)os_def_interrupt;          \
                        VICVectAddr15  = (U32)os_clock_interrupt;        \
                        VICVectCntl15  = 0x20 | OS_TID_;
  #else
  #define OS_TINIT()    T1->TIMER_MR0 = OS_TRV;                 /*  Initialization  */ \
                        T1->TIMER_MCR = 3;                                             \
                        T1->TIMER_TCR = 1;                                             \
                        VIC->DefVectAddr = 31;/*(U32)os_def_interrupt*/          \
                        VIC->VectAddrs[15]  = 15;/*(U32)os_clock_interrupt*/        \
                        VIC->VectCntls[15]  = 0x20 | OS_TID_;
  #endif
#else
  #error OS_TIMER invalid
#endif

#if (OS_MODESEL == 0)
  #define OS_IACK()       VICVectAddr   = 0;              /* Interrupt Ack    */
#else
  #define OS_IACK()       VIC->VectAddr   = 0;              /* Interrupt Ack    */
#endif
//OS_LOCK()禁止系統定時器中斷
#if (OS_MODESEL == 0)
  #define OS_LOCK()       VICIntEnClr   = OS_TIM_;        /* Task Lock        */
#else
  #define OS_LOCK()       VIC->IntEnClr   = OS_TIM_;        /* Task Lock        */
#endif
//OS_UNLOCK()使能系統定時器中斷
#if (OS_MODESEL == 0)
  #define OS_UNLOCK()     VICIntEnable |= OS_TIM_;        /* Task Unlock      */
#else
  #define OS_UNLOCK()     VIC->IntEnable |= OS_TIM_;        /* Task Unlock      */
#endif

/* WARNING ! Do not use IDLE mode if you are using a JTAG interface  */
/*           for debugging your application.                         */
#if (OS_MODESEL == 0)
  #define _idle_()        PCON = 1;
#else
  #define _idle_()        POWER->P_CON = 1;
#endif
#define INITIAL_CPSR    0x40000010
#define MAGIC_WORD      0xE25A2EA5
/*----------------------------------------------------------------------------
 *      Global Variables
 *---------------------------------------------------------------------------*/

extern P_TCB os_runtask;
extern struct OS_XCB os_rdy;
extern struct OS_TCB os_clock_TCB;
extern U16 os_time;
U16 const os_maxtaskrun = OS_TASKCNT;
/* Export following defines to uVision debugger. */
U32 const os_stackinfo = (OS_STKCHECK<<24) | (OS_PRIVCNT<<16) | (OS_STKSIZE*4);
U32 const os_clockrate  = OS_TICK;
U32 const os_timernum   = (OS_TIMER << 16) | OS_TIMERCNT;
U32 const os_rrobin     = (OS_ROBIN << 16) | OS_ROBINTOUT;

/*----------------------------------------------------------------------------
 *      Local Variables
 *---------------------------------------------------------------------------*/
/* Memory pool for TCB allocation    */
static U32 m_tcb[(sizeof(struct OS_TCB) * OS_TASKCNT)/4 + 4];

/* Memory pool for System stack allocation. Need to allocate 2 additional  */
/* entries for 'os_clock_demon()' and 'os_idle_demon()'.                   */
static U64 m_stk[OS_STKSIZE * (OS_TASKCNT-OS_PRIVCNT+2)/2 + 2];

/* An array of Active task pointers.                                       */
P_TCB os_active_TCB[OS_TASKCNT];

#if (OS_ROBIN == 1)
  static U16  os_robin_time;
  static P_TCB os_tsk_robin;
#endif

#if (OS_TIMERCNT != 0)
  /* Memory pool for User Timer allocation                                 */
  static U32 m_tmr[(sizeof(struct OS_TMR) * OS_TIMERCNT)/4 + 4];
#endif

#if (OS_STKCHECK == 1)
  static BIT os_del_flag;
#endif

/*----------------------------------------------------------------------------
 *      Global Functions
 *---------------------------------------------------------------------------*/

extern void os_clock_interrupt (void);

/*--------------------------- os_idle_demon ---------------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品1区2区3区| 在线观看一区二区精品视频| 亚洲视频电影在线| 国产精品女主播av| 国产精品美女一区二区| 中文字幕乱码日本亚洲一区二区| 久久综合av免费| 国产肉丝袜一区二区| 国产三级欧美三级日产三级99| 精品国产免费一区二区三区香蕉| 精品久久久久一区| 久久精品综合网| 亚洲欧洲成人自拍| 亚洲精品欧美专区| 污片在线观看一区二区| 天天影视涩香欲综合网| 麻豆精品一区二区| 国产一区二区毛片| 波多野结衣精品在线| 一本色道久久综合狠狠躁的推荐 | 6080国产精品一区二区| 欧美欧美欧美欧美| 久久影音资源网| 国产精品国产a级| 亚洲精品亚洲人成人网在线播放| 亚洲第一激情av| 精品一区免费av| 国产v日产∨综合v精品视频| 99久久精品99国产精品| 在线成人av影院| 国产欧美一区二区在线观看| 一区二区三区在线免费观看| 视频一区二区三区入口| 国产福利一区二区| 在线亚洲一区观看| 久久久久久夜精品精品免费| 亚洲欧洲精品一区二区三区不卡 | 欧美成人三级在线| 一区二区三区中文字幕电影| 亚洲国产人成综合网站| 狠狠色丁香九九婷婷综合五月| 99精品偷自拍| 精品三级av在线| 亚洲精品国产成人久久av盗摄| 久久精品国产成人一区二区三区 | 亚洲午夜视频在线| 国产经典欧美精品| 91精品国产欧美一区二区成人| 国产精品萝li| 国产精品自在欧美一区| 欧美日韩精品一区视频| 国产精品久久久久久久久动漫 | 日本va欧美va精品| 色拍拍在线精品视频8848| 日韩欧美123| 亚洲色图视频网站| 国产成人精品一区二区三区网站观看| 欧美日韩高清在线播放| 成人欧美一区二区三区| 国产一区 二区 三区一级| 欧美肥妇free| 一区二区成人在线观看| 成人黄色在线网站| 国产欧美精品一区| 精品一区在线看| 精品免费国产一区二区三区四区| 亚洲亚洲人成综合网络| 99久久婷婷国产综合精品| 久久精品一区四区| 国产高清成人在线| 国产日韩亚洲欧美综合| 九九**精品视频免费播放| 91麻豆精品91久久久久久清纯| 亚洲精品久久嫩草网站秘色| 一本一道久久a久久精品 | 亚洲线精品一区二区三区| a级精品国产片在线观看| 欧美国产精品专区| 成人av在线影院| 国产精品毛片高清在线完整版 | 亚洲成人一区二区在线观看| 91福利区一区二区三区| 性做久久久久久| 欧美精品 国产精品| 日本在线观看不卡视频| 日韩你懂的在线观看| 精品一区二区成人精品| 久久久久综合网| 不卡的av电影| 久久国产精品99久久人人澡| 精品国内二区三区| 国产·精品毛片| 亚洲婷婷综合色高清在线| 欧美偷拍一区二区| 日韩va欧美va亚洲va久久| 日韩免费在线观看| 高清免费成人av| 亚洲精品乱码久久久久久黑人| 欧美日韩在线观看一区二区| 久久99精品网久久| 国产精品系列在线| 欧美制服丝袜第一页| 麻豆91精品视频| 国产精品久久网站| 欧美日韩成人在线| 国产黄人亚洲片| 亚洲最快最全在线视频| 精品美女在线播放| 色综合天天综合网天天看片| 日韩**一区毛片| 国产精品久99| 91精品福利在线一区二区三区| 国产米奇在线777精品观看| 亚洲精品一二三四区| 精品国产一区二区三区久久影院 | 日韩和欧美一区二区三区| 久久久五月婷婷| 欧美日韩综合在线免费观看| 极品少妇xxxx精品少妇| 亚洲一区精品在线| 国产视频视频一区| 日韩亚洲欧美中文三级| 99久久777色| 国产一区欧美一区| 日日夜夜精品免费视频| 亚洲欧洲精品一区二区精品久久久 | 欧美在线播放高清精品| 国产一区二区毛片| 五月天亚洲婷婷| 一区二区三区四区av| 久久久久久久久久久久久久久99| 欧美亚男人的天堂| 一本色道亚洲精品aⅴ| 成人天堂资源www在线| 老司机午夜精品| 天天av天天翘天天综合网 | 成人性生交大合| 精品一区二区日韩| 亚洲电影一区二区| 亚洲婷婷国产精品电影人久久| 久久久精品免费网站| 日韩一级大片在线| 日韩欧美一二区| 91精品国产全国免费观看| 欧美成人r级一区二区三区| 欧美喷潮久久久xxxxx| 欧美日韩一区二区三区四区| 一本一道波多野结衣一区二区 | 欧美性xxxxx极品少妇| 99精品国产一区二区三区不卡| 国产成人在线视频网站| 国产麻豆精品视频| 国产精品自拍网站| 国产毛片一区二区| 国产乱人伦偷精品视频免下载| 精品一区二区三区久久| 国内精品伊人久久久久av影院| 日本不卡一二三| 美女一区二区三区在线观看| 美腿丝袜一区二区三区| 蜜臀99久久精品久久久久久软件| 午夜成人免费电影| 五月天丁香久久| 久久91精品国产91久久小草| 韩国在线一区二区| 国产成人在线看| k8久久久一区二区三区| 91丨porny丨户外露出| 色欧美日韩亚洲| 欧美肥妇bbw| 久久免费精品国产久精品久久久久| 久久免费午夜影院| 中文字幕一区av| 亚洲国产精品一区二区久久恐怖片| 亚洲高清视频的网址| 久久精品国产99国产精品| 国产一区二区三区黄视频 | 国产三级欧美三级| 欧美国产一区二区在线观看 | 欧美在线一二三| 欧美日韩一二三| 日韩欧美中文字幕精品| 国产亚洲va综合人人澡精品| 国产精品久久久久久久久免费桃花| 亚洲欧美日韩成人高清在线一区| 亚洲一二三四久久| 蜜桃av噜噜一区| av成人老司机| 欧美福利视频导航| 久久精品视频免费| 亚洲精品久久嫩草网站秘色| 日韩影院在线观看| 成人精品鲁一区一区二区| 91成人国产精品| 精品日韩一区二区| 亚洲色图清纯唯美| 国内一区二区在线| 欧美影院精品一区| 国产日韩欧美在线一区| 亚洲小少妇裸体bbw|