Hi all, I made a PCB board with STM32F407VGT6 (MCU) + STM32F103CBT6 (Debugger). I get the message ''Usb device not recognizable'' when I try to connect it to my computer via USB. I include the pics of my schematic. I followed the schematic of STM32F407G-DISC1. Any idea on what went wrong with my schematic? (see attached pics)
Hello, I have no code or clock setup because I haven't been able to get my device recognized by my computer so that I could load something. When I try to connect it I get the message ''Usb device not recognizable'' in windows. So everything is on factory default. For the record i took measurements with a voltage meter in all the feed pins of both controllers and I read the correct voltages. This is the crystal type that I used ECS-080-18-23G-JGN-TR but I dont think it matters. I think that by default the internal crystal of each chip is used
you can not run USB without firmware.
When a USB_Host recognizes a new USB_device, then one of the first things is that he "asks" the device "who are you?".
And the device needs to respond with "mouse", storage device", "audio device"...
****
Or do you want to run the STM Bootloader?
If so then read through the STM bootloader application notes on "USB_bootloader_requirements", like external clock, BOOTx pin settings...
I haven't loaded anything in STM32F103CBT6 because it is not recocnized by my computer. I will try and use the STM bootloader that Klaus mentioned and see what happens. The architecture of my custom PCB is similar to the STM32F407G-DISC1 so another thing I can try is to remove the dicovery jumper that takes out the STM32F103CBT6 debugger chip. Then I will plug via SWD an external STlink debugger that I have and see what happens. I will post an update here soon.
If you have loaded nothing, then it will not be recognized by computer. You can program STM32F103CBT6 with STlink V2. The same programmer can be used to program STM32F407VGT6
I found the solution for loading the ST link firmware to STM32F103CBT6. I downloaded the STM flash loader demo. I connected the Rx Tx pins of a usb to uart cable to the Tx Rx pins (pin 30, pin31) of STM32F103CBT6 and set the Boot0 pin to high (3.3V). I run the STM flash loader and uploaded the .hex file that can be found in ''Making your own ST-LINK V2 from STM32 Blue-Pill or STM32 Black-Pill'' that contains the firmware.
A general point: In cases like this it is useful to keep a copy of Linux around, maybe on a bootable USB stick or CD/DVD. The terminal command 'lsusb' will interrogate all devices on all USB buses in the system and show the descriptor table contents. It should work even if the target device firmware is missing as long as the USB interface is 'live'. I'm not aware of any Windows or IOS equivalent programs but then I don't use them!