【发布时间】:2009-08-03 09:47:22
【问题描述】:
这实际上是嵌入式系统中固件的设计问题 我有两个独立执行的 ISR(具有相同的优先级)。 这些 ISR 在硬件生成数据时触发。 我想要一个必须在task1和task2之间同步的机制。任务 2 必须知道在任务 1 中计算的某些值,然后在计算任务 2 中的某些值时必须考虑这些值。 我没有要使用的操作系统原语,即系统没有任何操作系统。 Task1 在 ISR1 的上下文中执行,task2 在 ISR2 的上下文中执行。 我们使用的处理器是 STMicroelectronics 32 控制器
编辑:附加信息 处理器连接到某些 IP,当它们准备好数据时触发中断。这些 IP 充当输入流帧数据的累加器类型。
【问题讨论】:
-
你在哪个平台上工作?
-
鉴于两个ISR具有相同的优先级,它们可以互相中断吗?如果没有,您可能不需要任何额外的同步。
-
@Matthem - 通常 ISR 在进入时会禁用中断。但这将是一件好事。
-
您是否试图确保 task1 在 task2 之前运行而不管中断的顺序如何?
标签: synchronization embedded firmware