未验证 提交 532180dc 编写于 作者: F Freey0 提交者: GitHub

Fix bug when restarting and getting interrupts that are not processed. (#5997)

Reason: Interrupts were not cleaned up during initialization
上级 18116a38
......@@ -106,8 +106,11 @@ void rt_hw_interrupt_init(void)
{
int i;
*((volatile unsigned int *)REG_AIC_INTDIS0) = 0xFFFFFFFF; // disable all interrupt channel
*((volatile unsigned int *)REG_AIC_INTDIS1) = 0xFFFFFFFF; // disable all interrupt channel
outpw(REG_AIC_INTDIS0, 0xFFFFFFFF); // disable all interrupt channel
outpw(REG_AIC_INTDIS1, 0xFFFFFFFF); // disable all interrupt channel
outpw(REG_AIC_EOIS, 1); // resetand restart AIC's IRQ processing
outpw(REG_AIC_EOFS, 1); // resetand restart AIC's IRQ processing
/* init interrupt nest, and context in thread sp */
rt_interrupt_nest = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册