推荐文档列表

嵌入式系统通用的应用软件结构研究

时间:2021-10-01 09:43:36 计算机论文 我要投稿

嵌入式系统通用的应用软件结构研究

摘要:嵌入式实时多任务操作系统在软件编程上有一定的相似性。这种相似的特性,使得我们可以将个别系统的编程经验推广到更多的系统上。本文就μC/OS-II内核的任务管理和内存管理进行基本的介绍,并介绍一个通用的应用软件结构。然后,与之相对应,提供两个不同操作系统下的应用实例。

    关键词:嵌入式系统 多任务 编程

嵌入式系统通用的应用软件结构研究

引言

嵌入式系统的面向应用特性,使得大多数程序员沉陷于不同的应用中。在进入新的一轮开发后,往往只有一些简单的经验可供参考。为了加快应用的开发进度,有必要研究一种统一的应用软件结构,使开发人员能够通过简单模式套用,简化大量系统研究方面的工作,以加快嵌入式开发人员对新系统的理解和使用。

操作系统μC/OS-II和ECOS(Embedded Configurable OS)是我在研发过程中使用过的两个系统。这两个源码公开的系统是我们研究的基础。开发平台依次是PC机和EP7212开发板。

1 μC/OS-II内核

对于一个嵌入式系统内核,我们最关心的是:任务调度、内存管理及时间特性等。这里,只介绍与多任务编程联系最多的任务调度和内存管理。

1.1 任务调度

任务的状态有休眠、就绪及运行几种。任务调度就是遵循一定的原则,使多个任务共同使用同一处理机的过程。这一过程主要是通过对任务控制块(TCB)的管理来实现的。

当一个任务建立时,μC/OS-II系统为其所对应的OS_TCB赋值;当任务的CPU使用权被剥夺时,系统用OS_TCB来保存该任务的状态;当任务重新得到CPU使用权时,系统就可通过任务控制埠来使任务从被中断处继续执行下去。

在μC/OS-II中,TCB内包含如下基本项:

*OSTCBStkPtr是一个指向当前任务栈顶的指针,通过允许每个任务拥有自己的栈来减小系统的内存开销;

*OSTCBNextOSTCBPrev用于任务控制块的双重链接;

*OSTCBDly用于任务延时或超时限制

[1] [2] [3] [4]