论文部分内容阅读
随着科学技术的发展,越来越多的嵌入式产品开始融入到人们的生活中,多任务的要求使得嵌入式实时操作系统技术变成嵌入式研究焦点。现在市面上知名的嵌入式实时操作系统几乎都是由国外公司开发的。而且国外实时系统一般价格昂贵,各项特性也难以满足大众需求,因地域、语言原因,技术支持也多有不便。因此,对嵌入式实时系统的研究有着重要的意义。本文在研究国内外现有的嵌入式实时操作系统内核的基础上,结合Cortex M3处理器的特性,设计了一款功能齐全的实时操作系统内核CoOS,具有如下特性:针对Cortex M3系列微控制器设计的实时系统内核;支持优先级抢占和时间片轮转两种调度方式;零中断延迟时间;高度可裁剪性;支持信号量、事件标志、互斥体、邮箱、队列五种同步与通信方式;支持堆栈溢出检测。本设计从最核心的任务调度开始设计整个系统,包括底层实现、调度模块等,并进行单元测试。测试通过后,再逐步添加时间管理、同步与通信方式以及存储管理到整个系统中,并进行单元测试和集成测试。经过测试以及修改,目前系统能够稳定运行。系统的任务调度和中断正常,达到了设计目标。本文从处理器架构分类开始,首先简单介绍了Cortex M3处理器的特性和国内外的一些RTOS发展现状,并给出CoOS的设计目标。其次介绍了Cortex M3处理器与RTOS密切相关的一些部件,包括寄存器、指令集、工作模式、特权等级、堆栈设置、嵌套向量中断控制器等模块,为后面CoOS的设计与实现奠定理论基础。然后详细地介绍了实时系统内核的设计与实现,主要包括:任务管理、时间管理、同步与通信机制、存储管理等,并给出了各个模块测试方法以及集成测试方法,并分析了CoOS具备的几大特性,包括实时性、安全性、可移植性、可裁剪性等,给出了CoOS与目前两种主流RTOS的性能对比。最后给出了一个STM32设备上基于CoOS多任务应用程序设计的实例。通过这个实例介绍了CoOS的配置和使用方法。