在lirc上找到了你的帮助。 我想用lirc来解码ir信号。我正在使用基于Cortex A8和2.6.37内核的自定义板,并通过'串口接收IR。当我按下IR遥控器的按钮时,我可以看到UART中断正常。
但是当我尝试使用device = all或device = serial运行configure脚本并按照lirc.org上的安装页面中的说明运行make和make install时,它会向我发送内核配置无效的错误。
但是我仍然能够生成加载内核模块所需的.ko文件(lirc_dev和lirc_serial),但是无法插入lirc_serial模块,因为我使用的是具有mmio的端口,而lirc使用的端口是io映射的。 我的虚拟地址是0xfa022000,物理地址是0x48022000(使用ttyO1)。 我可以使用lirc这个地址吗? 我是否需要对代码进行任何更改? 此外,我无法直接安装在我正在使用的电路板上,因为我无法在电路板上构建内核源代码,因为电路板上存在极少的东西。所以我在其他机器上运行设置并交叉编译。 所以我不能将配置文件放在正确的位置,也不能创建节点(/ dev / lirc0)。 我应该手动制作节点还是插入模块才能正常工作? 在插入模块之前,我还需要将配置文件放在适当的位置吗? 它是否与内核版本有任何依赖关系? 请建议我自己交叉编译和加载内核模块的步骤,并让我知道需要哪些conf文件或其他文件才能使事情有效。 我非常感谢你的帮助。 过去两周我一直在尝试。 问候 哈曼。
答案 0 :(得分:0)
/ 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,但它仍然无效,所以我必须将我的IR接收器直接连接到GPIO并根据lirc_rpi编写我自己的内核驱动程序以使其正常工作:http://funny-embeddings.blogspot.com/2013/12/udoo-adding-ir-and-building-lirc-kernel.html < / p>