USB DFU on STM32L432 and STM32L433
I'm trying to use USB DFU with our custom boards, one based on STM32L432KC and another on STM32L433CC, and I am having a problem using two DFU programs on Linux:
http://dfu-util.sourceforge.net/
andhttps://github.com/plietar/dfuse-tool
(a Python program). Both of these tools fail to program these MCUs. I should note that I have a very similar board using an STM32L476 part which does not exhibit this problem. Also, the USB DFU bootloader on the 432KC Nucleo-32 board exhibits the same behavior, but USB electrical path on the breadboard I rigged up for testing is a little more suspect in that case.dfuse-tool fails with: usb.core.USBError: [Errno 32] Pipe error
dfu-util fails with: Error during download get_status
I can make dfu-util work by passing in '-t 1024' (or lower) to reduce the transfer size. During this time I get a number of 'Poll timeout 21 ms' warnings, but it completes successfully.
I do not believe that there is an issue with the MCU or with the USB signal path because the firmware implements a CDC interface and that appears to be working with no issues.
I have read AN2606 and noted the issue with the original bootloader on the STM32L43x parts. All of the MCUs I have used report bootloader version 0xFF. Is this a manifestation of that problem?
Are parts with the fixed bootloader (0x10) available from any distributors currently? The ones I am using in my prototypes were purchased fairly recently in the US from a major distributor.
#bootloader #stm32l433 #stm32l432 #stm32l4 #dfu #usb