BOOTLOADER: Can't reach the default bootloader on my own PCB (STM32F429ZI)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-18 8:41 AM
Hello all,
I worked with the Nucleo-F429ZI (which includes the STM32F429ZI) at the project start. I updated my software via UART and do following steps:
- I connect the Nucleo-F429ZI via USB to the PC (it's the power supply too)
- I connect a MM232R to pin PA9 and PA10 (UART1) and GND.
- I connect the BOOT0 pin to 3V3
- I press the reset button B2
- I start the tool "STM32CubeProgrammer"
- I choose UART and my MM232R, set the baudrate to 115200 and the parity to even
- I connect the MM232R load the new software and disconnect the MM232R
- I remove the connection of BOOT0 and 3V3
- I press the reset button B2
- The new software works!
Then I designed my own PCB with the STM32F429ZI. My software works on it and I can update it with the STM32CubeIDE and the SWD connection (PA13 and PA14). Now I want to update the software via UART and the bootloader:
- I have two leds which blink during my hole software.
- If I connect BOOT0 to 3V3 and reset the mikrocontroller the leds don't blink any more. So I think the mikrocontroller is in a special mode (maybe the bootloader?).
- But if i want to connect via STM32CubeProgrammer following error is generated always: 13:33:39 : Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again...
Additional informations:
- BOOT1 pin on my own PCB is connected with nothing. On Nucleo-F429ZI it's connected with nothing too.
- My own PCB don't use the HSE
I have very little experience with a bootloader so I hope you can help me. The functionality is very important for me and my project.
Best regards,
Tobias
Solved! Go to Solution.
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-23 5:55 AM
Thank you for the suppert! I could solve the problem.
The connection from the USB transceiver to USART1 worked. The problem was the BOOT1 pin. After I connected it with GND I could update the software. The reason why the update works on the Nucleo-F429ZI is following: Due to the environment on the board, the pin tended towards GND. On my own PCB the pin tended towards 3V3.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-18 9:27 AM
Can't some of the bootloaders be activated before the UART bootloader? Is there activity on other bootloader pins (see AN2606)?
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-18 9:36 AM
Check AN2606, look for other pins which might be transitioning and recognized as contact. ie a GNSS receiver that starts squawking at startup.
It is not looking for the 0x7F data pattern specifically, it is using the pulse to measure a baud rate. Watch USART3
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-18 10:03 AM
Thank you for the quick response!
Interfaces:
- The STM32F429 have 4 USARTS:
- USART1: My MM232R
- USART2 communicates with a ble module from Silicon Labs (BGM13P), baudrate=115200 (maybe this is the problem? The reset of the STM and the BGM13P are connected. After a reset the BGM13P send something)
- USART3 is not connected
- USART6 is not connected
- CAN2 is not connected
- I2C1 is not connected
- A USB cable is not connected too
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-18 10:22 AM
It's not about the interfaces but about the pins. You can have a signal toggling from outside on e.g. PC11 and that may activate the USART3 bootloader.
Also make sure the connection you have from the USB transceiver to USART1 pins (PA10/PA9) works as expected - try e.g. echo in the application.
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-23 5:55 AM
Thank you for the suppert! I could solve the problem.
The connection from the USB transceiver to USART1 worked. The problem was the BOOT1 pin. After I connected it with GND I could update the software. The reason why the update works on the Nucleo-F429ZI is following: Due to the environment on the board, the pin tended towards GND. On my own PCB the pin tended towards 3V3.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-03-23 1:58 PM
Thanks for coming back with the solution.
JW
