?? os_cpu.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
/*********************************************************************************************************
定義與編譯器無關(guān)的數(shù)據(jù)類型
*********************************************************************************************************/
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; /* 單精度浮點數(shù)(32位長度) */
typedef double FP64; /* 雙精度浮點數(shù)(64位長度) */
typedef INT32U OS_STK; /* 堆棧是32位寬度 */
/*********************************************************************************************************
以下是兼容UC/OS V1.XX的數(shù)據(jù)類型,在uC/OS-II沒有使用
*********************************************************************************************************/
#define BYTE INT8S
#define UBYTE INT8U
#define WORD INT16S
#define UWORD INT16U
#define LONG INT32S
#define ULONG INT32U
/*********************************************************************************************************
與ARM7體系結(jié)構(gòu)相關(guān)的一些定義
*********************************************************************************************************/
#define OS_CRITICAL_METHOD 2 /* 選擇開、關(guān)中斷的方式 */
#define OS_STK_GROWTH 1 /* 堆棧是從上往下長的 */
/*********************************************************************************************************
** Function name: OsSwiHandle1
** Descriptions: SWI函數(shù)聲明
** input parameters: iHandle: 用于區(qū)分功能
** 其他: 根據(jù)功能決定
** output parameters: 根據(jù)功能決定
** Returned value: 根據(jù)功能決定
*********************************************************************************************************/
__swi(0x00) void OsSwiHandle1(int iHandle);
/*********************************************************************************************************
** Function name: OS_TASK_SW
** Descriptions: 任務(wù)級任務(wù)切換函數(shù)
** input parameters: none
**
** output parameters: none
** Returned value: none
*********************************************************************************************************/
__inline void OS_TASK_SW (void)
{
OsSwiHandle1(0);
}
/*********************************************************************************************************
** Function name: OSStartHighRdy
** Descriptions: 運行優(yōu)先級最高的任務(wù)
** input parameters: none
**
** output parameters: none
** Returned value: none
*********************************************************************************************************/
__inline void OSStartHighRdy (void)
{
OsSwiHandle1(1);
}
/*********************************************************************************************************
** Function name: OS_ENTER_CRITICAL
** Descriptions: 關(guān)中斷
** 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: 任務(wù)切換到系統(tǒng)模式
** input parameters: none
**
** output parameters: none
** Returned value: none
*********************************************************************************************************/
__inline void ChangeToSYSMode (void)
{
OsSwiHandle1(4);
}
/*********************************************************************************************************
** Function name: ChangeToUSRMode
** Descriptions: 任務(wù)切換到用戶模式
** 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
*********************************************************************************************************/
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -