2024-10-09 08:06 AM
Hi,
we are facing a strange problem. We are trying to boot up into USART1 bootloader by applying the correct pattern (BOOT0, BOOT1 pins).
Then communicate with the system bootloader on USART1 (in this case 4800 Baud, even parity).
There is just silence on the line.
Something is probably making the bootloader communicate on different periphery (this is the theory). I tried to attach to the running target via Jlink and it is clearly spinning withing the system memory range (bootloader's memory) - the last time I checked it stopped on address 0x1fff2d5a.
This is tested on a real PCB assembly v1. However I measured almost all the bootloader peripheral input pins and no activity on neither of them.
Of course I tested the same on a bare MCU wired on a breadboard and no problem to get into the bootloader mode - as well as on Nucleo.
The question:
Is here someone from ST or someone who can say based on the address above on which periphery it is most likely communicating (instead of USART1)? Or which registries we should check in order to track source of the problem.
Thank you!
2024-10-09 08:24 AM
One simple thing you could do is to look at registers of all the peripheral's which are handled by the bootloader.
If your theory is correct (i.e. that bootloader for some other peripheral is activated), you'll see that peripheral's registers in non-reset state.
JW
2024-10-09 06:07 PM
Yes, UART and baud rate, pins in AF modes.
Uses TIM to time 0x7F pattern.
So GPIO pin and peripherals