都有,在各个领域中已经有数千个应用使用该内核。它有很好的稳定性和可靠性。uC/OS-II是一个公开源代码的操作系统,代码很短(约5500行)。与一些商用的公开代码的实时内核相比,它的源代码清晰易读,结构协调,注释详尽。现在很多高等学校将uC/OS-II应用于实时操作系统教学。uC/OS-II具有可移植性,绝大部分源代码是用C语言编写的;而与微处理器密切相关的部分用汇编语言编写。但这一部分内容很少,方便使用者将内核移植到自己的微处理器上,移植uC/OS-II很简单,耗时为几小时到几天不等,完全取决于操作者的水平和所使用的微处理器的复杂程度。实践证明uC/OS-II可以在很大一部分微处理器上运行。用户一旦移植uC/OS-II到自己的微处理器,就可以在此基础上编写应用程序,并把uC/OS-II作为自己产品的一部分固化在里面。uC/OS-II是可裁剪的,用户可以根据自己的需要决定使用内核中的多少成分。裁剪可以通过定义宏来实现,简单易行。可剥夺性和多任务也是uC/OS-II的重要特性,它总是运行处于就绪态的优先级最高的任务。uC/OS-II可以管理64个任务,用户可以使用其中56个。绝大多数uC/OS-II的函数调用和服务的执行时间具有可确定性。uC/OS-II提供了很多系统服务,例如信号量、互斥型信号量、事件标志、消息邮箱、消息队列、块大小固定的内存申请与释放及时间管理函数等。中断可以挂起uC/OS-II正在执行的任务,中断退出后执行的任务是当前就绪任务中优先级最高的任务,而不一定是被中断的任务。这就要求每个任务都有自己的堆栈,保存任务切换和被中断时环境的上下文变量。基于uC/OS-II具有以上优点,我们选用uC/OS-II作为软件开发平台进行软件的设计。智能多用表系统整体框架本系统采用ARM核心的LPC2138处理器作为本智能多用表的嵌入式系统微处理器,其系统整体结构如图21: