论文部分内容阅读
在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。由于8位单片机本身资源的限制,以前很少有在8位机上运行的操作系统,随着8位机功能和资源的增加,渐渐出现了不少使用在8位单片机上的实时系统,比如用在AVR单片机上的AVRX,针对8051兼容MCU的RTX51等。这些操作系统主要用汇编语言写成,相对来讲代码效率较高,但也有它本身的限制,即作为一种专用的操作系统而言,它们很难移植到其他平台上和在其他场合使用。一般的嵌入式实时操作系统如VxWorks、Linux、μC/OS等,本身具有大量代码,占用单片机大量的存储空间,桎梏了8位嵌入式系统的发展。因此,在嵌入式产品的开发中,有必要开发和使用一种简单的操作系统,在应用中生成少量代码,以节省单片机宝贵的存储单元,同时还能确保系统的实时性和可靠性,以达到应用的目的。时间触发调度器就是这样一种简单的操作系统,它具有操作系统的基本思想和方法,但是比操作系统小。时间触发方式下,系统的行为不仅在功能上确定,而且在时间上也是确定的。本文主要做了下面的工作:
(1)深入分析了嵌入式系统开发中时间触发方式和事件触发方式的优劣,依据Pont等人提出的时间触发调度器的思想,在单个ATMEL8位微控制器上,实现了该嵌入式调度器的移植。
(2)设计了一个基于时间触发的操作系统。该操作系统以时间触发的合作式调度器为核心,在调度器的基础上扩展了设备管理的功能,提出了一个通用的设备驱动管理框架,并给出了完整的代码实现。同时在任务设计和中断管理方面也提出了一些建议,这对改善系统的性能也大有帮助。
(3)应用上述成果,先对单片机上的任务进行划分,然后根据项目的实际要求设置调度器时标周期。简化了系统的设计;更好地保证了系统的实时性、可靠性和可预测性;增强了系统的维护性。