为了解决多人协作,多种需求产品的开发,并且还要长期维护,必须要把这些产品的共性提取出来。
1、 不需要低功耗设计。
2、 传感器类和驱动器类属于单一功能的设备,传统前后台架构的MS3即可。
3、 电源类及控制类设备都属于功能复杂的,实时性要求高,带有屏幕显示,外扩多路传感器或者驱动器的设备,这两类可以统一为一类,是设计的重点,需要建立全新的平台。
嵌入式微系统msOS的诞生源于解决多人协作开发、多需求产品整合以及长期维护的挑战。在设计过程中,首要任务是提取不同设备的共性,以便构建一个通用的平台。根据描述,我们可以将设备分为三类:
1. **不需要低功耗设计**:这类设备的电源管理不是主要考虑因素,可能适用于能耗较高的应用场景。
2. **传感器类和驱动器类**:这些设备具有单一功能,如传统前后台架构的MS3就能满足需求。MS3是一种简单的系统架构,适用于处理基本任务。
3. **电源类及控制类设备**:这类设备功能复杂,对实时性要求高,通常配备屏幕显示,支持外接多路传感器或驱动器。它们是设计的核心,需要一个新的平台来支撑其高性能和复杂性。
为了解决这些需求,设计团队面临的主要问题是传统的菜单界面编程方式已无法满足新的实时性和用户体验要求。因此,他们决定在MS3的基础上进行重构,并引入面向对象的菜单界面编程思想。然而,MS3的前后台架构导致在处理低速事件(如菜单界面)时,会影响高速事件的处理,从而限制了面向对象编程的实现。
在此背景下,团队决定采用实时操作系统(RTOS)以支持抢占式多任务调度。经过对比分析,他们选择了uC/OS-II,因为它拥有丰富的资料和广泛的用户基础。团队对uC/OS-II进行了深度精简和重构,以适应新平台的需求。最终,他们创建了一个仅包含两个任务(菜单界面任务和业务逻辑任务)的轻量级内核,同时保持了任务扩展性。为了减少内存占用,任务表被简化为支持8个任务,并且将任务块的数据结构从链表改为数组。
通过这一系列的改造,新的内核虽然在风格上仍与uC/OS-II相似,但在功能上已大大精简,只保留了任务切换的核心功能。因此,它不再严格意义上属于uC/OS-II,而是形成了一个独立的嵌入式操作系统——msOS。这个操作系统充分体现了软件开发的创新和对实际需求的响应,不仅提高了开发效率,也增强了系统的稳定性和性能。
1