激活STM32F303上的DFU(USB编程)
我正在构建基于STM32F303RET6的电路板。激活STM32F303上的DFU(USB编程)
的Processor Datasheet,第17页/ 3.5节,提到编程可以做到 “使用USART1(PA9/PA10),USART2(PA2/PA3)或USB(PA11/PA12)通过DFU(设备固件升级)”
我正在使用此处理器的NUCLEO板。
我已将USB的Vdd,Gnd,D +和D-引脚连接到NUCLEO板,并禁用了附加编程器板上的电源。
但是,无论何时使用BOOT0 HIGH重新启动,USB永远不会枚举任何设备。 我将引脚直接连接到USB插头,无需任何外部电阻。数据表似乎表明这些不是必需的。
为了使事情有点棘手,该处理器具有额外的特性,没有BOOT1引脚;它是一个软件位。
我的问题是,处理器实际上是否使用内置的bootloader支持DFU? 如果是这样,那么应该如何启动它并通过USB进行编程?
非常感谢, 佩德罗。
PS:ST实际上得到了关于在此处理器上支持USB编程的冲突信息。尽管数据表表示支持,但Application Note AN2606(第81页)(第19节)仅提到支持通过USART1,USART2和I2C进行编程。它参考了USART,但尚不清楚它们如何使用。
我已将USB的Vdd,Gnd,D +和D-引脚连接到NUCLEO板 ,并禁用了附加编程器板上的电源。
检查Vdd上的实际电压和电流。主机可能会限制电流,或者在枚举之前消耗量超过100mA时关闭端口。尝试使用外部电源。
我将引脚直接连接到USB插头,没有任何外部 电阻。
您需要D +(全速)或D-(低速)的1.5k上拉。这是从STM32F3发现原理图(这是一个OTG插座,忽略用于常规四线端口ID线)
当没有上拉,当装置是主机不能检测插入,因此不会枚举它。
ST在这个处理器上实际上获得了有关支持USB编程的冲突信息。虽然数据表表示支持,但应用笔记AN2606,第81页(第19节)仅提到支持通过USART1,USART 2和I2C进行编程。
那里没有冲突的信息。 第81页的第19部分涉及其他一些控制器。
STM32F303RET6的功能列于第77页的表18第18.1节。(As I've already pointed it out.)另请参见第23页的表3,线路STM32F302xD(E)/ 303xD(E)。
我现在可以看到这个。事实上,我对处理器的参考号码感到困惑。谢谢你澄清 –