SDK:TI-processor-sdk-linux-am57xx-evm-03.02.00.05
键盘模块的中断有一些奇怪的东西。
有时发送密钥释放中断的速度太慢。
从附件 ZOC1708.log,您可以看到,使用相同的键盘,但有时键盘中断会在100ms,有时是1s 内出现。
dts.rar 是 DTS 文件
OMAP4-keypad.c:基于 SDK 相同名称文件的键盘驱动程序。
出什么问题了吗?
我应该提供引脚多路复用文件还是其他任何东西?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
SDK:TI-processor-sdk-linux-am57xx-evm-03.02.00.05
键盘模块的中断有一些奇怪的东西。
有时发送密钥释放中断的速度太慢。
从附件 ZOC1708.log,您可以看到,使用相同的键盘,但有时键盘中断会在100ms,有时是1s 内出现。
dts.rar 是 DTS 文件
OMAP4-keypad.c:基于 SDK 相同名称文件的键盘驱动程序。
出什么问题了吗?
我应该提供引脚多路复用文件还是其他任何东西?
您好、Jinhu、
您能再做一些实验吗?
启用内核函数跟踪器、以便能够启用/禁用中断或占先或两者、从而找到有关此问题的线索。
内核黑客-->[*]攻击-->[*]中断关闭延迟跟踪器
[*]抢占关闭延迟跟踪器
请参阅 /board-support/linux- /Documentation/trace/ftrace.txt 以了解更多详细信息。
此外、OMAP4-keypad.c 驱动程序在未经修改的情况下是否以相同的方式运行?
此致、
Kemal
OMAP4-keypad.c 驱动程序我只添加了 dt 支持。
row0和 Row1不用于键盘、因此我定义了行偏移量。
我的所有修改都与 IRQ 无关。
我尝试 使用 Tracers
当我 "echo irqsoff >/debugfs/tracing/current_tracer 时、我看不到关于 OMAP4_keypad_irq_handler (驱动程序的 IRQ funcion)的任何信息
也是抢占式 rqsoff 和抢占式。
当我 "回波函数_graph_graph >/debugfs/tracing/current_tracer "和"回波 OMAP4_keypad_IRQ_handler > set_graph_functions"时、 我只能看到 OMAP4_keypad_IRQ_handler、但不能调用栈、即使我尝试启用所有选项。
我认为存在一些寄存器错误或硬件问题、因为如果我尝试通过 KBD_IRQENABLE_CLR 清除键盘中断、IRQ 将始终自动出现、但我不按任何键。
我通过 printk 来跟踪代码、 kernel/IRQ/irqdesc.c 中的函数__handle_domain_IRQ 也会针对键盘进行延迟。
但我不能在 _handle_domain_IRQ 的调用方中打印、 该调用方位于 arch/arm/kernel/irq.c 中
您能否在 您的硬件中测试 KBD_IRQENABLE_CLR 的行为、对吗?
你能给我一些其他建议吗?