我正在做一个任务,我必须为键盘编写和中断处理程序。因此,在此任务中,我们必须记录击键,以便允许它执行文件I/O,为此,我们使用工作队列。
我知道在中断处理程序中是不允许休眠的,因此我们不能在中断处理程序中使用任何文件i/o或printk。
那么,在实际的行业中,如何调试和中断处理程序,或者如果我想调试一些东西,我可以做些什么?
发布于 2014-05-21 17:31:49
是!这是正确的,我们不能在ISR中使用printk。正如我在RTOS(实时操作系统)中学习的那样,在中断处理期间,它会创建消息日志,并将所需的信息保存在日志文件中,稍后您可以看到。
类似的事情也可以在最新的内核中使用。使用trace_printk,你可以调试时间关键的地方。我以前没有用过这个,所以没有这个示例。您可以通过此link了解有关trace_printk的更多信息。
https://stackoverflow.com/questions/20082098
复制相似问题