微实时操作系统设计与实现毕业设计精选.docx

上传人:b****7 文档编号:10024161 上传时间:2023-02-08 格式:DOCX 页数:23 大小:30.34KB
下载 相关 举报
微实时操作系统设计与实现毕业设计精选.docx_第1页
第1页 / 共23页
微实时操作系统设计与实现毕业设计精选.docx_第2页
第2页 / 共23页
微实时操作系统设计与实现毕业设计精选.docx_第3页
第3页 / 共23页
微实时操作系统设计与实现毕业设计精选.docx_第4页
第4页 / 共23页
微实时操作系统设计与实现毕业设计精选.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

微实时操作系统设计与实现毕业设计精选.docx

《微实时操作系统设计与实现毕业设计精选.docx》由会员分享,可在线阅读,更多相关《微实时操作系统设计与实现毕业设计精选.docx(23页珍藏版)》请在冰豆网上搜索。

微实时操作系统设计与实现毕业设计精选.docx

微实时操作系统设计与实现毕业设计精选

微实时操作系统设计与实现毕业设计

 目

 录

 摘要..........................................................................................................错误!

未定义书签。

 1.1选题目标和意义.........................................................................错误!

未定义书签。

 1.2

 中国外研究现实状况和趋势...................................................错误!

未定义书签。

 1.2.1ARM处理器.......................................................................错误!

未定义书签。

 1.2.2操作系统..........................................................................错误!

未定义书签。

 2系统设计................................................................................................错误!

未定义书签。

 2.1可行性分析.................................................................................错误!

未定义书签。

 2.2需求分析.....................................................................................错误!

未定义书签。

 2.3系统功效设计.............................................................................错误!

未定义书签。

 2.3.1总体结构...........................................................................错误!

未定义书签。

 2.3.2RTOS内核处理步骤.........................................................错误!

未定义书签。

 3系统开发环境和工具............................................................................错误!

未定义书签。

 3.1开发环境.....................................................................................错误!

未定义书签。

 3.2开发工具.....................................................................................错误!

未定义书签。

 4系统具体设计........................................................................................错误!

未定义书签。

 4.1任务创建模块.............................................................................错误!

未定义书签。

 4.2任务调度模块.............................................................................错误!

未定义书签。

 4.3任务通信模块.............................................................................错误!

未定义书签。

 5系统具体实现........................................................................................错误!

未定义书签。

 5.1任务创建模块.............................................................................错误!

未定义书签。

 5.1.1任务..................................................................................错误!

未定义书签。

 5.1.2任务状态..........................................................................错误!

未定义书签。

 5.1.3任务控制块......................................................................错误!

未定义书签。

 5.1.4任务就绪表......................................................................错误!

未定义书签。

 5.2任务调度模块.............................................................................错误!

未定义书签。

 5.2.1基于优先级抢占调度......................................................错误!

未定义书签。

 5.2.2时钟节拍函数..................................................................错误!

未定义书签。

 5.3任务间通信.................................................................................错误!

未定义书签。

 6系统测试................................................................................................错误!

未未定义书签。

 6.1项目一:

内核移植到周立功LPC2138测试及RS232串口实现错误!

未定义书签。

 6.2项目二:

内核多任务抢占调度及任务睡眠机制.....................错误!

未定义书签。

 6.3项目三:

任务管理测试.............................................................错误!

未定义书签。

 6.4项目四:

任务间通信测试-互斥信号量...................................错误!

未定义书签。

 7总结和展望............................................................................................错误!

未定义书签。

 Abstract....................................................................................................错误!

未定义书签。

 参考文件....................................................................................................错误!

未定义书签。

 摘要

 微实时操作系统设计和实现

 田德伟(德州学院计算机系,山东德州253023)

 摘要:

伴随物联网发展,嵌入式系统在大家生活中作用日益凸显。

嵌入式操作系统在嵌入式开发中

 也逐步得到了开发人员关注,怎样在确保嵌入式系统效率前提下,降低开发成本,成为很多厂商关注焦点。

该微实时操作系统和现行linux系统含有相比,含有更高实时性;和µ/COS-ii相比内核更精简、在控制产品成本中有巨大优势。

该系统关键针对低端微处理器平台,意在降低开发成本同时提升嵌入式系统对外围设备管理效率。

该系统支持八个优先级,每个优先级能够创建一个任务,任务间同时采取信号量机制。

 关键字:

嵌入式实时操作系统,µ/COS-ii,嵌入式系统

 1引言

 1.1选题目标和意义

 伴随微电子技术快速发展,芯片功效愈加强大,微嵌入式实时操作系统必将成为嵌入式操作系统发展趋势,这不仅能降低成本,缩小产品体积,还能增强产品可靠性。

