os_cpu.h

来自「freesacle的实时操作系统UCOS的开发程序」· C头文件 代码 · 共 59 行

H
59
字号
/*
*********************************************************************************************************
* 文件: OS_CPU.H.
* 描述: CPU配置部分文件.
* 编写: 深思 (001-12345@sohu.com).
*********************************************************************************************************
*/

#ifndef  __OS_CPU_H
#define  __OS_CPU_H

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

/*
*********************************************************************************************************
*                    定义与编译器无关的数据类型.
*********************************************************************************************************
*/
typedef unsigned char  BOOLEAN;                 /* 布尔变量                                 */
typedef unsigned char  INT8U;                   /* 无符号8位整型变量                        */
typedef signed   char  INT8S;                   /* 有符号8位整型变量                        */
typedef unsigned int   INT16U;                  /* 无符号16位整型变量                       */
typedef signed   int   INT16S;                  /* 有符号16位整型变量                       */
typedef unsigned long  INT32U;                  /* 无符号32位整型变量                       */
typedef signed   long  INT32S;                  /* 有符号32位整型变量                       */
typedef float          FP32;                    /* 单精度浮点数(32位长度)                 */
typedef double         FP64;                    /* 双精度浮点数(64位长度)                 */

typedef unsigned char      OS_CPU_SR;    	      /*CPU的状态寄存器,*/
typedef unsigned int       OS_STK;              /* 堆栈是16位宽度*/                        

/*
*********************************************************************************************************
*                    与 ARM 体系结构相关的一些定义.
*********************************************************************************************************
*/
#define     OS_CRITICAL_METHOD     3    /* 选择开、关中断的方式. */ 
extern void near OS_TASK_SW(void);      /*(2)任务的切换*/
extern void OSIntCtxSw(void);           /*(3)中断级的任务的切换*/
extern void OSStartHighRdy(void);       /*(4)开始最高优先级任务*/
extern void OSTickISR(void);	          /*(5)中断的时钟服务程序*/
           	
#define OS_ENTER_CRITICAL() asm tpa; asm sei; asm staa cpu_sr;		
#define OS_EXIT_CRITICAL()  asm ldaa cpu_sr;  asm tap;

#define OS_STK_GROWTH    1              /* 堆栈是从上往下长的*/

#endif                                  /* __OS_CPU_H */

/*
********************************************************************************************************
* End.
********************************************************************************************************
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?