开放实时嵌入式软件平台TOPPERS的研究现状
以TOPPERS/ASP内核为例,对静态配置流程进行简要描述。静态配置流程图如图2所示,静态配置可以分为3个阶段:
①配置器阶段1。在该阶段中,配置器读取系统配置文件和符号取值表生成用于参数计算的C源文件,再经交叉C编译器编译、链接,生成包含具体参数的结果文件(Motorola S格式)和对应的符号表。
②配置器阶段2。在该阶段中,配置器依据上一阶段生成的符号表从参数计算结果文件中取得实际值,再依据事先定义好的模板文件,生成包含具体内核资源实现的内核,构成与初始化文件和相应的头文件(也可生成其他文件,由使用者自定义)。所生成的源文件与内核和应用一起编译、链接,即可生成最终的目标文件和相应的符号表。
③配置器阶段3。该阶段为一个可选的检查阶段。配置器依据定义在模板文件中的规则,结合符号表对最终的目标文件(Motorola S格式)进行检查,如违反规则,输出相应错误信息。
采用静态配置,可以自动化高效地实现对系统的配置和系统资源的创建和分配,减少系统资源的浪费。由于所有系统资源在编译时就已经创建完毕,不需要在运行时再进行创建工作,所以系统的启动过程也将得到加快。另外在静态配置过程中可以实现一些编译器所不能完成的复杂验证工作,如堆栈的起始地址是否对齐、堆栈的大小是否对齐等。
(2)TOPPERS标准中断模型
由于中断处理和硬件紧密相关,常见的实时操作系统中,中断具体怎样处理没有过多的要求,而是留给移植时实现。在所有TOPPERS内核中,中断处理都遵循如图3所示的TOPPERS标准中断处理模型。
该模型旨在提高中断处理的抽象度,提升中断相关代码的复用性和可移植性。在该模型中,所有中断都具有相应的中断优先级,中断优先级(默认-1~-7)和任务优先级(默认1~15)之间过渡平滑,构成一个完整的优先级体系。在该模型中,每一个中断都有一条中断请求线接收一个或多个设备的中断请求。当一个中断请求发生后,经过相应的判断和比较之后,由中断处理函数处理。中断处理函数可以由使用者定义,也可由配置器自动生成。在中断处理函数中调用由使用者定义的中断服务例程。在某个中断的处理过程中,可以允许被具有更高优先级的中断打断,即允许中断嵌套。
TOPPERS标准中断处理模型中定义的所有环节都可以由硬件实现,大部分处理器的中断控制器也包含这些环节的功能,如ARM Cortex-M3架构处理器的嵌套向量中断控制器。若某个特定处理器无法硬件实现该模型中某个环节的功能,则可以通过软件的方式模拟实现。软件模拟的方式会带来相应的开销,如延长中断响应时间等。然而这种开销相对于该模型所带来的中断处理抽象度的提升是可以接受的。
结语
本文对开放实时嵌入式软件平台TOPPERS的发展历史、目前研究现状(包括主要成果物和主要特点)以及未来十年的发展方针进行了介绍和分析。其主要特色在于:TOPPERS为一个相对完善的体系,覆盖了嵌入式系统的多个领域;TOPPERS以ITRON项目20多年发展成果为基础,具有较高的品质和可靠性;灵活的许可证,使得可以自由使用TOPPERS的成果(包括商业应用),同时有较少的限制。
实时操作系统 TOPPERS ITRON 软件平台 嵌入式系统 相关文章:
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)
- 嵌入式实时操作系统设计探讨(10-15)
- 嵌入式实时操作系统μC/OS-II 在P89V51RD2中的移植(04-09)
- LPC2292的伪中断与伪中断处理(03-25)
- 网络处理器IP2022及其在嵌入式牌照识别系统中的应用设计(05-16)