2019-09-19 03:09 AM
Im my system based on STM32H753 I would like to use system bootloader by USART1.
After struggling with my PCB without getting bootloader working then I switched to NUCLEO-H743ZI2 board.
From AN2606 I know that PA10 is RX input and PA9 is TX output so I connected the PC by an USB to 3V3 TTL converter accordingly in CN12.
From NUCLEO schematic I saw that PA9/PA10 are connected to USB_FS signals and so I removed SB23 / SB24 jumpers to isolate them.
The STM32H74xxx/75xxx bootloader is activated by applying pattern10; in my case
Boot(pin) = 1 and BOOT_ADD1(optionbyte) = 0x1FF0 (checked by STM32 ST-LINK Utility -> target -> option bytes)
So I connected BOOT0 pin to 3V3 and power by plugging USB in CN1.
Then I used FLASHER-STM32 demostrator pointed to the COM port of the converter.
The program report always "no response from the target...".
I checked the PA10/PA9 signals and I found that are at 3V3; just when I run the demostrator I saw 2 low going pulses on PA10.
Both pulses are around 8.7us and are separate by 60.8us. This should be 0x7F at 115200,8,E,1 (as written in AN3155).
I tried also other lower speeds.
Is there anyone who can suggest what I'm doing wrong?
Thank you
Ciao
Marco
2019-09-30 08:21 AM
I discovered that wrong interface is selected in detection phase. This fact is true only at power on.
If I reset by NRST pin it works.
On my PCB I must add a voltage supervisor IC to get right interface selected at power on (USART1).
There is a way to know what is system bootloader current selected interface?
2019-09-30 08:36 AM
One would need to break-point in the debugger and check, but seem to think AN2606 would enumerate the pins involved, and the order.
Most probable would be USART pins which chirp or transition on start-up, things like GPS receivers being particularly problematic. You could wire those backward and use the pin-reversal function of the new USART implementation.