From 25f15a6969b3bf0c30ffc91211be35891f641963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B6=E4=B8=AD=E6=96=AD=E5=BB=B6=E8=BF=9F=E7=9A=84RTOS?= Date: Tue, 9 Jan 2024 08:30:47 +0000 Subject: [PATCH] =?UTF-8?q?update=20=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3/C?= =?UTF-8?q?osyOS=E5=8E=9F=E7=90=86=E4=B8=8E=E5=BA=94=E7=94=A8.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 零中断延迟的RTOS --- 说明文档/CosyOS原理与应用.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/说明文档/CosyOS原理与应用.md b/说明文档/CosyOS原理与应用.md index f533312..270dc4c 100644 --- a/说明文档/CosyOS原理与应用.md +++ b/说明文档/CosyOS原理与应用.md @@ -492,10 +492,10 @@ CosyOS启用“每调度监控”的充分必要条件是启用任务管理器 线程入口监控现已取消,原因是虽然有效,但不实用。
### 任务栈定义 + * **任务栈初定义**
-1、对于51及251的MSP模式,当任务创建模式非静态创建时,任务栈的初始定义可以小(因为有重分配机制),而后根据监控及报警情况再增大。
-2、对于251的PSP模式及Arm的MSP+PSP模式,任务栈的初始定义一定要够大,否则可能会运行不起来或死机,而后再根据测试情况重新调整任务栈。
-3、对于251的PSP模式,由于中断入栈也入任务栈,所以需要用户自己根据中断的使用情况来计算一个中断嵌套入栈的最大size(不必包括最低优先级的中断入栈),累加到“前面的字节数”中,看是否会大于 “后面的字节数”,再行调整。
+1、对于51及251的MSP模式,当任务创建模式非静态创建时,任务栈的初始定义可以小(可为零,因为有重分配机制),而后再根据监控情况重新调整任务栈。
+2、对于251的PSP模式及Arm的MSP+PSP模式,任务栈的初始定义一定要够大,否则可能会运行不起来或死机,而后再根据监控情况重新调整任务栈。
* **任务栈调整**
1、当任务栈重分配发生时,就需要重新调整任务栈的size了。
@@ -504,6 +504,7 @@ CosyOS启用“每调度监控”的充分必要条件是启用任务管理器 2、当 “前面的字节数” 大于 “后面的字节数” 时,就需要重新调整任务栈的size了。
如:56B/m32B,此时就需要重新调整任务栈的大小为至少56个字节。
当这种情况发生时,还会有相应的报警提示用户,ots:在概率上、在未来必然会发生的任务栈溢出(虽然现在可能并未发生)。
+3、对于251的PSP模式,由于中断入栈也入任务栈,所以需要用户自己根据中断的使用情况来计算一个中断嵌套入栈的最大size(不必包括最低优先级的中断入栈),累加到“前面的字节数”中,看是否会大于 “后面的字节数”,再行调整。
* **任务栈补偿**
1、在开发测试阶段,用户应尽量设法模拟各种情况的发生,最好是频繁发生,包括中断的发生。只要你的产品支持的功能、情况,都要设法模拟到。