Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78276
  • 博文数量: 107
  • 博客积分: 5380
  • 博客等级: 大校
  • 技术积分: 1180
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-07 10:53
文章分类

全部博文(107)

文章存档

2011年(107)

我的朋友
最近访客

分类:

2011-05-28 10:55:10

摘要:在嵌进式系统中使用实时操纵系统,可以进步系统的稳定性、可靠性和实时性。MicroC/OS-II是一个完整的,可移植、可固化、可剪裁的抢占式多任务实时内核,并且开放源代码,得到了广泛应用。本文结合具体应用,先容了MicroC/OS-II在80C196上移植实现过程和留意事项。
关键词:实时操纵系统MicroC/OS-II80C196移植

在嵌进式系统开发中,很长时间以来,一直采用传统的嵌进式系统软件设计模式:无穷循环+中断服务。该模式下,主程序为一个无穷循环,单任务顺序执行各个处理任务。在循环之外,设计一个或多个中断服务函数,用于处理异步事件。在相对简单的应用中,这种模式,完全可以胜任。而对于实时性要求较高、处理任务较多的应用,就会暴露出实时性差的缺点,甚至不能够达到应用的要求,系统可靠性低,稳定性差。引进实时操纵系统,可以较好解决这个题目。

MicroC/OS-II是一个完整的,可移植、可固化、可剪裁的抢占式多任务实时内核,并且开放源代码,在嵌进式系统中得到了广泛应用。为了实现老系统功能升级,达到了不改变硬件设计,增加系统功能、进步系统性能的目的,从而采用该实时操纵系统。本文先容了将其移植应用于80C196的具体实现和留意事项。

所谓移植,就是使一个实时内核能够在其他微处理器或微控制器上运行。移植要做的是,修改或编写与处理器硬件相关的代码。由于80C196系统的资源有限,除了代码移植,还要根据具体应用,对MicroC/OS-II进行裁剪,以达到系统的设计要求。

1. MicroC/OS-II简介

MicroC/OS-II的系统结构见图1。

MicroC/OS-II最主要的特点之一是源代码开放,有利于用户根据具体应用对操纵系统进行充分的裁减。这也使得其可移植性非常的强。

MicroC/OS-II是为嵌进式应用专门设计的,完全可与应用软件融合在一起,进行编译、连接,进而作为产品的一部分发布。

MicroC/OS-II是完全可剥夺型的实时内核,总是运行停当任务中最高优先级的任务,即预备停当的高优先级任务可以剥夺正在运行的低优先级任务的CPU使用权。

2. 移植的基本思路

2.1 编译器

采用TASKING公司的C196编译器,可以方便的嵌进汇编语言,因此该移植所有的函数都在OS_CPU_C.C中实现,没有OS_CPU_A.ASM文件。能够采用C语言编码的,尽量采用C语言编码;不能采用C代码的,采用嵌进汇编的方式。以此降低代码的分散度,进步代码的可读性。

2.2 代码移植

代码移植,需要修改或编写与处理器硬件相关的代码。包括与处理器相关的数据类型定义,函数定义,存储器操纵等。其中的主要任务有:

1) 重新编辑INCLUDES.H文件,增加与应用相关的头文件;改写OS_CPU.H文件;

2) 改写OS_CFG.H文件;编写OS_CPU_C.C;

3) 优化代码效率。

2.3 存储资源

由于80C196系统的物理资源十分有限,需要对系统内核进行充分的裁剪。

片内可用内

阅读(201) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~