Electronics > Projects, Designs, and Technical Stuff

USB Keyboard project DFU question


I have dusted off my USB keyboard project which I started a couple of years ago, but never had time to complete.  I am hoping to get this done over the summer.

I have switched microcontrollers to the STM32F105RBT6.  One of my goals is to allow programming the device using DFU.
I have added a switch for BOOT0.  I am using an external 8MHz oscillator which is being increased to 48MHz by a PLL in the F105.

I am confused right now because STM32CubeMX will allow me to configure USB as either a HID device, or a DFU device.  I know that I can't do both at the same time.  Will the chip automatically switch to DFU mode base on BOOT0's setting?  Is there a way to configure both modes somehow?

I'm not sure what to do at this point, and would appreciate some clarity from someone.  Thanks.

BOOT0 selects the ROM bootloader code, you don't need to do anything for this in the CubeMX, you don't even need a valid firmware of any sort.

Your application only needs to be a HID device.

Note that full DFU has application side too. If supported, the only command that is implemented is to switch to the boot mode, which reboots the device into the full DFU. But if you are using BOOT0 pin for that, you don't need this support.

Thanks so much, that is a big relief.

This is all new to me, so I'm stressing out trying to get the board correct.  I can mess with firmware/setup later.
I have a connector for a J-Link on the board (well a 10-pin Cortex connector) as sort of a backup plan.


[0] Message Index

There was an error while thanking
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod