MSP430G2553 是否负责中断重入,或者我应该为 ISR 中的每个任务分配堆栈?

Does MSP430G2553 takes care of interrupt re-entrancy or should I allocate stacks for each tasks in ISR?

我目前正在为接收到中断时需要服务的任务初始化堆栈。例如,有 2 个任务以不同的周期被调用,但是这两个任务都使用相同的 ISR。具有较高采样率的任务应中断较低采样率的任务并进入相同的 ISR。目前我正在为任务分配堆栈,完成后我释放堆栈内存。但是我想知道 MSP430 是否自行处理重入,这样我就不需要创建和删除堆栈、保存和恢复上下文。

MSP430架构本身没有任务的概念,即只有一个堆栈。

如果您使用的是 OS,则必须根据 OS 的文档管理任务。

只有一个(当前)硬件堆栈。所以,理论上只要不溢出,就不需要创建专用栈,在同一个栈上处理中断即可。