收藏 分享(赏)

基于stm32的嵌入式操作系统程序设计及实现本科毕业论文.doc

上传人:无敌 文档编号:636053 上传时间:2018-04-16 格式:DOC 页数:33 大小:2.03MB
下载 相关 举报
基于stm32的嵌入式操作系统程序设计及实现本科毕业论文.doc_第1页
第1页 / 共33页
基于stm32的嵌入式操作系统程序设计及实现本科毕业论文.doc_第2页
第2页 / 共33页
基于stm32的嵌入式操作系统程序设计及实现本科毕业论文.doc_第3页
第3页 / 共33页
基于stm32的嵌入式操作系统程序设计及实现本科毕业论文.doc_第4页
第4页 / 共33页
基于stm32的嵌入式操作系统程序设计及实现本科毕业论文.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、 本科毕业论文(设计)论文题目 : 基于 STM32 的嵌入式操作系统程序设计及实现 姓 名 : 郝宇学 号 : 093001020144班 级 : 01 班年 级 : 2009 级专 业 : 电子信息工程学 院 : 信息工程学院指导教师 : 丁光哲 讲师完成时间 : 2013 年 5 月 20 日武昌工学院毕业论文(设计)专用稿纸作者声明本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业论文(设计)引起的法律结果完全由本人承担。毕业论文(设计)成果归

2、武昌工学院所有。特此声明作者专业 : 电子信息工程作者学号 : 093001020144作者签名 :年 月 日武昌工学院毕业论文(设计)专用稿纸基于 STM32 的嵌入式操作系统程序设计及实现郝宇The Design and Implementation of embedded operating system program based on STM32Hao, Yu2013 年 5 月 20 日武昌工学院毕业论文(设计)专用稿纸1摘 要随着科学技术不断的进步,工业生产越来越先进复杂,操作系统 C/OS-II是高效、稳定、可靠、节能的系统,广泛应用安防,消费电子中。而基于Cortex-M3

3、架构下的 STM32 是一款性价比优越新型微处理器,将 C/OS-II 移植到 STM32 上能够发挥其高效的性能,从而投入社会生产,制造出很多有用又实惠的电子产品,为我们的生活带来便利。本文主要的研究内容是 C/OS-II 操作系统理论分析、移植方法、应用程序设计及调试仿真实现。首先,对 C/OS-II 的理论分析,研究其实际应用及系统结构;其次,分析 STM32 硬件平台及 C/OS-II 的移植需求;最后,在 C/OS-II 上开发 LCD,LED ,按键 KEY 等应用程序,并对多任务系统调试分析。主要研究结论如下:(1)C/OS-II 操作系统主要分为任务管理、内存管理和时间管理三大

4、部分,其间通信是通过消息队列和消邮箱。(2)C/OS-II 移植主要在 OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM 三个文件中,涉及到数据类型、堆栈、中断定义和任务切换等。(3)应用程序设计优先级分配要合理,硬件平台初始化模块化处理。关键词:嵌入式系统;C/OS-II;移植武昌工学院毕业论文(设计)专用稿纸2AbstractWith the progress of science and technology constantly, advanced industrial production to more complex, the operating system C

5、/OS-II is efficient, stable, reliable, energy saving system, widely used in the security, and consumer electronics. And based on the STM32 architecture Cortex-M3 framework is a superior cost-effective new microprocessor, C/OS-II transplantation to STM32 can play its efficient performance, thus in so

6、cial production and create a lot of useful and affordable electronic product, bring convenience to our lives. This article main research content is C/OS-II operating system theory analysis, method of transplantation, application design and debugging of the simulation implementation. First of all, th

7、e theoretical analysis of C/OS-II, research the actual application and system structure; Second, analysis of STM32 hardware platform and the demand C/OS-II transplantation. Finally, on the C/OS-II development of LCD, LED, button KEY applications, and analysis of multitasking system debugging. Main r

8、esearch conclusion is as follows: (1) C/OS-II operating system consists of three major task management, memory management and time management, in which communication is through the message queue and email. (2) C/OS-II transplantation mainly in OS_CPU_C.C, OS_CPU_A.ASM file, OS_CPU.H, three involves

