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

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

?? os_cpu.h

?? KEIL平臺下,LPC23XX官方的UCOSii的移植文件,包含各種功能的測試程序.
?? H
字號:
/*
*********************************************************************************************************
*                                               uC/OS-II
*                                         The Real-Time Kernel
*
*
*                             (c) Copyright 1992-2007, Micrium, Weston, FL
*                                          All Rights Reserved
*
*                                           Generic ARM Port
*
* File      : OS_CPU.H
* Version   : V1.82
* By        : Jean J. Labrosse
*             Jean-Denis Hatier
*
* For       : ARM7 or ARM9
* Mode      : ARM or Thumb
* Toolchain : IAR's EWARM V4.11a and higher
*********************************************************************************************************
*/

#ifndef  OS_CPU_H
#define  OS_CPU_H


#ifdef   OS_CPU_GLOBALS
#define  OS_CPU_EXT
#else
#define  OS_CPU_EXT  extern
#endif

#ifndef  OS_CPU_FPU_EN
#define  OS_CPU_FPU_EN    0                      /* HW floating point support disabled by default      */
#endif

/*
*********************************************************************************************************
*                                   INTERRUPT DISABLE TIME MEASUREMENT
*********************************************************************************************************
*/

#define  OS_CPU_INT_DIS_MEAS_EN    0


/*
*********************************************************************************************************
*                                           EXCEPTION DEFINES
*********************************************************************************************************
*/

                                                                /* ARM exception IDs                                    */
#define  OS_CPU_ARM_EXCEPT_RESET                                                                    0x00
#define  OS_CPU_ARM_EXCEPT_UNDEF_INSTR                                                              0x01
#define  OS_CPU_ARM_EXCEPT_SWI                                                                      0x02
#define  OS_CPU_ARM_EXCEPT_PREFETCH_ABORT                                                           0x03
#define  OS_CPU_ARM_EXCEPT_DATA_ABORT                                                               0x04
#define  OS_CPU_ARM_EXCEPT_ADDR_ABORT                                                               0x05
#define  OS_CPU_ARM_EXCEPT_IRQ                                                                      0x06
#define  OS_CPU_ARM_EXCEPT_FIQ                                                                      0x07
#define  OS_CPU_ARM_EXCEPT_NBR                                                                      0x08

                                                                /* ARM exception vectors addresses                      */
#define  OS_CPU_ARM_EXCEPT_RESET_VECT_ADDR              (OS_CPU_ARM_EXCEPT_RESET          * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_UNDEF_INSTR_VECT_ADDR        (OS_CPU_ARM_EXCEPT_UNDEF_INSTR    * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_SWI_VECT_ADDR                (OS_CPU_ARM_EXCEPT_SWI            * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_PREFETCH_ABORT_VECT_ADDR     (OS_CPU_ARM_EXCEPT_PREFETCH_ABORT * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_DATA_ABORT_VECT_ADDR         (OS_CPU_ARM_EXCEPT_DATA_ABORT     * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_ADDR_ABORT_VECT_ADDR         (OS_CPU_ARM_EXCEPT_ADDR_ABORT     * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_IRQ_VECT_ADDR                (OS_CPU_ARM_EXCEPT_IRQ            * 0x04 + 0x00)
#define  OS_CPU_ARM_EXCEPT_FIQ_VECT_ADDR                (OS_CPU_ARM_EXCEPT_FIQ            * 0x04 + 0x00)

                                                                /* ARM exception handlers addresses                     */
#define  OS_CPU_ARM_EXCEPT_RESET_HANDLER_ADDR           (OS_CPU_ARM_EXCEPT_RESET          * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_UNDEF_INSTR_HANDLER_ADDR     (OS_CPU_ARM_EXCEPT_UNDEF_INSTR    * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_SWI_HANDLER_ADDR             (OS_CPU_ARM_EXCEPT_SWI            * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_PREFETCH_ABORT_HANDLER_ADDR  (OS_CPU_ARM_EXCEPT_PREFETCH_ABORT * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_DATA_ABORT_HANDLER_ADDR      (OS_CPU_ARM_EXCEPT_DATA_ABORT     * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_ADDR_ABORT_HANDLER_ADDR      (OS_CPU_ARM_EXCEPT_ADDR_ABORT     * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_IRQ_HANDLER_ADDR             (OS_CPU_ARM_EXCEPT_IRQ            * 0x04 + 0x20)
#define  OS_CPU_ARM_EXCEPT_FIQ_HANDLER_ADDR             (OS_CPU_ARM_EXCEPT_FIQ            * 0x04 + 0x20)

                                                                /* ARM "Jump To Self" assembled instruction             */
