论文部分内容阅读
随着物联网日益普及,对智能终端、智能传感器等智能设备的需求迅速增长,嵌入式微处理器和嵌入式实时操作系统(Real-Time Operating System,RTOS)是智能设备的核心,物联网的应用对智能设备的实时性、可靠性、安全性等提出了更高要求,必将得到进一步的发展。在智能设备中,通常都采用嵌入式多任务实时操作系统(RTOS),一方面,RTOS和应用程序是共同运行在同一个CPU上,这必然导致应用程序的CPU利用率低,以及应用程序响应速度和系统实时性能下降。其次,由于软件的并行性,导致RTOS的定时中断执行时间与任务数量成正比。最后,在多任务操作系统中,总任务切换时间所占用的CPU时间,与任务切换频率成正比,且由于各任务占用堆栈空间不一致,导致任务切换时间不一致,从而导致系统可靠性下降。针对上述的不足之处,本文以典型RTOS(μC/OS-II)为实例,在研究了μC/OS-II的多任务管理机制,时钟机制,和任务切换机制后,提出了一种μC/OS-II性能优化方法和硬件化方法。首先,先将μC/OS-II中的任务创建、任务管理、任务切换、定时管理、信号量和互斥信号量管理使用硬件方式实现,形成硬件化操作系统内核(Hardware Real-Time Operating System,HRTOS)。再将定时管理迁移到硬件中用硬件定时器实现,由于硬件结构的并行性,使得定时中断的处理时间与任务数量无关。其次,精简并重写μC/OS-II底层代码,去除由HRTOS实现的功能和代码,同时设计并实现了相应的CPU与HRTOS的通信协议,这部分称之为软核(SRTOS)。一方面,由于HRTOS与CPU并行运行,可以提高用户程序的CPU利用率。另一方面,节省的μC/OS-II代码存储区,可以提供给更丰富的用户功能。最后,将HRTOS与CPU紧密结合,在CPU中为每一个任务分配专有的通用寄存器组以及堆栈区,使得任务切换不需要花费任何CPU时间,且只需一个时钟周期。这带来的额外好处是提高了系统的实时性能,以及可预测性。