同时,软件硬件紧密结合,嵌入式软件和硬件界线愈加模糊,嵌入式软件时常以硬件形态存在,这种方法可提升实时性,增强可维护性。

 1.2

 中国外研究现实状况和趋势

 嵌入式操作系统种类繁多,有资源开销极少IC卡操作系统,也有功效较强网络计算机操作系统。

这些嵌入式操作系统从功效到性能各具特色,为多种硬件环境及应用提供了对应支持和服务。

 现在市场上共有几十种操作系统,有多任务系统,也有单任务系统;有实时系统系统,也有分时系统。

总而言之,不一样厂商推出操作系统或多或少全部有差异,但很多嵌入式操作系统通常含有以下部分内容和功效:

系统关键、窗口图形系统、文件系统、设备驱动程序和网络协议等。

 嵌入式操作系统系统将有以下方向趋势:

1.伴随微电子技术快速发展,芯片功效愈加强大,嵌入式实时操作系统必将成为嵌入式操作系统发展趋势,这不仅能降低成本,缩小产品体积,还能增强产品可靠性。

同时,软件硬件紧密结合,嵌入式软件和硬件界线愈加模糊,嵌入式软件时常以硬件形态存在,这种方法可提升实时性,增强可维护性。

2.嵌入式操作系统会和嵌入应用软件协同发展。

嵌入式系统中关键角色包含嵌入式应用软件,嵌入式系统应用领域千差万别,只有充足重视应用软件发展,才能满足丰富多彩应用要求。

 1.2.1MARM处理器

 ARM(AdvancedRISCMachines)是微处理器行业一家著名企业,设计了大量高性能、廉价、耗能低RISC处理器、相关技术及软件。

技术含有性能高、成本低和能耗小特点。

适适用于多个领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。

 ARM处理器共有7种运行模式:

 用户模式(user,use)

 正常程序实施模式快速中止模式(fiq)用于高速数据传输和通道处理外部中止模式(irq)用于通常中止处理管理模式(sve)

 操作系统使用一个保护模式数据访问终止模式(abt)用于虚拟存放及存放保护未定义指令终止模式(und)用于支持经过软件方针硬件协处理器系统模式(sys)用于运行特权级操作系统任务除了用户模式之外6种处理器模式称为特权模式(privilegedmodes)。

在这些模式下,程序能够访问全部系统资源,也能够任意进行处理器模式切换。

除系统模式外,其它5种特权模式又称为异常模式。

 处理器模式能够经过软件控制进行切换,也能够经过外部中止或异常处理过程进行切换。

大多数用户程序运行在用户模式下。

这时,应用程序不能够访问部分受操作系统保护系统资源,应用程序也不能直接进行处理器模式切换。

当需要进行处理器模式切换时,应用程序能够产生异常处理,在异常处理过程中进行处理器处理器模式切换。

这种体系结构能够使系统控制整个系统资源。

 当应用程序发生异常中止时,处理器进入对应异常模式。

在每一个异常模式中全

 部有一组寄存器,供对应异常处理程序使用,这么就能够确保在进入异常模式时,拥护模式下寄存器(保留了程序运行状态)不被破坏。

系统模式并不是经过异常过程进入,它和用户模式含有完全一样寄存器。

不过系统模式属于特权模式,能够访问全部系统资源,也能够直接进行处理器模式切换。

它关键供操作系统任务使用。

通常操作系统任务需要访问全部系统资源,同时该任务仍然使用拥护模式寄存组,而不是使用异常模式下对应寄存器组,这么能够确保当异常中止发生时任务状态不被破坏。

 ARM处理器含有37个寄存器,这些寄存器包含以下两类寄存器。

 

(1)31个通用寄存器:

包含程序计数器PC等,这些寄存器全部是32位寄存器。

 

(2)6个状态寄存器:

状态寄存器也是32位寄存器,不过只使用了其中12位。

 在ARM处理器7种模式下全部有一组对应寄存器组。

在任意时刻,可见寄存器组包含15个通用寄存器R0~R14、一个或两个状态寄存器和PC。

在全部寄存器中,有些是多种模式下共用同一个物理寄存器,有些是多种模式自己独立拥有物理寄存器。

七种运行模式下寄存器分配以下图1.1所表示:

 图1-11.2.2操作系统

 现在操作系统种类繁多,极难用单一标准统一分类。

依据操作系统使用环境和对作业处理方法来考虑,可分为批处理系统、分时系统、实时系统。

下面介绍一操作系统五大类型:

批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。

 1.批处理操作系统

 批处理(BatchProcessing)操作系统工作方法是:

用户将作业交给系统操作员,

 系统操作员将很多用户作业组成一批作业,以后输入到计算机中,在系统中形成一个自动转接连续作业流,然后开启操作系统,系统自动、依次实施每个作业,最终由操作员将作业结果交给用户。

 批处理操作系统特点是:

