【问题标题】:Writing Device Drivers for a Microcontroller(any)为微控制器(任何)编写设备驱动程序
【发布时间】:2011-01-18 15:05:14
【问题描述】:

我非常热衷于为微控制器(如 PIC、Atmel 等)编写设备驱动程序。 由于我是这个控制器编码领域的新手,我只想知道为控制器编写设备驱动程序是否与我们为 linux(或任何其他操作系统)编写的相同?

还有人可以推荐一些在线设备驱动程序构建教程吗?

谢谢,

【问题讨论】:

    标签: driver device microcontroller


    【解决方案1】:

    如果您使用的是像 atmega 这样的 AVR MCU,那么您可以将 vusb (https://www.obdev.at/products/vusb/index.html) 用于那些没有任何 HID 的 MCU,并通过将 USB 的 D+ 和 D- 引脚连接到数字 I/O 来处理中断MCU的端口。 atmegaU2 软件包有自己的 USB 通信端口和 HID。

    【讨论】:

      【解决方案2】:

      如果您正在考虑开发设备驱动程序以将您的设备与主机连接(可能使用 USB),那么现在大多数微控制器都会实现依赖本机驱动程序的默认类。

      一个具体的例子:

      如果您使用 PIC18F4555,您可以使用常规的 HID(人机界面设备)Windows 驱动程序与您的微控制器通信(假设您正确实现了它)。无需开发任何驱动程序。

      【讨论】:

        【解决方案3】:

        为 MCU 编写设备驱动程序与为操作系统编写设备驱动程序相去甚远。大多数 MCU 根本不会运行操作系统。您通常最终会编写一些低级别的中断服务例程 (ISR) 并填充缓冲区,您的应用程序软件最终会清空。您不必适应操作系统定义的任何设备驱动程序范例。您基本上必须阅读您想要与之交互的设备的数据表,并通过它可能使用的任何接口(例如 SPI、I2C、UART 等)读取和写入其内存。最终,设备驱动程序应该为应用软件提供直观的函数调用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-28
          • 2013-03-23
          • 2011-04-01
          相关资源
          最近更新 更多