I made a custom HW with minimal support for USB factory bootloader using EFM8UB31F40G-A-QSOP24. As its USB powered device, before connecting to USB, to enter bootloader mode I'm connecting P2.0 (C2D) to GND. (and RSTb (C2CK) PIN pullup to 5v)
When I connect it to my PC (laptop) USB port, I can see the device connected as HID in device manager.
I took a example program to blink a LED. Converted hex to EFM8 file using hex2boot.exe and trying to download this EFM8 file to deice using factory bootloader using efm8load.exe. But it says "ERROR: Unable to open port!"
Please refer the attached screenshot1, my laptop has some other HID device connected. Is that the problem for not programming? referring AN945 document, it says only one HID device should be connected.
AN945: EFM8 Factory Bootloader User Guide: https://www.silabs.com/documents/pub...otes/AN945.pdf
As AN945 documentation mentioned, to save additional space, the bootloader does not support USB string descriptors (e.g. serial number). This means that only one USB bootloader device can be connected to a PC at a time, since the PC cannot distinguish between multiple devices. Other kind of HID devices will not affect it.
The efm8load.exe is a Python-based executable host tool. Firsly, it will try to list all of the HID devices with the matched VID/PID, and then open it. You can take a look at the hidport.py and figure out the root cause of the problem on you PC easily.
Thanks for your time and reply. It's valid point. I checked in hidport.py it doesn't include valid PID USB product ID (0xEACB) for EFM8UB3 support. It had only EFM8UB1 (PID-0xEAC9) & EFM8UB2 (PID-0xEACA). So it could not program the device. Now I added 0xEACB and rebuilt the python code, alternatively I downloaded latest version of AN945SW (http://www.silabs.com/documents/public/example-code/AN945SW.zip) from Silabs website and it included EFM8UB3 (PIC-0xEACB) support. So directly I can use it.
Issue resolved, thank you. Silabs can proactively update product supporting documents and related softwares in parallel with product release would help us in fast development.