ERTOS一般有用于计时的系统调用,例如RTLlnux的系统调用gettimeofday(),其精度可以达到μs级,可以满足多数延迟时间的计时。但是,由于系统调用时有一个压栈、出栈的过程,以及从用户空间到系统空间的转换,这个过程对计时会产生一定的影响。
(2)OS时钟寄存器
PXA 255处理器内包含一个32位的OS时钟寄存器,由一个3.6864 MHz的晶振驱动。可以在计时开始和结束时分别读取该寄存器的值,换算出对应的延迟时间。
(3)GPIO引脚
AMI-120接口上有许多GPIO引脚,可以考虑在计时往一个空闲的GPIO引脚上写一个特定的信号,利用CPLD中实现的计数器对两个信号间的时间间隔进行计数。驱动CPLD的时钟是可以更换的,其最大允许频率为200 MHz。这样,考虑到CPLD的引脚间延迟,用这种方法计时的精度可以达到数+ns。
5 ERTOS对比测试
操作系统是数字系统中进行资源管理的软件。狭义的操作系统只包括进行进程管理、内存管理、中断管理等基本功能的内核部分;而广义上讲,操作系统除了内核外,还包括GUI、API、大量的驱动程序,甚至一些应用程序也可以认为是操作系统的一部分。现代操作系统在其内部提供了丰富的功能模块,而嵌入式操作系统的一个显著的特点就是,可以根据需要对这些功能模块进行裁剪。典型的ERTOS层次结构如图5所示。
操作系统提供的功能模块一方面扩展了系统的功能,方便了用户的使用;另一方面,又在一定程度上会影响系统的性能。ERTOS在对系统的功能进行选择和剪裁时,就需要在功能和性能之间选择一个折中点,使得系统能够提供尽可能多的功能,同时又能满足其实时性的需要。这就要求在进行系统的设计、选择或者裁剪时,对操作系统增减或替换不同模块时的性能进行对比分析。
利用上文中的测试实验平台,可以在两块开发板上分别配置有/无某个功能模块的系统,将测试方法分别应用于两个系统上。由于被测的系统采用的是相同的硬件架构,消除了硬件对系统性能的影响。对得到的测量结果进行对比分析,就可以比较精确和客观地得出该功能模块对整个系统性能影响的大小。
同样,该实验平台也可以用于测试分析不同ERTOS系统的性能。
6 总 结
本文对三种ERTOS性能测试方法进行了研究,对一些指标和特性进行了分析。文章的后半部分给出了一个测试实验平台的结构及其功能说明,并针对实验平台给出了系统计时的三种方法。文中提供的测试方法和手段对ERTOS的选择和开发有一定的参考价值。
文章来源于领测软件测试网 https://www.ltesting.net/