⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os_cpu.h

📁 SmartARM2400系列开发板全套资料
💻 H
字号:
/****************************************Copyright (c)****************************************************
**                            Guangzhou ZHIYUAN electronics Co.,LTD.
**
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name:               os_cpu.h
** Latest modified Date:    2007-11-20
** Latest Version:          1.0
** Descriptions:            μCOS-II在ARM7上的移植代码CPU配置部分,用ADS1.2编译
**
**--------------------------------------------------------------------------------------------------------
** Created by:              Chenmingji
** Created date:            2007-11-20
** Version:                 1.0
** Descriptions:            The original version
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             
** Modified date:           
** Version:                 
** Descriptions:            
**
*********************************************************************************************************/
#ifndef __OS_CPU_H
#define __OS_CPU_H
#ifdef  __cplusplus
extern "C" {
#endif
/*********************************************************************************************************
  定义与编译器无关的数据类型
*********************************************************************************************************/
typedef unsigned char  BOOLEAN;                                         /*  布尔变量                    */
typedef unsigned char  INT8U;                                           /*  无符号8位整型变量           */
typedef signed   char  INT8S;                                           /*  有符号8位整型变量           */
typedef unsigned short INT16U;                                          /*  无符号16位整型变量          */
typedef signed   short INT16S;                                          /*  有符号16位整型变量          */
typedef unsigned int   INT32U;                                          /*  无符号32位整型变量          */
typedef signed   int   INT32S;                                          /*  有符号32位整型变量          */
typedef float          FP32;                                            /*  单精度浮点数(32位长度)    */
typedef double         FP64;                                            /*  双精度浮点数(64位长度)    */

typedef INT32U         OS_STK;                                          /*  堆栈是32位宽度              */

/*********************************************************************************************************
  以下是兼容UC/OS V1.XX的数据类型,在uC/OS-II没有使用
*********************************************************************************************************/
#define BYTE           INT8S
#define UBYTE          INT8U
#define WORD           INT16S
#define UWORD          INT16U
#define LONG           INT32S
#define ULONG          INT32U


/*********************************************************************************************************
  与ARM7体系结构相关的一些定义
*********************************************************************************************************/
#define OS_CRITICAL_METHOD      2                                       /*  选择开、关中断的方式        */
#define OS_STK_GROWTH           1                                       /*  堆栈是从上往下长的          */

/*********************************************************************************************************
** Function name:           OsSwiHandle1
** Descriptions:            SWI函数声明
** input parameters:        iHandle: 用于区分功能
**                          其他:    根据功能决定
** output parameters:       根据功能决定
** Returned value:          根据功能决定
*********************************************************************************************************/
__swi(0x00) void OsSwiHandle1(int iHandle);
__swi(0x01) void *OsSwiHandle2(int iHandle, int iIndex);

/*********************************************************************************************************
** Function name:           OS_TASK_SW
** Descriptions:            任务级任务切换函数
** input parameters:        none
**                          
** output parameters:       none
** Returned value:          none
*********************************************************************************************************/
__inline void OS_TASK_SW (void)
{
	OsSwiHandle1(0);
}

/*********************************************************************************************************
** Function name:           OSStartHighRdy
** Descriptions:            运行优先级最高的任务
** input parameters:        none
**                          
** output parameters:       none
** Returned value:          none
*********************************************************************************************************/
__inline void OSStartHighRdy (void)
{
	OsSwiHandle1(1);
}

/*********************************************************************************************************
** Function name:           OS_ENTER_CRITICAL
** Descriptions:            关中断
** input parameters:        none
**                          
** output parameters:       none
** Returned value:          none
*********************************************************************************************************/
__inline void OS_ENTER_CRITICAL (void)
{
	OsSwiHandle1(2);
}

/*********************************************************************************************************
** Function name:           OS_EXIT_CRITICAL
** Descriptions:            开中断 
** input parameters:        none
**                          
** output parameters:       none
** Returned value:          none
*********************************************************************************************************/
__inline void OS_EXIT_CRITICAL (void)
{
	OsSwiHandle1(3);
}
/*********************************************************************************************************
** Function name:           ChangeToSYSMode
** Descriptions:            任务切换到系统模式 
** input parameters:        none
**                          
** output parameters:       none
** Returned value:          none
*********************************************************************************************************/
__inline void ChangeToSYSMode (void)
{
	OsSwiHandle1(4);
}

/*********************************************************************************************************
** Function name:           ChangeToUSRMode
** Descriptions:            任务切换到用户模式 
** input parameters:        none
**                          
** output parameters:       none
** Returned value:          none
*********************************************************************************************************/
__inline void ChangeToUSRMode (void)
{
	OsSwiHandle1(5);
}

/*********************************************************************************************************
** Function name:           OSISRBegin
** Descriptions:            中断开始处理
** input parameters:        none
**                          
** output parameters:       none
** Returned value:          none
*********************************************************************************************************/
__inline void OSISRBegin (void)
{
	OsSwiHandle1(6);
}

/*********************************************************************************************************
** Function name:           OSISRNeedSwap
** Descriptions:            判断中断是否需要切换 
** input parameters:        none
**                          
** output parameters:       none
** Returned value:          none
*********************************************************************************************************/
__inline void OSISRNeedSwap (void)
{
	OsSwiHandle1(7);
}

#ifdef __cplusplus
    }
#endif
#endif                                                                  /*  __OS_CPU_H                  */

/*********************************************************************************************************
  END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

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