9、the data type definition and task switching etc, stack, interrupt. (3)The application design to the allocation of priorities, initialize the modular processing hardware platform. Key words: embedded system; C/OS-II; transplant武昌工学院毕业论文(设计)专用稿纸1目 录1 概 述 .11.1 研究的目的及意义 11.2 国内外研究状况综述 11.3 研究的主要内容 22 C

10、/OS-II 的理论介绍 .32.1 C/OS-II 各模块的基本功能 32.2 STM32 上移植方法 73 LCD 屏程序设计及调试 .123.1 工具概述 123.2 硬件结构 133.3 C 程序设计 153.4 调试 16结 语 .18主要参考文献 .19附 录 .20附录 1 主程序 代码 20武昌工学院毕业论文(设计)专用稿纸-1-1 概 述1.1 研 究 的 目 的 及 意 义C/OS-II是由美国工程师Jean Labrosse编写的嵌入式多任务的实时操作系统,包括实时内核、任务管理、时钟管理、任务间通信同步(信号量、邮箱、消息队列)和内存管理。除了有上面的优点外,C/OS-

11、II它具有别的操作系统没有的优点,具体如下:(1)源代码开放:C/OS-II的源代码可以免费获取,且标有清晰的注释,可读性好。(2)可移植性好:C/OS-II的源代码90以上是用 C语言编写的,可以很容易地把它移植到各类8位、16位和32位处理器上。(3)稳定性高:C/OS-II已得到FAA的标准认证,且目前已有上百个商业应用实例,其稳定性和可靠性是经过实践验证的。因此,C/OS-II广泛的应用于控制系统中,如在衍射仪高压控制系统中使用C/OS-II操作系统是一种很好的选择。控制系统是一个复杂的系统,它需要多个系统协同工作。传统的系统开发我们往往使用前后台的方式,但是这种开发方式在任务较简单的

12、开发中比较适用,对于任务比较复杂的系统往往力不从心。对于任务较多而且复杂的情况我们就要引入实时操作系统RTOS。RTOS体现了一种新的应用程序设计思想和开放的框架,用户在编写程序时,可以分别编写各个任务,不必同时将所有任务运行的各种可能情况记在心中,大大减小了程序编写的工作量,而且减小了出错的可能,保证最终程序具有高可靠性,从而降低程序的复杂度和开发周期。由于控制系统功能较复杂,诸多的功能可以划分成许多不同的模块,模块之间既彼此联系又相对独立,可以当作不同的任务来进行处理。所以,使用实时操作系统,将不同的功能划分成不同的任务进行处理使得设计大大简化。1.2 国 内 外 研 究 状 况 综 述嵌

13、入式系统是继IT 网络技术之后,又一个新的技术发展方向。中国单片机二十年论坛总结出,我国嵌入式起步较早,但总体来说发展缓慢,和国外的开发应用具有很大的差距,造成这一局面的原因是多方面的。在国内嵌入式系统开发方面,多是一些低层次的应用,停留在以前老的技术基础之上。例如,经典51系列单片机在上世纪我国的工业信息化改造过程中发挥了重要的作用,渗透到生产生活的各个方面。与此同时在大学电类相关的工科单片机教学中,依然是经典的51,微机原理依然是8086/88,这显然体现不了最新的技术特征,造成了大学教育与实际社会需要的脱节。国外的大部分高校和国内的极少数大学相继开设嵌入式微处理器设计等相关的前沿性的课程

14、,可见基于STM32技术将是未来微控制开发的主流方向。由于C/OS-II系统具有体积小、性能强、功耗武昌工学院毕业论文(设计)专用稿纸-2-低、可靠性高以及面向行业应用的突出特征,目前已经被广泛的应用于军事国防、消费电子、网络通信、工业控制等各个领域。今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference) 的报告指出,未来 5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的计算能力已超过了IBM ”,由此可以想见嵌入式计

15、算机工业的规模和广度。 1998年11月在美国加州举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。在国内,“维纳斯计划”和“女娲计划”一度闹得沸沸扬扬,机顶盒、信息加电这两年更成了IT热点,而实际上这些都是嵌入式系统在特定环境下的一个特定应用。据调查,目前国际上已有两百多种嵌入式操作系统,而各种各样的开发工具、应用于嵌入式开发的仪器设备更是不可胜数。在国内,虽然嵌入式应用、开发很广,但该领域却几乎还是空白,只有三两家公司和极少数人员在从事这方面工作。由此可见,嵌入式系统技术发展的空间真是无比广大。1.3 研 究 的 主 要 内 容本文是在基于 32

