mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -356,7 +356,7 @@ Arm:<br>
|
||||
我们知道,MCU都有硬件定时器和定时器中断,当定时器溢出时,CPU可以响应中断并调用定时器中断服务程序。<br>
|
||||
然而,硬件定时器的数量十分有限,在较复杂的应用中可能会不够用。<br>
|
||||
因此,CosyOS提供了软件定时器,以弥补硬件定时器数量的不足,同时也支持“定时服务”功能,来模拟定时器中断。<br>
|
||||
下面,简单对比一下MCU、FreeRTOS、CosyOS,三者之间“定时服务”的区别:<br>
|
||||
下面,简单对比一下MCU、FreeRTOS、CosyOS,三者间“定时服务”的区别:<br>
|
||||
|
||||
* **MCU** <br>
|
||||
-----------调用 <br>
|
||||
@@ -372,19 +372,19 @@ Arm:<br>
|
||||
-----------恢复 <br>
|
||||
系统滴答 ——> 定时中断/查询任务 <br>
|
||||
|
||||
FreeRTOS是在守护任务中统一调用所有的定时器回调函数,所有“定时服务”享有相同的优先级,即守护任务的优先级。<br>
|
||||
_FreeRTOS是在守护任务中统一调用所有的定时器回调函数,所有“定时服务”享有相同的优先级,即守护任务的优先级。_ <br>
|
||||
|
||||
CosyOS则分为两种情况:<br>
|
||||
1、在系统滴答中调用定时中断/查询钩子,“定时服务”享有系统滴答的优先级(高于任务);<br>
|
||||
2、在系统滴答中恢复定时中断/查询任务,“定时服务”的优先级即任务优先级(用户定义)。<br>
|
||||
注意:只有极为精简的代码才可创建为钩子,否则会对系统实时性造成不利影响。<br>
|
||||
|
||||
可见,CosyOS的“定时服务”,优先级都可由用户灵活配置,其优势不言而喻。<br>
|
||||
_可见,CosyOS的“定时服务”,优先级都可由用户灵活配置。_ <br>
|
||||
|
||||
关于CosyOS的定时任务/钩子的应用示例可参考源码:<br>
|
||||
任务管理器 Taskmgr,为定时查询任务,\System\taskmgr.c;<br>
|
||||
调试任务 Debugger,为定时中断任务,\System\debug.c;<br>
|
||||
调试钩子 debug_hook,为定时查询钩子,\System\debug.c。<br>
|
||||
关于CosyOS的定时任务/钩子的应用示例可参考CosyOS源码:<br>
|
||||
1、任务管理器 Taskmgr,为定时查询任务,\System\taskmgr.c;<br>
|
||||
2、调试任务 Debugger,为定时中断任务,\System\debug.c;<br>
|
||||
3、调试钩子 debug_hook,为定时查询钩子,\System\debug.c。<br>
|
||||
|
||||
## 第七章、任务管理器
|
||||
|
||||
|
||||
Reference in New Issue
Block a user