gpt4 book ai didi

linux - 将 lirc 用于 ARM 皮质 A8

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:50 28 4
gpt4 key购买 nike

在 lirc 上需要你的帮助。我想使用 lirc 来解码 ir 信号。我正在使用基于带有 2.6.37 内核的 Cortex A8 的自定义板,并且通过串行端口接收 IR。当我按下红外 Remote 的按钮时,我可以看到 UART 中断正常出现。

但是,当我尝试使用 device=all 或 device=serial 运行配置脚本并运行 make 和 make install(如 lirc.org 上安装页面中所述)时,它会向我发送内核配置无效的错误消息。

但我仍然能够生成加载内核模块所需的 .ko 文件(lirc_dev 和 lirc_serial),但无法插入 lirc_serial 模块,因为我使用的端口具有 mmio,而 lirc 使用的端口是 io 映射的。我的虚拟地址是 0xfa022000,物理地址是 0x48022000(使用 ttyO1)。我可以为这个地址使用 lirc 吗?我需要对代码进行任何更改吗? 我也不能直接安装在我正在使用的板上,因为由于板上存在的东西很少,我无法在板上构建内核源代码。所以我在其他机器上运行安装程序并为 arm 进行交叉编译。 所以我无法将配置文件放在正确的位置,也没有创建节点(/dev/lirc0)。我应该手动创建节点还是插入模块来完成工作?在插入模块之前,我还需要将配置文件放在正确的位置吗?它还与内核版本有任何依赖关系吗? 请建议我自己交叉编译和加载内核模块的步骤,并让我知道需要存在哪些所有 conf 文件或其他文件才能使事情正常进行。我真的很感谢你的帮助。过去两周我一直在尝试。问候哈曼。

最佳答案

如果 lirc_serial 加载成功,/dev/lirc0 应该自动创建。如果未创建,则模块未正确加载。

lirc_serial 确实可以与 mmio 一起使用 - 请参阅“iommap”模块的参数。您需要将其设置为 1 才能使 mmio 正常工作。

您还需要使用“io”和“irq”参数来设置您的地址和 irq。

我正在使用带有 Cortex A9 CPU 的 UDOO 板,可以从/proc/tty/driver/IMX-uart 获取我的 mmio 和 irq 信息。

虽然我的内核较新 - 它是 3.0.35,但我不确定是否所有这些都适用于您的情况。

我最终能够加载 lirc_serial,但它仍然没有工作,所以我不得不将我的红外接收器直接连接到 GPIO 并基于 lirc_rpi 编写我自己的内核驱动程序以使其工作:http://funny-embeddings.blogspot.com/2013/12/udoo-adding-ir-and-building-lirc-kernel.html

关于linux - 将 lirc 用于 ARM 皮质 A8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9164418/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com