任务调度模块总体设计

总体设计图如下:

Untitled

模块设计

模块设计主要依照uC/OS本身的模块划分进行设计。进行模块划分(或者说模块设计)的主要目的是为了更好地确定各个模块需要定义哪些函数接口以供其他模块以及用户使用。

在uC/OS中,主要的模块有:任务调度模块、事件模块、消息模块。

<aside> 💡 目前我们主要集中于任务调度模块,因此目前的模块设计仅包含了用户以及任务调度模块。而用户并不提供接口,仅调用接口,因此在模块设计中仅需明确任务调度模块需要为用户提供哪些接口即可。

</aside>

为了保持对原有uC/OS的兼容性,我们的任务调度模块主要像用户提供的接口与uC/OS保持一致。任务调度模块主要提供以下三个基本功能接口

<aside> 💡 由于用户将直接调用这三个接口,因此这三个接口需要加上pub关键字,而其他的接口仅需在当前crate甚至当前文件中可见即可。

</aside>

接口设计

需要仔细,后续尽量不会发生变化

OS初始化接口

函数签名

pub fn OSInit(){
...
}

主要功能