嵌入式实时操作系统 需求规格说明

  • 格式:doc
  • 大小:141.00 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分类:软件项目计划使用者:E-fanciers

需求规格说明

Version: 1.0

项目承担队伍:烟台大学

计算机学院

E-fanciers小组撰写人(签名):许超于歌

完成日期:2009-7-16

本文档使用小组:E-fanciers小组

评审负责人(签名):孝瑞

评审日期:2009-7-19

目录

一、引言 (4)

1.1编写目的 (4)

1.2项目背景 (4)

1.3定义 (4)

1.4参考资料: (5)

二、任务概述 (5)

2.1目标 (5)

2.2运行环境 (6)

2.3条件与限制 (6)

三、数据描述 (7)

3.1静态数据 (7)

3.2动态数据 (7)

四、功能需求 (7)

4.1功能划分 (7)

4.2功能描述 (7)

五、性能要求 (8)

5.1时间特性 (8)

5.2适应性 (8)

六、运行需求 (8)

6.1用户界面 (8)

6.2硬件接口 (9)

6.3软件接口 (9)

6.4故障处理 (10)

七、其他需求 (10)

需求规格说明

(Requirements Specification)

一.引言

1.编写目的(阐明编写需求说明书的目的,指明读者对象。)

1.作为嵌入式实时操作系统软件系统开发技术协议的参考依据,为开发提供参考。

2.根据齐鲁软件设计大赛2009 赛题嵌入式实时操作系统(RTOS)设计的要求特点和当

前背景下此类软件需求方向的特点,对被开发软件系统的主要功能、性能进行完整描述,为软件开发者进行详细设计和编程提供基础。

3.为软件提供测试和验收的依据,即为选取测试用例和进行验收的依据。

2.项目背景(可包括:(1)项目的委托单位,开发单位和主管部门;(2)该软件系统与其他系统的关系。)

随着微电子技术、计算机技术和网络通信技术的发展,嵌入式系统已广泛应用在各个领域,包括消费电子、汽车电子、网络通信、工业设备、航空航天和国防军事等。随着嵌入式技术的发展,工业领域也一改过去传统的单片机应用模式,逐渐将一些新嵌入式技术引入到系统中。特别是作为软件基础的嵌入式操作系统已广泛为业界所接受,借以提高系统的开发效率和运行效率。是否采用嵌入式操作系统,已成为工业设备品质优劣的标志之一。

当今的嵌入式操作系统领域呈现百家争鸣的状态。据最近的调查数据显示,嵌入式操作系统有数十种之多的。这种多样性存在是必然的,是由嵌入式系统的定制性所决定的,是针对各个领域和行业的不同需求的应对。也就是说,各个嵌入式操作系统都有自己的应用领域,针对不同的应用没有绝对的优劣之分,不会出现一种操作系统垄断的局面。自主开发嵌入式操作系统绝对不是多余的,也是是对这种多样性的自然顺应,应该可拥有自己的用武之地。

有些国内嵌入式厂商将希望寄托在Linux之上,以为它可以帮助解决所面临的版税和安全等问题。但事实并非完全如此,至少在嵌入式系统领域。首先,Linux还是泊来货,国人并未掌握其核心技术和进程,也并未解决对外依赖的问题。其次,Linux是为桌面系统而设计的,并不能很好地满足嵌入式系统高效性和灵活性的要求;再次,Linux的一统也违背了嵌入式系统应用灵活定制的本质特性。

3.定义(列出文档中用到的专门术语定义和缩写词的原文。)

int taskInit(void);

/*创建一个任务, 返回: 返回任务编号tid, >0: 成功, 其他: 失败.*/

/*name: 任务名称, entryPtr : 任务函数入口, stack_size: 任务栈大小, priority: 任务优先级*/

int taskCreate(char *name, void *entryPtr, int stack_size, int priority);

/*启动一个任务, 让taskCreat创建的任务参加调度*/

int taskStart(unsigned char tid);

/*tid: 任务编号, 由taskCreate返回*/

int taskPriorityGet(unsigned char tid);

int taskPrioritySet(unsigned char tid, int newPriority);

/*获取和设置任务优先级, 用于动态调整*/

int taskSuspend(unsigned char tid);

/*将任务挂起, 该任务退出调度*/

int taskDelete(unsigned char tid);

/*将任务删除该任务退出调度且回收任务分配的资源*/

int semCreate(void);

/*互斥信号量创建, 返回信号量标识sid, <0: 失败*/

int semTake(int sid);

int semGive(int sid);

/*互斥信号量获取和释放*/

int taskSleep(int ticks);

/*任务睡眠(非忙等), 由任务自己调用, 主动阻塞一段时间. 时间单位为tick, 即10ms*/ 4.参考资料(可包括:(1)项目开发计划;(2)文档所引用的资料,标准和规范。列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。)

[1] 邵贝贝.μC/OS-Ⅱ—源码公开的实时嵌入式操作系统.北京:中国电力出版2002

[2] 郑宗汉.实时系统软件基础.北京:清华大学出版社,2003

[3] 陈智育,温彦军,陈琪编著.VxWorks程序开发实践.北京:人民邮电出版社,2004

[4] 罗蕾.嵌入式实时操作系统及应用开发.北京:北京航空航天出版社,2007

[5] 于渊.自己动手写操作系统.北京:电子工业出版社,2005

[6] LPC2138 芯片手册

二.任务概述

1.目标

本软件作品作为嵌入式实时操作系统系统,采用各种算法和策略,始终保证系统行为的可预测性(Predictability)。可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现,更准确地讲是个体最坏情况的表现。

基本功能

1.基于参考硬件平台,建立硬件抽象层,完成基本硬件初始化,建立时钟中断;

2.在硬件抽象层基础上,建立多任务操作系统环境;

3.任务调度采用同级时间片轮询机制;

4.实现任务间基本通讯机制:互斥信号量(共享内存);

5.实现基本的时钟管理机制:任务睡眠阻塞;

6.实现一个RS232串口驱动。基于串口驱动实现一个命令行Shell(用一个独立的任

务实现),可在超级终端显示信息和执行命令。

扩展功能