- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UCOS-II在51单片机上的移植.
UCOS-II在51单片机上的移植
做操作系统的移植首先明白什么是移植,操作系统是一种鱼硬件(处理器)相关的软件,根据某一种处理器来设计的操作系统通常不能运行在那其他处理器。所谓的移植是指修改操作系统,然后加载到一个处理器上。本文只讲解步骤,至于理论知识,需要大家自己学习。
步骤:
在UCOS-II的官网上下载,操作系统。
在网上找到或者自己建三四个文件:
OS_CPU_A.ASSM
OS_CPU.H
OS_CPU_C.C
OS_CFG.H
以上文件需要修改
3,移植源码的编写和修改
OS_CPU.H
定义与编译器有关的数据类型
typedef unsigned char BOOLEAN; /* 不能使用bit定义,结构 */
typedef unsigned char INT8U; /* 无符号8位数 */
typedef unsigned 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; /* 单精度浮点数 */
typedef double FP64; /* 双精度浮点数 */
typedef unsigned char OS_STK; /* 定义堆栈入口宽度为8位 */
typedef unsigned char OS_CPU_SR; /* 定义CPU状态字的宽度为8位 */
#define OS_TASK_SW() OSCtxSw() /* 任务级的任务切换宏 */
定义临界段宏:
#define OS_ENTER_CRITICAL() EA=0
#define OS_EXIT_CRITICAL() EA=1
OS_CPU_C.C?
初始化任务栈
void *OSTaskStkInit(void(*task)(void *pd), void *ppdata, void *ptos, INT16U opt) REENTRANT
{
OS_STK *stk;
ppdata=ppdata; //pata data 为52文件关键字
opt =opt; /* opt没被用到,保留此语句防止警告产生 */
stk =(OS_STK *)ptos; /* 任务堆栈最低有效地址 */
*stk++=15; /* 任务堆栈长度 */
*stk++=(INT16U)task 0xFF; /* 任务代码地址低8位 */
*stk++=(INT16U)task 8; /* 任务代码地址高8位 */
/* 处理器是按特定的顺序将寄存器存入堆栈的,所以用户在将寄存器存入堆栈的时候也要依照这一顺序 */
*stk++=0x00; /* PSW */
*stk++=0x0A; /* ACC */
*stk++=0x0B; /* B */
*stk++=0x00; /* DPL */
*stk++=0x00; /* DPH */
*stk++=0x00; /* R0 */
*stk++=0x01; /* R1 */
*stk++=0x02; /* R2 */
*stk++=0x03; /* R3 */
*stk++=0x04; /* R4 */
*stk++=0x05; /* R5 */
*stk++=0x06; /* R6 */
*stk++=0x07; /* R7 */
/* 不用保存SP,任务切换时根据用户堆栈长度计算得出 */
*stk++=(INT16U)(ptos+MAX_STK_SIZE) 8; /* ?C_XBP 仿真堆栈指针高8位 */
*stk++=(INT16U)(ptos+MAX_STK_SIZE)
您可能关注的文档
- U3ERP相关业务流程..doc
- U300塔器计算..doc
- u3d07用quaternion来对一个坐标点进行旋转..doc
- U861产品报价..doc
- U872固定资产培训练习..doc
- U872财务管理系统实验..doc
- u2270b应用原理..doc
- u-pvc排水管道安装工艺..doc
- U8800+pro【民间ROM退回】【修改电量图标】..docx
- U872财务实验数据..doc
- 安徽合力股份有限公司2023-2024年应届高校毕业生招聘重点基础提升模拟试题附带答案完整版及参考答.docx
- 九里山南侧施工方案.docx
- 九曲超深基坑施工方案.docx
- 安徽古井集团有限责任公司整理招聘80人历年高频考题难、易错点模拟试题附带答案完整版带答案(考试直接用.docx
- 九龙坡地毯施工方案.docx
- 《A会计师事务所审计风险控制的研究》.docx
- 乡村公路5号线施工方案.docx
- 安徽古井集团有限责任公司应届高校毕业生招聘高频考题难模拟试题附带答案题库加下载答案.docx
- 《以英语为母语的欧美留学生初级阶段语音偏误分析》.docx
- 安徽古井集团有限责任公司整理校园招聘公开引进高层次人才笔试答案题库带答案(必威体育精装版).docx
文档评论(0)