#define  OS_CPU_ARM_INSTR_JUMP_TO_SELF                   0xEAFFFFFE
                                                                /* ARM "Jump To Exception Handler" assembled instruction*/
#define  OS_CPU_ARM_INSTR_JUMP_TO_HANDLER                0xE59FF018


/*
*********************************************************************************************************
*                                              DATA TYPES
*                                         (Compiler Specific)
*********************************************************************************************************
*/

typedef unsigned char  BOOLEAN;
typedef unsigned char  INT8U;                    /* Unsigned  8 bit quantity                           */
typedef signed   char  INT8S;                    /* Signed    8 bit quantity                           */
typedef unsigned short INT16U;                   /* Unsigned 16 bit quantity                           */
typedef signed   short INT16S;                   /* Signed   16 bit quantity                           */
typedef unsigned int   INT32U;                   /* Unsigned 32 bit quantity                           */
typedef signed   int   INT32S;                   /* Signed   32 bit quantity                           */
typedef float          FP32;                     /* Single precision floating point                    */
typedef double         FP64;                     /* Double precision floating point                    */

typedef unsigned int   OS_STK;                   /* Each stack entry is 32-bit wide                    */
typedef unsigned int   OS_CPU_SR;                /* Define size of CPU status register (PSR = 32 bits) */

/*
*********************************************************************************************************
*                                                ARM
*
* Method #1:  Disable/Enable interrupts using simple instructions.  After critical section, interrupts
*             will be enabled even if they were disabled before entering the critical section.
*             NOT IMPLEMENTED
*
* Method #2:  Disable/Enable interrupts by preserving the state of interrupts.  In other words, if
*             interrupts were disabled before entering the critical section, they will be disabled when
*             leaving the critical section.
*             NOT IMPLEMENTED
*
* Method #3:  Disable/Enable interrupts by preserving the state of interrupts.  Generally speaking you
*             would store the state of the interrupt disable flag in the local variable 'cpu_sr' and then
*             disable interrupts.  'cpu_sr' is allocated in all of uC/OS-II's functions that need to
*             disable interrupts.  You would restore the interrupt disable state by copying back 'cpu_sr'
*             into the CPU's status register.
*********************************************************************************************************
*/

#define  OS_CRITICAL_METHOD    3


#if      OS_CRITICAL_METHOD == 3

#if      OS_CPU_INT_DIS_MEAS_EN > 0

#define  OS_ENTER_CRITICAL()  {cpu_sr = OS_CPU_SR_Save();  \
                               OS_CPU_IntDisMeasStart();}
#define  OS_EXIT_CRITICAL()   {OS_CPU_IntDisMeasStop();   \
                               OS_CPU_SR_Restore(cpu_sr);}

#else

#define  OS_ENTER_CRITICAL()  {cpu_sr = OS_CPU_SR_Save();}
#define  OS_EXIT_CRITICAL()   {OS_CPU_SR_Restore(cpu_sr);}

#endif

#endif

/*
*********************************************************************************************************
*                                         ARM Miscellaneous
*********************************************************************************************************
*/

#define  OS_STK_GROWTH        1                   /* Stack grows from HIGH to LOW memory on ARM        */

#define  OS_TASK_SW()         OSCtxSw()

/*
*********************************************************************************************************
*                                            GLOBAL VARIABLES
*********************************************************************************************************
*/

                                                  /* Variables used to measure interrupt disable time  */
#if OS_CPU_INT_DIS_MEAS_EN > 0
OS_CPU_EXT  INT16U  OS_CPU_IntDisMeasNestingCtr;
OS_CPU_EXT  INT16U  OS_CPU_IntDisMeasCntsEnter;
OS_CPU_EXT  INT16U  OS_CPU_IntDisMeasCntsExit;
OS_CPU_EXT  INT16U  OS_CPU_IntDisMeasCntsMax;
OS_CPU_EXT  INT16U  OS_CPU_IntDisMeasCntsDelta;
OS_CPU_EXT  INT16U  OS_CPU_IntDisMeasCntsOvrhd;
#endif

/*
*********************************************************************************************************
*                                              PROTOTYPES
*********************************************************************************************************
*/

#if OS_CRITICAL_METHOD == 3
__arm  OS_CPU_SR  OS_CPU_SR_Save(void);           /* See OS_CPU_A.ASM                                  */
__arm  void       OS_CPU_SR_Restore(OS_CPU_SR cpu_sr);
#endif

