2020-01-28 07:17 AM
Doing some electrical testing of a board I got back recently and It seems that the internal pullup of pin PA2 is applied at reset. Before flashing the device it seems that this pin is sitting high, and the voltage I see is consistent with the approx 40K of an internal pullup.
PA2 is one of 5 wakeup pins.
Can't see any reference to this pins pullup being engaged by default in the datasheet.
Could it be that the pull-up is engaged by default rather than floating HiZ input as in the datasheet?
Solved! Go to Solution.
2020-01-28 09:13 AM
OK so I looked into AN2606 and it appears that all 'L4 run bootloader upon empty FLASH, with PA2 being UART-Tx used in bootloader.
ST does not give away much of the minutiae of tne bootloaders, but according to the 'F4 bootloader's disasm, UARTs are set without pullups initially, and after any 0-to-1 transition occurs on the Rx pin, for *both* Rx and Tx the pullups for that UART are enabled, and the UART is enabled and starts listening for the initial frame.
JW
2020-01-28 07:34 AM
Which 'L4?
Some STM32, with FLASH empty and the right combination of pin levels and internal bits, run the built-in bootloader, which may pull up/down some pins, see AN2606.
JW
2020-01-28 08:52 AM
Hey JW, thanks for answer.
It's STM32L4S. I have BOOT0=0.
2020-01-28 09:13 AM
OK so I looked into AN2606 and it appears that all 'L4 run bootloader upon empty FLASH, with PA2 being UART-Tx used in bootloader.
ST does not give away much of the minutiae of tne bootloaders, but according to the 'F4 bootloader's disasm, UARTs are set without pullups initially, and after any 0-to-1 transition occurs on the Rx pin, for *both* Rx and Tx the pullups for that UART are enabled, and the UART is enabled and starts listening for the initial frame.
JW
2020-01-28 09:47 AM
Thanks so much JW, that probably explains what I'm seeing.