与处理器相关代码

上传人:ji****72 文档编号:37535285 上传时间:2018-04-18 格式:DOC 页数:21 大小:146KB
返回 下载 相关 举报
与处理器相关代码_第1页
第1页 / 共21页
与处理器相关代码_第2页
第2页 / 共21页
与处理器相关代码_第3页
第3页 / 共21页
与处理器相关代码_第4页
第4页 / 共21页
与处理器相关代码_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《与处理器相关代码》由会员分享,可在线阅读,更多相关《与处理器相关代码(21页珍藏版)》请在金锄头文库上搜索。

1、os_cpu.h/*Copyright (c)* * Guangzhou ZHIYUAN electronics Co.,LTD. * * http:/ * *-File Info- * File Name: os_cpu.h * Last modified Date: 2006-01-06 * Last Version: v2.0* Descriptions: COS-II 在 LPC210x 上的移植代码 CPU 配置部分,用 ADS1.2 编 译 * *- * Created By: 陈明计 * Created date: 2003-06-05 * Version: v1.0 * Des

2、criptions: 创建 * *- * Modified by: 陈明计 * Modified date: 2003-06-19 * Version: v1.3 * 1、增加软件中断服务功能 * 2、因取消变量 OSNeedToSwapContext 而做的改动 * *- * Modified by: 甘达 * Modified date: 2006-01-06 * Version: v2.0 * Descriptions: 升级注释 * *- * Modified by: * Modified date: * Version: * Descriptions: * * */ #ifdef O

3、S_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 short INT16U; /* 无符号 16 位整型变量 */ typedef signed short

4、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

5、INT8S #define UBYTE INT8U #define WORD INT16S #define UWORD INT16U #define LONG INT32S #define ULONG INT32U/* * * * 与 ARM7 体系结构相关的一些定义* */ #define OS_CRITICAL_METHOD 2 /* 选择开、关中断的方式 */_swi(0x00) void OS_TASK_SW(void); /* 任务级任务切换函数 */ _swi(0x01) void _OSStartHighRdy(void); /* 运行优先级最高的任务 */ _swi(0x02)

6、 void OS_ENTER_CRITICAL(void); /* 关中断 */ _swi(0x03) void OS_EXIT_CRITICAL(void); /* 开中断 */_swi(0x40) void *GetOSFunctionAddr(int Index); /* 获取系统服务函数入口 */ _swi(0x41) void *GetUsrFunctionAddr(int Index);/* 获取自定义服务函数入口 */ _swi(0x42) void OSISRBegin(void); /* 中断开始处理 */ _swi(0x43) int OSISRNeedSwap(void)

7、; /* 判断中断是否需要切换 */_swi(0x80) void ChangeToSYSMode(void); /* 任务切换到系统模式 */ _swi(0x81) void ChangeToUSRMode(void); /* 任务切换到用户模式 */ _swi(0x82) void TaskIsARM(INT8U prio); /* 任务代码是 ARM 代码 */ _swi(0x83) void TaskIsTHUMB(INT8U prio); /* 任务代码是 THUMB */#define OS_STK_GROWTH 1 /* 堆栈是从上往下长的 */#define USR32Mode 0x10 /* 用户模式 */ #define SYS32Mode 0x1f /* 系统模式 */ #define NoInt 0x80#ifndef USER_USING_MODE #defineUSER_USING_MODE USR32Mode /* 任务缺省模式 */ #endif#ifndef OS_SELF_EN #defineOS_SELF_EN 0 /* 允许返回 OS 与任务分别编译、 固化*/ #endifOS_CPU_EXT INT32U OsEnterSum; /* 关中断计数器(开关中断的 信号量) */* * * End Of File *

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号