多道和成批处理。

 2.分时操作系统

 分时(TimeSharing)操作系统工作方法是:

一台主机连接了若干个终端,每个终端有一个用户在使用。

用户交互式地向系统提出命令请求,系统接收每个用户命令,采取时间片轮转方法处理服务请求,并经过交互方法在终端上向用户显示结果。

用户依据上步结果发出下道命。

分时操作系统将CPU时间划分成若干个片段,称为时间片。

操作系统以时间片为单位,轮番为每个终端用户服务。

每个用户轮番使用一个时间片而使每个用户并不感到有别用户存在。

分时系统含有多路性、交互性、独占性和立即性特征。

多路性指,伺时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不一样时刻轮番使用CPU。

交互性是指,用户依据系统响应结果深入提出新请求(用户直接干预每一步)。

独占性是指,用户感觉不到计算机为其它人服务,就像整个系统为她所独占。

立即性指,系统对用户提出请求立即响应。

它支持在不一样终端多个用户同时使用一台计算机,相互独立互不干扰,用户感到仿佛一台计算机全为她所用。

 常见通用操作系统是分时系统和批处理系统结合。

其标准是:

分时优先,批处理在后。

前台响应需频繁交互作业,如终端要求;后台处理时间性要求不强作业。

 3.实时操作系统

 实时操作系统(RealTimeOperatingSystem,RTOS)是指使计算机能立即响应外部事件请求在要求严格时间内完成对该事件处理,并控制全部实时设备和实时任务协调一致地工作操作系统。

实时操作系统要追求目标是:

对外部请求在严格时间范围内做出反应,有高可靠性和完整性。

其关键特点是资源分配和调度首先要考虑实时性然后才是效率。

另外,实时操作系统应有较强容错能力。

 4.网络操作系统

 网络操作系统是基于计算机网络,是在多种计算机操作系统上按网络体系结构协议标准开发软件,包含网络管理、通信、安全、资源共享和多种网络应用。

其目标是相互通信及资源共享。

在其支持下,网络中各台计算机能相互通信和共享资源。

其关键特点是和网络硬件相结合来完成网络通信任务。

 5.分布式操作系统

 它是为分布计算系统配置操作系统。

大量计算机经过网络被连结在一起,能够取得极高运算能力及广泛数据共享。

这种系统被称作分布式系统(DistributedSystem)。

它在资源管理,通信控制和操作系统结构等方面全部和其它操作系统有较大区分。

因为分布计算机系统资源分布于系统不一样计算机上,操作系统对用户资源需求不能像通常操作系统那样等候有资源时直接分配简单做法而是要在系统各台计算机上搜索,找到所需资源后才可进行分配。

对于有些资源,如含有多个副本文件,还必需考虑一致性。

所谓一致性是指若干个用户对同一个文件所同时读出数据是一致。

为了确保一致性,操作系统须控制文件读、写、操作,使得多个用户可同时读一个文件,而任一时刻最多只能有一个用户在修改文件。

分布操作系统通信功效类似于网络操作系统。

因为分布计算机系统不像网络分布得很广,同时分布操作系统还要支持并行处理,所以它提供通信机制和网络操作系统提供有所不一样,它要求通信速度高。

分布操作系统结构也不一样于其它操作系统,它分布于系统各台计算机上,能并行地处理用户多种需求,有较强容错能力。

 22

 系统设计

 2.1

 可行性分析

 

(1)技术可行性:

依据开发人员提供系统函数接口、实时性及实现系统各项条件,从技术角度研究实现系统可行性。

 

(2)经济可行性:

经济可行性是可行性研究关键组成部分,它用于评定基于计算机系统经济合理性,给出系统开发成本论证。

本系统是为保险企业信息管理而做系统,装上该应用系统后即可使用,在系统移植方面简单,对硬件设备要求深入降低,节省了无须要支出,所带来效益大于系统开发成本,在经济上完全可行。

 (3)法律可行性:

研究在系统开发过程中可能包含多种协议、侵权、责任和多种和法律相关抵触问题。

本系统开发不触犯国家任何法律规章,不包含侵权等内容,法律上完全可行。

 总而言之,该系统符合全部开发目标,能够确保系统开发有一定实时性和稳定性。

所以,该微实时操作系统开发是可行。

 2.2

 需求分析

 1.参考硬件平台为:

ARM92410。

实际上,也可用其它博创科技系列CPU和试验班,只要CPU有足够RAM、Flash存放器和一个串口扩展就能够了。