__arm  void       OS_CPU_SR_INT_Dis(void);
__arm  void       OS_CPU_SR_INT_En(void);
__arm  void       OS_CPU_SR_FIQ_Dis(void);
__arm  void       OS_CPU_SR_FIQ_En(void);
__arm  void       OS_CPU_SR_IRQ_Dis(void);
__arm  void       OS_CPU_SR_IRQ_En(void);

#if OS_CPU_FPU_EN > 0
       void       OS_CPU_FP_Init(void);           /* See OS_CPU_C.C                                    */
__arm  void       OS_CPU_FP_Restore(void *pblk);
__arm  void       OS_CPU_FP_Save(void *pblk);
#endif

__arm  void       OSCtxSw(void);
__arm  void       OSIntCtxSw(void);
__arm  void       OSStartHighRdy(void);

       void       OS_CPU_InitExceptVect(void);

__arm  void       OS_CPU_ARM_ExceptResetHndlr(void);
__arm  void       OS_CPU_ARM_ExceptUndefInstrHndlr(void);
__arm  void       OS_CPU_ARM_ExceptSwiHndlr(void);
__arm  void       OS_CPU_ARM_ExceptPrefetchAbortHndlr(void);
__arm  void       OS_CPU_ARM_ExceptDataAbortHndlr(void);
__arm  void       OS_CPU_ARM_ExceptAddrAbortHndlr(void);
__arm  void       OS_CPU_ARM_ExceptIrqHndlr(void);
__arm  void       OS_CPU_ARM_ExceptFiqHndlr(void);

       void       OS_CPU_ExceptHndlr(INT32U  except_type);

#if OS_CPU_INT_DIS_MEAS_EN > 0
       void       OS_CPU_IntDisMeasInit(void);
       void       OS_CPU_IntDisMeasStart(void);
       void       OS_CPU_IntDisMeasStop(void);
       INT16U     OS_CPU_IntDisMeasTmrRd(void);
#endif

#if OS_CPU_ARM_DCC_EN > 0
       void       OSDCC_Handler(void);