16、位的 ARM 微处理器 STM32 和嵌入式实时操作系统C/OS-II 上进行嵌入式操作系统的移植和功能实现。通过将嵌入式实时操作系统 C/OS-II 移植到 STM32 微处理器上,并对其进行软件功能的扩展和硬件扩展,实现了一个基本完整的嵌入式实时操作系统。建立了基于嵌入式 ARM 处理器的应用软件体系;将 C/OS-II 移植到 STM32,建立了嵌入式操作系统研究及 C/OS-II 下的开发环境体系。包括 C/OS-II 系统配置、C/OS-II 下的移植、启动、测试和功能实现等。完成了基于 STM32 的 C/OS-II 的应用设计。本文主要分为 4 章,章节安排如下: (1)绪论。主

17、要介绍了开题的背景和研究意义,以及 C/OS-II 的国内外研究现状。(2)C/OS-II 的理论介绍。主要介绍 C/OS-II 各模块的基本功能和在STM32 上移植方法。(3)硬件平台介绍及 LCD 屏程序设计及调试。多任务的建立并实现基本功能。(4)结语。主要介绍本论文中的优点和不足之处。武昌工学院毕业论文(设计)专用稿纸-3-2 C/OS-II 的理论介绍2.1 C/OS-II 各模块的基本功能2.1.1 C/OS-II 内核结构(1)C/OS-II 是以源代码形式提供的实时操作系统内核,其包含的文件结构如图 2.1 所示:基于C/OS-II操作系统进行应用时,设计时的主要任务是将系统

18、合理划分成多个任务,并由RTOS 进行调度,任务之间使用C/OS-II 提供的系统服务进行应用软件(用户代码)C/OS-II 内核文件(与处理器类型无关的代码)OS_CORE.C OS_TASK.COS_FLAG.C OS_TIME.COS_MBOX.C COS-II.COS_MEM.C COS-II.HOS_MUTEX.C OS_SEM.COS_Q.CC/OS-II 配置文件(与应用程序有关)OS_CFG.HINCLUDES.H移植 C/OS-II(与处理器类型有关的代码)OS_CPU.H OS_CPU_C.C OS_CPU_A.ASMCPU 定时器图 2.1 C/OS-II 内核结构软件硬

19、件武昌工学院毕业论文(设计)专用稿纸-4-通信,以配合实现应用系统的功能。与前后台系统一样,基于C/OS-II 的多任务系统也有一个main主函数,main函数由编译器所带的C启动程序调用。在main主函数中主要实现C/OS-II的初始化OSInit()、任务创建、一些任务通信方法的创建、C/OS-II的多任务启动OSStart()等常规操作。另外,还有一些应用程序相关的初始化操作,例如:硬件初始化、数据结构初始化等。 (2)OSInit()初始化C/OS-II所有的变量和数据结构,并建立空闲任务OS_TaskIdle(),这个任务总是处于就绪态。2.1.2 C/OS-II 内核体系结构图C/

20、OS-II内核主要对用户任务进行调度和管理,并为任务间共享资源提供服务。包含的模块有任务管理、任务调度、任务间通信、时间管理、内核初始化等。C/OS-II内核体系结构如图2.2所示:图 2.2 内核结构图2.1.3 任务状态及其转换关系在多任务系统中,任务是设计者实现应用系统的基本形式,也是C/OS-II系统进行调度的基本单元。任务可以是一个无限的循环,也可以在一次执行后被操作系统删除。任务函数和任何C函数一样,具有一个返回类型和一个参数,但是它决不返回。任务控制块(TCB)是一个数据结构OS_TCB ,一旦一个任务创建,就有一个和它关联的TCB被赋值。当任务的CPU 使用权被剥夺时,它用来保存该任务的状态。这样,当任务重新获得CPU使用权时,可以从TCB中获取任务切换前的信息,准确的继续运行。

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

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报