但和ARM92410区分越小越好,最终验证功效在全部统一在ARM92410上进行测试;2.硬件抽象层接口遵照μC/OS-II借口规范;3.操作系统调用采取函数调用方法,不用中止陷入方法;4.每个任务拥有自己独立任务堆栈,作为任务私有存放区;5.同时支持任务数不多于8个,空闲任务编号为0;7.串口接口参数:

波特率115200,8位数据,1为停止位,无硬件流控制;8.任务优先级级数多于8级,最高优先级为0,最低优先级为7,空闲任务优先级为7。

 2.33

 系统功效设计

 2.331.1总体结构

 硬件层驱动层RTOS内核应用层互斥信号量任务调度模块任务间通信用户任务1用户任务n用户任务2周立功LPC2138海量存储器串口RS232Uart.HFlash.h图2-1

 1.硬件层硬件层关键包含:

含量Flash存放器、串口RS232等,它是确保系统实现指定任务最底层部件。

 2.驱动层驱动层作用是给操作系统提供接口,使其能管理对应硬件。

 3.RTOS内核RTOS内核关键任务是完成多任务之间调度和同时。

 4.应用层在用户应用程序中能够创建用户自己任务。

任务之间通信关键依靠信号量。

 2.33S.2RTOS内核处理步骤

 S1.RTOS内核结构框架

 系统初始化任务创建任务间通信任务调度任务1任务n+1任务n任务2任务1任务n+1任务n任务2启动最高优先级任务图2-22.查找最高优先级任务步骤

 查找最高优先级的TCB以任务优先级表为索引TCB列表OSTCBRdyTbl[]最高优先级TCB任务切换图2-33.:

 任务通信中使等候状态优先级最高任务从等候列表中删除,并把其放入就绪列表中步骤以下:

 查找等待状态最高优先优先级Pvent.OSEventTbl优先级位图存储就绪列表最高优先级任务控制块放入就绪表OSRdyTbl优先级位图存储就绪列表图2-433

 系统开发环境和工具

 3.11

 开发环境

 硬件平台:

博创科技ARM92410,也可用其它博创科技系列CPU和试验板,只要CPU有足够RAM、Flash存放器和一个串口扩展就能够了。

但和ARM92410区分越小越好,最终验证全部统一在ARM92410上进行。

 内存:

 4MBROM:

64MB开发工具:

ADS1.23.2

 开发工具

 ADS1.2ADS是ARM企业集成开发环境软件,她功效很强大。

她前身是SDT,SDT是ARM企业几年前开发环境软件,现在SDT早已经不再升级。

ADS包含了四个模块分别是:

SIMULATOR;c编译器;实时调试器;应用函数库。

ADS编译器调试器较SDT全部有了很大改观,ADS1.2提供完整WINDOWS界面开发环境。

c编译器效率极高,支持c和c++,使工程师能够很方便使用C语言进行开发。

提供软件模拟仿真功效,使没有Emulators学习者也能够熟悉ARM指令系统。

配合

 FFT-ICE使用,ADS1.2提供强大实时调试跟踪功效,片内运行情况尽在掌握。

ADS1.2需要硬件支持才能发挥强大功效。

现在支持硬件调试器有Multi-ICE和兼容Multi-ICE调试工具如FFT-ICE。

 44

 系统具体设计

 该内核设计采取结构化设计方法,以算法为中心,从处理四处理数据流。

内核一级数据流图图4-1所表示:

 空闲TCB池任务创建模块Shell界面模块任务调度模块进程间通信模块空闲TCB任务就绪列表任务编号任务控制块任务控制块Shell命令行空闲OS_EVENT池空闲OS_EVNET事件创建模块事件列表互斥信号量标示事件控制块超级终端显示键盘手动输入任务列表任务控制块任务控制块任务控制块图4-14.1

 任务创建模块

 首先,创建任务taskCreate()函数从空闲TCB池取得空闲TCB,并依据用户分配堆栈大小确定任务堆栈栈顶指针,调用任务堆栈初始化函数OSTaskStkInit()对任务堆栈进行初始化,返回任务堆栈栈顶指针;然后调用函数OSTCBInit()完成对任务控制块初始化工作;最终把任务控制块存放任务就绪列表中,具体步骤图4-2所表示:

 空闲TCB池空闲TCB任务控制块初始化任务堆栈初始化任务堆栈栈顶指针任务编号任务列表空闲TCB图4-24.2

 任务调度模块

 首先taskStart()函数依据任务编号和任务列表得到任务控制块,把任务编号和优先级放存放到OSIDPrioTbl[]和就绪列表中,然后开启任务调度器,依据OSIDPrioTbl[]和就绪列表查找进入就绪态优先级最高任务,最终调用函数OS_TASK_SW()完成任务切换。

任务调度具体步骤图4-3所表示:

 OSTCBRdyTbl[]列表taskStart()

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1