RTA_OS基础功能讲解 2.3-任务(下)
但是,在进入 ISR 时,会从堆栈指针的当前值中减去 ISR 激活的堆栈开销 (SpPreemption),以检查抢占任务或 ISR 是否超出其堆栈使用量。如果某个任务在 2 类 ISR 中激活,并且该任务的优先级高于任何当前正在运行的任务,则对于某些目标,操作系统可能需要使用比激活较低优先级任务时稍微多的堆栈。在使用扩展任务时,您可以通过仅分配足够的缓冲区空间来保存最坏情况的“等待事件堆栈”上下文,而不是任务所需的绝对最坏情况的空间,从而最大限度地减少 RTA-OS 保留的 RAM 大小。
复制链接