rt-smart 中断阻塞问题如何解决?
该问题是怎么引起的?
为了测试rt-smart的实时性,测试了一下中断的稳定性。
用sys
tick的1ms中断做测试源。

平时都正常的,但是发现打印时,波形老是抖动,最后发现,MSH打印阻塞了中断。如下图。

黄线是MSH输出测试脚的波形
蓝线是中断里翻转IO的波形
可以明显看出MSH打印如果和中断重叠的话,中断被阻塞了。
重现步骤
只要MSH重复打印,就可以引起
报错信息
跟踪发现,阻塞原因是lwp_console.c文件里,打印消息前,中断被关闭了。

然而rt_device_write()恰恰是一个阻塞型的发送,这就造成了中断的长时间延误,影响了OS整体的延时。
LWP文件夹里,大量的关闭中断,是否都是必须的?还有其他阻塞型函数吗?如何修复更好?
rt-smart是要保留实时性的,中断稳定可靠是不能丢的。
讨论一下,如何修改。