Usb 通过软件访问外部连接设备上的内存空间/寄存器

Usb 通过软件访问外部连接设备上的内存空间/寄存器,usb,external,Usb,External,这个问题有点模糊,对此我深表歉意,但一个相当模糊的答案就可以了:) 人们通常如何访问外部设备的内存地址(例如,通过USB连接到PC,甚至是多用途微控制器)?我想知道软件是如何找到地址写入寄存器或EEPROM空间的 例如,如果我想将一个值写入寄存器0x1234,软件是否只将该信息(寄存器和要写入的值)发送给某种类型的驱动程序,该驱动程序与设备“对话”,并通过硬件处理值的更改? 该功能的实现主要是硬件方面的努力吗 谢谢 让我们以一个基于8位8051微控制器内核的相当常见的USB外围控制器为例。它的一

这个问题有点模糊,对此我深表歉意,但一个相当模糊的答案就可以了:) 人们通常如何访问外部设备的内存地址(例如,通过USB连接到PC,甚至是多用途微控制器)?我想知道软件是如何找到地址写入寄存器或EEPROM空间的

例如,如果我想将一个值写入寄存器0x1234,软件是否只将该信息(寄存器和要写入的值)发送给某种类型的驱动程序,该驱动程序与设备“对话”,并通过硬件处理值的更改? 该功能的实现主要是硬件方面的努力吗


谢谢

让我们以一个基于8位8051微控制器内核的相当常见的USB外围控制器为例。它的一侧连接到桌面计算机上的USB主机控制器。另一端连接到USB设备控制器,该控制器将自身作为主机的FIFO端点

初始化设备端需要一些8051固件。主机端需要一个类驱动程序。一旦这些设置就绪,应用程序开发人员将在主机端拥有一个设备名,该设备名可以被打开进行读/写操作。有时,供应商会提供一个库来执行特定于设备的任务,并将用户与原始设备隔离。通常,Windows DLL可用于隐藏低级I/O,并将设备操作显示为函数调用

附加的8051固件从设备端监视FIFO,并解释从主机应用程序或DLL发送的消息,然后采取措施。这些操作可能是低级别的,例如从内存位置或寄存器读取/写入。它们可能是高电平,例如设置可编程计数器阵列的PWM值

因此,您对写入寄存器0x1234的假设描述与通常的实现方式相差不远