3 系统性能测试
3.1 CPU使用率
µC/OS-Ⅱ提供一个计算CPU使用率的统计任务OSTaskStat()。该任务每秒钟运行一次,计算当前的CPU使用率。如果应用程序打算使用统计任务,必须在初始化时建立一个唯一的任务,并且只在这个任务中调用OSStatInit()。换句话说,在调用系统启动函数OSStart()之前,必须先建立一个任务,在这个任务中调用统计初始化函数OSStatInit(),然后再建立应用程序中的其它任务。
3.2 任务堆栈使用情况
有时候决定任务实际所需的堆栈大小是很有必要的,这样我们就可以避免为任务分配过多的堆栈空间。µC/OS-II提供的函数OSTaskStkChk()可以为开发者提供这种有价值的信息。每调用一次该函数,就会执行一次堆栈检验。每次在调用OSTaskStkChk()的时候,可能会得到不同的空闲空间数。应该让应用程序运行足够长的时间,才有可能经历最坏的堆栈使用情况,这样才能得到正确的信息,我们就可以据此重新设置堆栈的最终容量了[2]。
4 结束语
DATU实际上是一种非常典型的嵌入式系统,将µC/OS-II引入该系统中是本产品的一大特色。实测证明,采用µC/OS-II大大提高了系统的实时性,特别是提高了遥信处理和保护处理等较高优先级任务的响应速度。在满足系统对实时性的整体要求的基础上,µC/OS-II所采用的基于优先级的调度策略可以最大限度地满足最关键的任务,如遥信变位处理的响应时间远少于部颁标准。同时以µC/OS-II作为整个软件体系的基础,非常方便应用软件的模块化设计。各个任务之间除通过µC/OS-II提供的函数进行通信之外,没有其他的联系途径,这种松耦合结构提高了整个软件的可靠性。
,嵌入式实时操作系统在DATU中的应用