mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -28,19 +28,19 @@ CosyOS有三种时间片的定义模式,全局时间片、算法时间片、
|
||||
|
||||
* **系统任务** <br>
|
||||
由CosyOS自主创建并自动启动的任务。<br>
|
||||
**1. 任务管理器(Taskmgr)** 优先级固定为最高优先级。<br>
|
||||
**2. 调试任务(Debugger)** 优先级固定为最高优先级,用做命令行和任务管理器的串口接收解析。<br>
|
||||
**3. 启动任务(Starter)** 优先级固定为比最高优先级低一级,通过调用启动钩子来启动用户任务,而后删除自身。<br>
|
||||
**4. 系统空闲任务(Sysidle)** 优先级固定为最低优先级0级,是系统级的空闲任务。<br>
|
||||
**任务管理器(Taskmgr)** 优先级固定为最高优先级。<br>
|
||||
**调试任务(Debugger)** 优先级固定为最高优先级,用做命令行和任务管理器的串口接收解析。<br>
|
||||
**启动任务(Starter)** 优先级固定为比最高优先级低一级,通过调用启动钩子来启动用户任务,而后删除自身。<br>
|
||||
**系统空闲任务(Sysidle)** 优先级固定为最低优先级0级,是系统级的空闲任务。<br>
|
||||
|
||||
* **系统钩子** <br>
|
||||
由CosyOS自主创建并自动调用的函数,并由用户来写代码。<br>
|
||||
**1. 初始化钩子(init_hook)** 在主函数中首先被调用,适用于初始化时钟、GPIO、寄存器等工作。<br>
|
||||
**2. 启动钩子(start_hook)** 在启动任务中被调用,用于启动用户任务。用户可在启动钩子内调用API来启动用户任务。<br>
|
||||
**3. 空闲钩子(idle_hook)** 在系统空闲任务中被调用,用户可添加自己的代码做一些没有实时性要求的工作。<br>
|
||||
**4. 滴答钩子(tick_hook)** 每个系统滴答周期,在SysTick_Handler/定时器0中断中都会被调用一次,适用于每滴答周期/秒/分/时/...做一次的工作。<br>
|
||||
**5. 挂起服务钩子(pendsv_hook)** 详情见全局变量访问相关介绍及说明。<br>
|
||||
**6. 全局变量钩子(gvar_hook)** 用于更新全局变量的副本。详情见全局变量访问相关介绍及说明。<br>
|
||||
**初始化钩子(init_hook)** 在主函数中首先被调用,适用于初始化时钟、GPIO、寄存器等工作。<br>
|
||||
**启动钩子(start_hook)** 在启动任务中被调用,用于启动用户任务。用户可在启动钩子内调用API来启动用户任务。<br>
|
||||
**空闲钩子(idle_hook)** 在系统空闲任务中被调用,用户可添加自己的代码做一些没有实时性要求的工作。<br>
|
||||
**滴答钩子(tick_hook)** 每个系统滴答周期,在SysTick_Handler/定时器0中断中都会被调用一次,适用于每滴答周期/秒/分/时/...做一次的工作。<br>
|
||||
**挂起服务钩子(pendsv_hook)** 详情见全局变量访问相关介绍及说明。<br>
|
||||
**全局变量钩子(gvar_hook)** 用于更新全局变量的副本。详情见全局变量访问相关介绍及说明。<br>
|
||||
|
||||
* **定时任务/钩子** <br>
|
||||
包括定时中断任务/钩子和定时查询任务/钩子,其实质都是软件定时器中断。<br>
|
||||
|
||||
Reference in New Issue
Block a user