#endif

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区三区| 亚洲精品一区二区三区精华液 | 一本色道久久综合亚洲aⅴ蜜桃| 久久aⅴ国产欧美74aaa| 美女视频黄 久久| 免费高清不卡av| 激情综合五月婷婷| 久久精品国产网站| 高清免费成人av| 99国产精品视频免费观看| 色综合视频在线观看| 欧美亚洲国产一区二区三区 | 精品乱码亚洲一区二区不卡| 日韩精品一区二区三区四区| 2021国产精品久久精品| 国产精品网站导航| 亚洲国产成人va在线观看天堂| 亚洲成精国产精品女| 日本美女一区二区| 国产成人精品免费网站| 91片在线免费观看| 91精品国产一区二区| 久久精品欧美一区二区三区麻豆| 欧美国产精品一区| 亚洲午夜激情网站| 国内精品免费**视频| 99久久久久久99| 日韩欧美国产高清| 亚洲日本在线看| 久久se这里有精品| 在线看国产日韩| 国产婷婷精品av在线| 亚洲国产精品天堂| 成人丝袜视频网| 欧美一卡二卡三卡| 亚洲欧美偷拍卡通变态| 男女性色大片免费观看一区二区 | 偷拍亚洲欧洲综合| 国产成人午夜精品影院观看视频 | 国产精品国产馆在线真实露脸| 一区二区三区在线看| 国产伦精品一区二区三区在线观看| 99国产精品99久久久久久| 欧美mv和日韩mv国产网站| 亚洲精品成人在线| 国产成a人亚洲精品| 日韩欧美一卡二卡| 亚洲成人免费av| 色婷婷一区二区三区四区| 国产日产精品一区| 久久疯狂做爰流白浆xx| 欧美精品自拍偷拍| 亚洲黄色在线视频| 99久久精品国产导航| 欧美精品一区二区三区视频| 视频一区国产视频| 欧美日韩一区二区三区在线看| 欧美国产日韩亚洲一区| 国内精品久久久久影院一蜜桃| 91精品麻豆日日躁夜夜躁| 一区二区三区日韩欧美| 91在线高清观看| 亚洲女厕所小便bbb| 国产精品性做久久久久久| 精品国产乱码久久久久久闺蜜| 丝袜美腿亚洲色图| 欧美美女网站色| 天堂va蜜桃一区二区三区漫画版| 一本一道综合狠狠老| 亚洲精品菠萝久久久久久久| 成人高清免费在线播放| 国产精品每日更新在线播放网址| 国产一区二区三区黄视频 | 欧美日韩久久久一区| 亚洲欧美经典视频| 99视频一区二区| 亚洲欧美aⅴ...| 91网页版在线| 亚洲综合色丁香婷婷六月图片| 在线欧美日韩国产| 天天操天天综合网| 日韩欧美中文字幕公布| 精品综合久久久久久8888| 日韩久久久精品| 丰满少妇在线播放bd日韩电影| 日韩欧美一区中文| 国产suv精品一区二区三区| 中文字幕av不卡| 欧美自拍丝袜亚洲| 日韩va欧美va亚洲va久久| www日韩大片| 成人av在线一区二区| 亚洲综合色视频| 精品久久久久久久久久久久包黑料 | 香港成人在线视频| 日韩美一区二区三区| 国产一区二区电影| 亚洲综合丝袜美腿| 久久午夜免费电影| 一本一本大道香蕉久在线精品 | 亚洲最大成人网4388xx| 欧美疯狂做受xxxx富婆| 国产伦精一区二区三区| 亚洲欧美日韩国产中文在线| 在线电影院国产精品| 国产成人在线视频网站| 一区二区三区在线不卡| 欧美videos大乳护士334| bt7086福利一区国产| 美女视频黄免费的久久| 一区在线观看视频| 日韩欧美国产三级| 在线免费不卡视频| 国产成人无遮挡在线视频| 午夜伊人狠狠久久| 国产视频一区二区在线| 欧美精品黑人性xxxx| av网站一区二区三区| 久久99精品久久久久婷婷| 亚洲国产成人91porn| 国产精品久久久久久久岛一牛影视| 欧美精三区欧美精三区| 色综合欧美在线| 国产精品一区免费在线观看| 日韩精彩视频在线观看| 一区二区日韩电影| 国产精品午夜免费| 精品国产乱码久久久久久久 | 欧美自拍偷拍一区| 成人激情开心网| 国产美女一区二区三区| 青青青伊人色综合久久| 一区二区高清在线| 亚洲欧美视频在线观看| 国产精品理伦片| 中文字幕免费一区| 国产无一区二区| 久久午夜免费电影| 精品福利二区三区| 精品少妇一区二区三区视频免付费| 欧美日本在线观看| 色婷婷亚洲一区二区三区| 北岛玲一区二区三区四区| 国产精品 欧美精品| 国产福利91精品| 国产成人精品www牛牛影视| 韩国在线一区二区| 久久99国产精品尤物| 美腿丝袜在线亚洲一区| 美女一区二区三区在线观看| 日韩电影在线一区二区三区| 欧美午夜免费电影| 成人激情电影免费在线观看| 国产精品一线二线三线| 国内成+人亚洲+欧美+综合在线| 男人的天堂久久精品| 麻豆91在线播放免费| 久久精品国产99| 激情图片小说一区| 国产精品1024| 成人av电影在线网| 91国偷自产一区二区三区成为亚洲经典| 成人免费视频免费观看| 国产91色综合久久免费分享| 国产精品一区二区91| 波多野结衣中文字幕一区二区三区| 国产盗摄一区二区三区| 99久久99久久免费精品蜜臀| 91视频一区二区三区| 欧美亚一区二区| 欧美一区二区播放| 国产区在线观看成人精品| 亚洲视频每日更新| 亚洲丶国产丶欧美一区二区三区| 亚洲一区二区三区四区在线观看 | 成人精品高清在线| 色偷偷一区二区三区| 91精品欧美久久久久久动漫| 久久久精品黄色| 夜夜爽夜夜爽精品视频| 免费在线观看成人| 波多野结衣中文字幕一区二区三区| 色婷婷av一区二区三区大白胸 | 国产精品1区二区.| 在线视频国产一区| 久久亚洲影视婷婷| 一区二区三区成人| 九色综合国产一区二区三区| 91在线视频免费91| 欧美变态tickling挠脚心| 亚洲女爱视频在线| 国产精品中文字幕一区二区三区| 在线看不卡av| 欧美国产成人精品| 蜜臀精品久久久久久蜜臀| 99vv1com这只有精品| 亚洲精品一区二区三区在线观看 | 国产女同性恋一区二区| 三级一区在线视频先锋| 成人精品国产免费网站|