很简单的一个驱动,init中只有一些简单的读写函数。
昨天调了一晚上,今天调了一上午,终于找到原因了。
我们在init中就写一个for循环,读数,发现也有问题,也会死机。
后来就一条一条的屏蔽,后来发现是中断引起的
即我们设了IRQ和SECNR后又过来一个中断,没处理结果就把cpu给挂死了
后来把它们屏蔽掉,就没事了
本文探讨了在驱动开发过程中遇到的一个棘手问题:在init函数中使用for循环读取数据时,系统出现死机现象。通过逐步排除法,最终发现是中断处理不当导致的问题。文章详细描述了问题定位过程,并提出了解决方案,帮助开发者避免类似问题。
很简单的一个驱动,init中只有一些简单的读写函数。
昨天调了一晚上,今天调了一上午,终于找到原因了。
我们在init中就写一个for循环,读数,发现也有问题,也会死机。
后来就一条一条的屏蔽,后来发现是中断引起的
即我们设了IRQ和SECNR后又过来一个中断,没处理结果就把cpu给挂死了
后来把它们屏蔽掉,就没事了
736
1938
487
3017

被折叠的 条评论
为什么被折叠?