嵌入式实时操作系统 需求规格说明
- 格式:doc
- 大小:141.00 KB
- 文档页数:10
分 类:软件项目计划
使用者:E-fanciers
需求规格说明
Version: 1.0
项 目 承 担 队伍:烟台大学
计算机学院
E-fanciers小组
撰 写 人(签名): 许超 于歌
完 成 日 期: 2009-7-16
本文档使用小组: E-fanciers小组
评审负责人(签名): 孝瑞
评 审 日 期: 2009-7-19
2 目 录
一、引言 ............................................... 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
3 6.3软件接口..........................................9
6.4故障处理.........................................10
七、其他需求 ......................................... 10
4 需求规格说明
(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返回*/
5 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(用一个独立的任务实现),可在超级终端显示信息和执行命令。
扩展功能