如何为 Raspberry Pi 编写简单的 UART Linux 设备驱动程序?
Posted
技术标签:
【中文标题】如何为 Raspberry Pi 编写简单的 UART Linux 设备驱动程序?【英文标题】:How to write Simple UART Linux Device Driver for Raspberry Pi? 【发布时间】:2015-01-20 12:40:22 【问题描述】:我是学习设备驱动程序的初学者。我正在通过简单的示例练习学习设备驱动程序。谁能建议我如何开始为树莓派编写 uart,GPIO 设备驱动程序,因为我开始只用树莓派练习。
提前致谢 问候, 普雷迪普
【问题讨论】:
类似问题:raspberrypi.stackexchange.com/questions/8976/… 【参考方案1】:如果这是您的第一个驱动程序,请从简单的开始。我会采取以下步骤:
-
编写一个实现读/写/打开/关闭文件操作的简单字符设备驱动程序。这意味着它们可以与“cat”和“echo”一起使用。
在从1开始的初步工作的基础上,可以编写一个GPIO驱动。这应该很简单,因为您需要做的就是从特定的内存地址写入或读取 0 或 1。
现在您已经有了一些设备驱动程序的经验,您可以为您的 uart 编写一个 tty 驱动程序。 linux 中已经有很多 tty 驱动程序的示例。
【讨论】:
如你所说,我已经编写了一个简单的字符设备驱动程序。它工作正常。您能否发送一些链接来为树莓派的 GPIO 编写设备驱动程序? 当我用谷歌搜索时,我得到了这个链接dev.openwrt.org/browser/trunk/target/linux/generic-2.6/files/…这对编写驱动程序有用吗? 内核中已经有GPIO驱动了,可以看一下。 GPIO Driver Documentation。您甚至可以在 shell 中使用 echo 和 cat 设置方向并读取/写入值。请参阅链接中有关 sysfs.txt 的文档。 是的,我已经知道 GPIO 驱动程序在那里.....如何为树莓派编写新的 gpio 设备驱动程序? 我不知道还能告诉你什么。您有一个如何在 Linux 内核中执行此操作的示例。我建议查看现有的 GPIO 驱动程序是如何实现的,然后按照您认为合适的方式实现您自己的。以上是关于如何为 Raspberry Pi 编写简单的 UART Linux 设备驱动程序?的主要内容,如果未能解决你的问题,请参考以下文章
Java ME 或 Java SE(Raspberry Pi 零)
如何将 Raspberry Pi 3 连接到 Visual Studio? (更新)