2021-11-23 01:55 PM
I'm currently trying to program the MCU using UART by entering bootloader using BOOT0 and nRST. However, whenever I send an nRST pulse PA12 gets pulled up and I'm not able to connect to the MCU. If I power cycle the board while BOOT0 is pulled high I can connect.
Adding a 50k pull-down resistor on PA12 allows me to connect successfully but I see 0.7V at PA12 after resetting.
I can't understand how I'm getting this voltage.
2021-11-23 02:13 PM
PA12 is the DP line for USB. The bootloader connects the internal pullup on this line to tell the host a USB device is present and listen for a signal.
If you have USB connected, the USB DFU bootloader will launch and prevent any other bootloader interfaces from being used. The first peripheral it sees will be the one it selects.