u盘vid0000-()

路由设置 次浏览手机阅读
()

标准 Arduino Uno 上16U2 芯片的作用是烧写328P Firmware。具体来说,它负责PC上的USB转为328P能识别的串口,然后每次刷写都会先用一个Pin将328P拉到 Reset然后从串口喂到328P 需要的Firmware。

本文介绍了如何重新编译 16U2 上面的Firmware.

1. Download WinAVR 我使用的是 20100110 的安装版

2. Download LUFA-100807 特别注意这个版本,我试过最新版本,事实上,他们自己的测试和编译项目无法通过

2.1 Lufa 随便解压到目录,我解压到C:\\WinAVR-20100110\\LUFA-100807


2.2 打开 cmd 在目录中使用命令行模式make 命令编译 Lufa 的工程,这是为了测试 Lufa 是否正常

3. 正式的编译

3.1 16U2 Firmware source code 在\\hardware\\arduino\\avr\\firmwares\\atmegaxxu2\\arduino-usbserial中,你必须把整个目录copy到 Lufa 的Project目录下。例如:

电脑

3.2 命令行输入此目录 make 可以编译新的 HEX


最后,生成这个HEX文件刷写到16U2上即可。

Note:你可能会遇到一些奇怪的错误信息,比如编译 “incompatible with avr原因是 2.2 步骤测试生成了一些非 AVR8 格式中间文件。

Note:你可能会遇到一些奇怪的错误信息,比如编译 “incompatible with avr原因是 2.2 步骤测试生成了一些非 AVR8 格式中间文件。您可以重新访问 Lufa 按目录运行 make clean 清除测试生成的中间文件。

以上是重新编译 16U2方法,以下是一些关于USB的事情。

先插一个 Arduino Uno,在设备管理器中查看他的一些信息。

最重要的是 USB 的 PID 和 VID.众所周知 USB 是一种 PNP (即插即用设备),当然,事实上,这个名字与实际效果有很大的不同需要安装驱动器等。,以确保您的设备能够正常使用。所谓PnP真正的含义是:连接硬件后可以自动识别。比如插一块PCI卡,PC知道它使用了多少资源,基本功能是什么。X有86台电脑上的设备 Non-Pnp 和 Pnp两种:

1. Non–PnP 方式。有两种具体的实现方法,一种是直接吸收特定的内存或IO 端口数据。以ISA以串口卡为例,当这张卡看到时ISA发往出现在总线上 0x3F8 IO端口数据显示,它与串口通信,它将吸收信号并转发到外部实体;另一种方法是直接写死。例如,强制加载内置驱动程序。大多数 x86 安卓系统就是这样玩的。还可以通过 ACPI 的 ASL 来通知系统,比如挂在平板电脑上I2C总线上的设备需要这样通知Windows,该设备目前的地址传输速度等。

2. Pnp 方式。 PCI和USB 典型的设备 Pnp设备。协议本身规定了如何报告设备ID给系统,系统用这个ID识别所需的资源和驱动等。

从发展的角度来看,Pnp 后来才出现,他的出现也避免了很多用户设置上的麻烦。例如,很久以前,如果系统中有很多使用io端口的ISA用户只能一次又一次地跳线,以避免反复尝试冲突。如今,大多数计算机从生产开始,用户几乎不需要打开机箱(由于硬件接口的不断变化,计算机升级通常只意味着更换一台)。

继续说 USB ,每个USB插入后,设备会向上报告自己 VID (Vendor ID),PID (Product ID)。通过这两个ID, 系统可以知道这是 X 厂商生产的 Y 设备。顺便说一句,如果你的系统中有无法识别的东西USB您可以直接在网上搜索设备 USB PID VID相应的驱动通常可以顺利找到。

上面的各种USB可以搜索到所有相关数据。以下是书本以外的一些内容: PID 和 VID 怎么来的。

世界上有一个USB组织参考1,负责制定USB标准(在计算机行业,协议越开放,就越受欢迎。相反,很少有人支持那些不愿透露一点信息并吹嘘自己强大的协议,或者更多的协议只是骗局)。该组织将负责分配 VID。当然,加入这个组织要交会费。如果你没有记错,那几乎是一样的$2000年(几年前比较便宜,后来涨价了。个人看起来更多,但对公司来说只是九牛一毛。加入这个组织可以为自己申请一个 VID 。有了 VID 之后可以自己编造。 PID了。PID 电脑范围是从 0到0xFFFF 。如果你想添加你的设备 Windows的 Update中(也就是有时候找不到驱动,Windows提示在线搜索功能),正式 VID和PID必不可少。

说到这里,再说一件事:我目前用的最好的USB转串口芯片是 FT232系列,稳定,支持全驱动。几年前,许多人发现他们用得很好FT232 芯片产品突然变得异常。最终发现,FT232制造商更新了驱动程序,新驱动程序将破坏产品FT232芯片(PID变成0000).通过新的驱动Windows Update分发的。制造商之所以这样做,是因为市场上充斥着假冒伪劣商品和假冒商品,很难通过包装区分真假FT232,但芯片的硅组成差异很大,新的FT232驱动器利用这些差异重组,使这些假冒产品与现有的驱动程序不兼容。这是减少市场假冒的大胆策略FTDI。”

以下是非正式做法:

1. 你选用的USB IC,例如:使用了您的产品CYPRESS公司出品的EZ-USBFX的某款IC,然后可以直接找CYPRESS,让他们给你一个 PID;

2. 网上有一家公司参考2出售自己PID。多年前他加入了USB组织,得到一个 VID。然后他在网上卖掉了自己PID(6万多足够卖一段时间)。后来他们收到了 USB根据协议,组织的律师函意味着你这样做是错误的。然后他们的回复是,当我们加入组织时,你的协议没有这样的巴拉巴拉。然后USB组织说我可以给你退款,不要这样玩。他们回答说,根据我国消费者的相关法律,购买生效后不接受这样的事情……然后他们继续卖

3. 在设计中,可以使用兼容性Windows自带驱动协议。比如:HID 或者 mass-Storage。在这种情况下,不需要考虑 PID和VID插上问题就可以用了。

参考:

1.http://www.usb.org/about/

2.http://www.mcselec.com/index.php?电脑page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
电脑
喜欢 ()