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

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

?? os_cpu.h

?? ARM 介紹 為什么要20個字 適合初學
?? 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.83
* By        : Jean J. Labrosse
*             Jean-Denis Hatier
*
* For       : ARM7 or ARM9
* Mode      : ARM or Thumb
* Toolchain : RealView Development Suite
*             RealView Microcontroller Development Kit (MDK)
*             ARM Developer Suite (ADS)
*             Keil uVision
*********************************************************************************************************
*/

#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

#ifndef  OS_CPU_EXCEPT_STK_SIZE
#define  OS_CPU_EXCEPT_STK_SIZE    128           /* Default exception stack size is 128 OS_STK entries */
#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" asm instruction                 */
#define  OS_CPU_ARM_INSTR_JUMP_TO_SELF                   0xEAFFFFFE
                                                 /* ARM "Jump To Exception Handler" asm 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

OS_CPU_EXT  OS_STK   OS_CPU_ExceptStk[OS_CPU_EXCEPT_STK_SIZE];
OS_CPU_EXT  OS_STK  *OS_CPU_ExceptStkBase;
OS_CPU_EXT  OS_STK  *OS_CPU_ExceptStkPtr;

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

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

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

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

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

void       OS_CPU_InitExceptVect              (void);

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

void       OS_CPU_ExceptHndlr                 (INT32U  except_type);

INT32U     OS_CPU_ExceptStkChk                (void);

#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

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩激情中文字幕| 欧美日韩精品欧美日韩精品一 | 秋霞电影网一区二区| 国产.精品.日韩.另类.中文.在线.播放 | 亚洲va欧美va人人爽午夜 | 久久久天堂av| 丝袜诱惑制服诱惑色一区在线观看| 国产福利一区二区三区视频| 在线播放中文字幕一区| 亚洲精品免费一二三区| 韩国精品一区二区| 日韩一区和二区| 亚洲第一福利视频在线| av电影在线观看完整版一区二区| 欧美mv日韩mv| 久久国产精品72免费观看| 欧美另类久久久品| 亚洲综合久久久久| 色婷婷综合久久久| 亚洲人成网站在线| 一本色道久久综合亚洲精品按摩| 欧美韩国一区二区| 国产成人aaa| 国产喷白浆一区二区三区| 精品一区二区三区免费观看| 日韩欧美激情在线| 日本一不卡视频| 欧美一区二区三区视频在线观看| 亚洲成人av电影| 欧美日韩亚洲国产综合| 一区二区三区**美女毛片| 日本二三区不卡| 亚洲精品中文字幕乱码三区| 99精品1区2区| 亚洲精品视频免费看| 色综合中文字幕| 亚洲一区二区黄色| 69精品人人人人| 激情av综合网| 亚洲国产精品成人综合| 成人黄色网址在线观看| 国产精品福利av| 91麻豆国产在线观看| 亚洲午夜av在线| 日韩一区二区在线免费观看| 日本不卡123| 久久久久久综合| 99精品欧美一区二区三区小说| 国产精品久久久久久久久久久免费看 | 精品对白一区国产伦| 黑人巨大精品欧美黑白配亚洲| 久久精品亚洲麻豆av一区二区| 国产乱码字幕精品高清av| 久久看人人爽人人| 一本一本久久a久久精品综合麻豆| 亚洲免费av高清| 91精品婷婷国产综合久久性色| 蜜臀av一区二区在线免费观看| 26uuuu精品一区二区| 国产suv精品一区二区6| 亚洲精品视频一区| 精品国产成人系列| 91免费观看在线| 麻豆91免费观看| 中文字幕一区二区三区四区 | 久久久www成人免费毛片麻豆| 成人精品视频一区二区三区尤物| 亚洲精品ww久久久久久p站| 欧美喷潮久久久xxxxx| 国产麻豆精品久久一二三| 视频一区国产视频| 精品三级在线看| 99re热这里只有精品免费视频| 性感美女久久精品| 亚洲国产成人自拍| 日韩欧美一区二区久久婷婷| gogo大胆日本视频一区| 美脚の诱脚舐め脚责91| 亚洲人亚洲人成电影网站色| 欧美变态口味重另类| 色综合久久精品| 国产乱妇无码大片在线观看| 一区二区三国产精华液| 中文字幕av一区二区三区免费看 | 精品国产免费视频| 在线观看一区日韩| 成人精品电影在线观看| 蜜桃在线一区二区三区| 亚洲影院理伦片| 中文字幕二三区不卡| 欧美成人精精品一区二区频| 欧美私人免费视频| 国产成人av电影在线观看| 天天免费综合色| 亚洲一区二区三区四区五区黄| 国产精品系列在线| 久久伊人蜜桃av一区二区| 宅男在线国产精品| 精品视频123区在线观看| 成人黄动漫网站免费app| 久国产精品韩国三级视频| 免费一级欧美片在线观看| 亚洲国产日韩综合久久精品| 中文字幕在线观看一区| 国产日产欧产精品推荐色| 日韩欧美一区在线观看| 欧美性受xxxx黑人xyx性爽| av日韩在线网站| 99精品久久只有精品| 99精品欧美一区二区三区小说 | 久久精品国产久精国产| 午夜电影久久久| 亚洲综合在线视频| 亚洲国产日韩精品| 亚洲国产精品一区二区www | 欧美日韩大陆一区二区| 欧美日本视频在线| 欧美老人xxxx18| 欧美一区二区在线不卡| 日韩一区二区在线观看视频播放| 91精品在线一区二区| 欧美不卡一区二区三区| 久久蜜桃av一区二区天堂| 国产亚洲综合性久久久影院| 国产视频一区二区在线| 国产精品久久久久影院亚瑟| 亚洲欧美日韩系列| 午夜精品影院在线观看| 日韩有码一区二区三区| 久久电影网电视剧免费观看| 国产剧情一区二区| 不卡在线观看av| 欧美视频在线观看一区二区| 欧美区在线观看| 久久久影院官网| 亚洲免费在线视频| 爽好久久久欧美精品| 美腿丝袜一区二区三区| 国产suv精品一区二区三区| 色噜噜久久综合| 日韩三级在线免费观看| 国产欧美一区二区精品性色超碰| 免费人成在线不卡| 韩国成人福利片在线播放| 国产成人免费视频网站| 在线观看日韩精品| 久久婷婷综合激情| 樱桃视频在线观看一区| 美美哒免费高清在线观看视频一区二区 | 国产91精品精华液一区二区三区| 91色九色蝌蚪| 日韩精品一区二区三区视频在线观看 | heyzo一本久久综合| 欧美日韩国产高清一区二区三区 | 欧美调教femdomvk| 欧美精品一区二区在线观看| 亚洲精品成人精品456| 久久国产精品99久久人人澡| 91亚洲男人天堂| www欧美成人18+| 性做久久久久久免费观看| 成人午夜av影视| 日韩欧美国产一区二区在线播放| 国产精品美女久久久久久久| 日本特黄久久久高潮| 色综合久久久网| 久久久久久一级片| 三级久久三级久久| 91亚洲大成网污www| 久久蜜桃一区二区| 日本欧美大码aⅴ在线播放| 91免费视频观看| 国产午夜精品久久久久久免费视| 日韩精品高清不卡| 欧美视频完全免费看| 国产精品国产三级国产普通话蜜臀 | 91在线观看视频| 国产女同性恋一区二区| 麻豆精品新av中文字幕| 欧美日韩激情在线| 国产精品美日韩| 亚洲精品国产无天堂网2021 | 精品无人区卡一卡二卡三乱码免费卡| 91玉足脚交白嫩脚丫在线播放| 国产亚洲污的网站| 九一九一国产精品| 日韩三级中文字幕| 美女视频免费一区| 在线成人小视频| 日日嗨av一区二区三区四区| 不卡的电视剧免费网站有什么| 久久久久久久久久久黄色| 九一九一国产精品| 欧美大片顶级少妇| 精品影视av免费| 欧美成人video| 国产综合色视频| 久久久亚洲欧洲日产国码αv| 九九国产精品视频| 久久久久国产精品厨房|