基于51单片机的实时操作系统的研究.doc
《基于51单片机的实时操作系统的研究.doc》由会员分享,可在线阅读,更多相关《基于51单片机的实时操作系统的研究.doc(87页珍藏版)》请在三一办公上搜索。
1、本科毕业设计(论文)基于51单片机的实时操作系统的研究中文摘要:基于51单片机的嵌入式RTOS操作系统技术的研究本论文主要介绍了当前的RTOS的发展,及当前的RTOS的现状。现在基于单片机软件的发展已经从单一的线程结构方式逐渐变为多任务的设计思想,和其他的RTOS一样,单片机OS也是采用了微内核的结构,内核提供的功能有:任务的调度、任务之间的通信与同步、内存管理、时钟管理 中断管理等。其他的应用组件可有用户自己添加,以系统进程或函数的方式工作,因而系统是可以裁减的。SmallRTOS51 就是这样一内核,本论文将在此内核的基础上利用内核中的消息队列的函数实现串口通信的功能,先建立消息的发送和接
2、收队列,为了使发送和接收不冲突,再建立信号量,实现消息队列访问的互斥。串口通信是使用中断的方式发送和接收数据的,要发送或接收的任务把数据放入发送或接收的消息队列中,串口发送或接收中断依次从消息队列中取出数据并发送或接收,再把数据在LED数码显示器上显示。当消息队列中没有数据,不会产生中断。关键词: 单片机 ; RTOS ; 任务; 串口通信 ;英文摘要:Research on Technology of Embedded Real-time SystemsBased on 51 MirocontrollerThis thesis introduced the development of th
3、e current RTOS primarily, and the present condition of the current RTOS, now according to the development of the micro controller software have changed into gradually from the single line distance construction method to the design of multitasking thoughts, as the other RTOS , micro controller s OS i
4、s construction to adopt the micro kernel construction , function of the micro kernel provided :The Task Management、Intertask Communication and Synchronization、Memory Management 、Time Management 、Interrupt Management etc. Other applied module the useful an oneself increases, work by system progress o
5、r functions, as a result the system is what can cut. The SMALLRTOS51 is like this a RTOS kernel , this paper will make use of the kernels message queues to realizes Serials functions of correspondence. First establish the message queues of send out and receive, for the sake of making send out and re
6、ceives to do not conflict, stablishing one more semaphore, realizing with each other scolding of Serial interface. Serial correspondence is a way to use the interruption to sending or receiving the data, Task to sending or receiving the data that put the data into message queues to sending or receiv
7、ing, the interruption of a sending or a receiving take out from the message queues, data is on the LED figures display manifestation. . When have no the data in the message queues, it cant produce the interruption.Key words: Mirocontroller; Real Time Operating System; Serial correspondence; 目录中文摘要:I
8、英文摘要:II第一章 简 介11.1 嵌入操作系统的发展现状11.2. 实时多任务操作系统(RTOS)简介11.3 嵌入操作系统的特点41.4. 嵌入是系统的开发过程51.4.1 代码优化注意的问题61.4.2 本论文中电路所使用的单片机的简单介绍61.5 开发工具KEIL C51 编译器简介8第二章 RTOS设计概述122.1 实时多任务操作系统(RTOS)的设计思想122.2 Small RTOS51原理142.2.1 任务的状态和优先级142.2.2 任务调度和堆栈变换方法172.2.3 任务通信:消息队列和信号量35第三章 基于SMALL RTOS 51应用393.1 定义所需的变量和
9、函数393.2串口通信和显示电路及程序代码45附录:58后记58参考文献:59翻译英文部分60翻译中文部分72第一章 简 介1.1 嵌入操作系统的发展现状在当前数字信息技术和网络技术高速发展的后PC(Post-PC)时代,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活等方方面面中。随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越和人们的生活紧密结合。 C语言的出现使操作系统开发变得简单。从上世纪80年代开始,出现了各种各样的商用嵌入式操作系统百家争鸣的局面,比较著名的有VxWorks、pSOS和Windows CE等等,这些操作系统
10、大部分是为专有系统而开发的。另外,源代码开放的嵌入式Linux,由于其强大的网络功能和低成本,近来也得到了越来越多的应用。 随着信息家电的普及,智能化、网络化将会无所不在,所有这些都离不开嵌入式软件,而在嵌入式软件只中最核心的莫过于RTOS(Real Time Operating System,实时操作系统)。我们都非常熟悉Windows这样的操作系统,但却不一定熟悉嵌入式系统中常用的RTOS。如今,微软已经推出了Windows的嵌入式版本Windows CE。而风靡一时的Linux也在嵌入式系统中扮演着重要角色。这样看来,传统桌面操作系统和嵌入式操作系统的界线似乎也在淡化.用于嵌入式环境的操
11、作系统RTOS与桌面操作系统有很多本质的不同。这些不同的特性导致产品开发的不同结果1.2. 实时多任务操作系统(RTOS)简介目前嵌入式应用领域的一个发展倾向是采用实时多任务操作系统(Real Time Operation System即RTOS)。RTOS的应用是和前面所述的应用复杂化直接相关的。过去一个单片机应用程序所控制的外设和履行的任务不多,采取一个主循环和几个顺序调用的子程序模块 即可满足要求。目前单片机芯片本身的性能大幅度提高,可以适应应用复杂化这一要求,问题在于软件上。随着应用的复杂化,一个嵌入式控制器系统可能要同时控制/监视很多外设,要求有实时响应,有很多处理任务,各个任务之间
12、有多种信息传递,如果仍采用原来 的程序设计方法存在两个问题。一是中断可能得不到及时响应,处理时间过长,这对于一些控制场合是不允许的,对于网络通信方面则会降低系统整体的信息流量。二是系统任务多,要考虑的各种可能也多,各种资源如调度不当就会发生死锁,降低软件可靠性,程序编写的任务量成指数增加。实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等) 管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实
13、时性的要求。 工程师在编写程序时,可以分别编写各个任务,不必同时将所有任务运行的各种可能情况 记在心中,大大减小了程序编写的工作量,而且减小了出错的可能,保证最终程序具有高可靠性。实时多任务操作系统,以分时方式运行的多个任务,看上去好像是多个任务“同时”运行。任务之间的切换应当以优先级为根据,只有优先服务方式的RTOS才是真正的实时操作系统,时间分片方式和协作方式的RTOS并不是真正的“实时”。许多公司的RTOS 采用全优先服务方式的任务调度,可以使中断潜伏时间减到最小。其RTOS的主要功能模 块有调度和中断处理,任务管理,事件管理,定时器管理,管理,循环队列管理,资源管理,固定存储块管理,规
14、范的UART管理,自动掉电管理。这些也是标准的RTOS所应具有的基本功能。RTOS也体现了一种新的系统设计思想和一个开放的软件框架,工程师可以在不大量变动系统其它任务的情况下增加或去掉一个任务;一个项目开发的过程中,可以有多个工程师同时进行系统的软件开发,各个人之间只要制订好规程和协议即可,既缩短了开发时间, 又降低了最终软件产品对于具体某个开发者个人的依赖性。为RTOS设计的成熟和通用的任务可以以库函数的形式供其它人继续利用,和C语言的设计思想一致。嵌入式系统通常包括构成软件的基本运行环境的硬件和操作系统两部分。嵌入式系统的运行环境和应用场合决定了嵌入式系统具有区别于其它操作系统的一些特点。
15、 (1)嵌入式处理器嵌入式处理器可以分为三类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。嵌入式微处理器就是和通用计算机的微处理器对应的CPU。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只保留和嵌入式相关的功能即可,这样可以满足嵌入式系统体积小和功耗低的要求。目前的嵌入式处理器主要包括:PowerPC、Motorola 68000、ARM系列等等。嵌入式微控制器又称为单片机,它将CPU、存储器(少量的RAM、ROM或两者都有)和其它外设封装在同一片集成电路里。常见的有8051。 嵌入式DSP专门用来对离散时间信号进行极快的
16、处理计算,提高编译效率和执行速度。在数字滤波、FFT、谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。(2)微内核结构大多数操作系统至少被划分为内核层和应用层两个层次。内核只提供基本的功能,如建立和管理进程、提供文件系统、管理设备等,这些功能以系统调用方式提供给用户。一些桌面操作系统,如Windows、Linux等,将许多功能引入内核,操作系统的内核变得越来越大。内核变大使得占用的资源增多,剪裁起来很麻烦。 大多数嵌入式操作系统采用了微内核结构,内核只提供基本的功能,比如:任务的调度、任务之间的通信与同步、内存管理、时钟管理等。其它的应用组件,比如网络功能、文件系统、GUI系统等均
17、工作在用户态,以系统进程或函数调用的方式工作。因而系统都是可裁减的,用户可以根据自己的需要选用相应的组件。 (3)任务调度 在嵌入式系统中,任务即线程。大多数的嵌入式操作系统支持多任务。多任务运行的实现实际是靠CPU在多个任务之间切换、调度。每个任务都有其优先级,不同的任务优先级可能相同也可能不同。任务的调度有三种方式:可抢占式调度、不可抢占式调度和时间片轮转调度。不可抢占式调度是指,一个任务一旦获得CPU就独占CPU运行,除非由于某种原因,它决定放弃CPU的使用权;可抢占式调度是基于任务优先级的,当前正在运行的任务可以随时让位给优先级更高的处于就绪态的其它任务;当两个或两个以上任务有同样的优
18、先级,不同任务轮转地使用CPU,直到系统分配的CPU时间片用完,这就是时间片轮转调度。 目前,大多数嵌入式操作系统对不同优先级的任务采用基于优先级的抢占式调度法,对相同优先级的任务则采用时间片轮转调度法。 (4)硬实时和软实时 有些嵌入式系统对时间的要求较高,称之为实时系统。有两种类型的实时系统:硬实时系统和软实时系统。软实时系统并不要求限定某一任务必须在一定的时间内完成,只要求各任务运行得越快越好;硬实时系统对系统响应时间有严格要求,一旦系统响应时间不能满足,就可能会引起系统崩溃或致命的错误,一般在工业控制中应用较多。 (5)内存管理 针对有内存管理单元(MMU)的处理器设计的一些桌面操作系
19、统,如Windows、Linux,使用了虚拟存储器的概念。虚拟内存地址被送到MMU。在这里,虚拟地址被映射为物理地址,实际存储器被分割为相同大小的页面,采用分页的方式载入进程。一个程序在运行之前,没有必要全部装入内存,而是仅将那些当前要运行的部分页面装入内存运行。 大多数嵌入式系统针对没有MMU的处理器设计,不能使用处理器的虚拟内存管理技术,采用的是实存储器管理策略。因而对于内存的访问是直接的,它对地址的访问不需要经过MMU,而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址;而且,大多数嵌入式操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须
20、为它分配足够的连续地址空间,然后全部载入主存储器的连续空间。 由此可见,嵌入式系统的开发人员不得不参与系统的内存管理。从编译内核开始,开发人员必须告诉系统这块开发板到底拥有多少内存;在开发应用程序时,必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外,由于采用实存储器管理策略,用户程序同内核以及其它用户程序在一个地址空间,程序开发时要保证不侵犯其它程序的地址空间,以使得程序不至于破坏系统的正常工作,或导致其它程序的运行异常;因而,嵌入式系统的开发人员对软件中的一些内存操作要格外小心。 (6)内核加载方式 嵌入式操作系统内核可以在Flash上直接运行,也可以加载到内存中运行。Flash
21、的运行方式,是把内核的可执行映像烧写到Flash上,系统启动时从Flash的某个地址开始执行。这种方法实际上是很多嵌入式系统所采用的方法。内核加载方式是把内核的压缩文件存放在Flash上,系统启动时读取压缩文件在内存里解压,然后开始执行。这种方式相对复杂一些,但是运行速度可能更快,因为RAM的存取速率要比Flash高。 由于嵌入式系统的内存管理机制,嵌入式操作系统对用户程序采用静态链接的形式。在嵌入式系统中,应用程序和操作系统内核代码编译、链接生成一个二进制影像文件来运行。1.3 嵌入操作系统的特点嵌入式系统给人的第一印象就是占用空间小。所以,普通的Linux或者Windows操作系统要变成嵌
22、入式操作系统,首先就是要进行裁剪。然而,与桌面环境相比,嵌入式环境对于操作系统系统要求不仅仅是“小”,二者在设计要求上有着本质的不同。这些不同主要体现在可裁剪性、实时性和可靠性等三个方面。可裁剪性: 从硬件环境来看,桌面操作系统具有标准化的CPU、存储和I/O架构,而嵌入式环境中的RTOS的硬件环境只有标准化的CPU,没有标准化的存储、I/O和显示器架构。从应用环境来看,桌面操作系统面向复杂多变的应用,而RTOS面向单一设备的单一应用。从开发界面来看,桌面操作系统试图给开发人员提供一个“黑箱”,让开发人员通过一系列标准的系统调用来使用操作系统中的功能,而嵌入式试图为开发人员提供一个“白箱”,让
23、开发人员可以自主控制系统的所有资源。应用于嵌入式环境的RTOS,在研发的时候就必须立足于改变自身、开放自身,让开发人员可以根据硬件环境和应用环境的不同而对操作系统进行灵活的裁剪和配置,因为对于任何一个具体的嵌入式设备,它的功能是确定的,因此只要从原有操作系统中把这个特定应用所需的功能拿进来即可。应当指出的是:如果一个操作系统平台只能依靠手工的方式去掉一些代码,这根本就不是可裁剪性。所谓可裁剪性是在软件工程阶段利用软件配置方法实现软件构件的“即插即用”。可裁剪性带给用户的一个最直接的好处是硬件成本降低,这对于成本敏感的应用,如消费电子类设备,具有重要的现实意义。由于设备中只包含应用程序用到的那部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 实时 操作系统 研究

链接地址:https://www.31ppt.com/p-4147902.html