STM32L562QEI6 enter Boot through USART interface
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-05 11:26 PM
Hello,
I have a system with one STM32L562QEI6 and one STM32F405RGT6, that is the main MCU.
They communicate with USART interface.
In the main CPU, boot0 and boot1 pins are phisically connected to VCC or GND through some resistors, so I can enter boot mode or leave the program run easily.
On the STM32L562QEI6, I used a pull down in the boot0 pin and I connected this pin also to USART-RX line. When I want to enter boot mode on this MCU, I send a logic high level from the main MCU through USART-RX but the MCU won't boot. I see the high level on boot0 pin but I can't access boot memory. I don't understand why.
Only with external connection between boot0 and VCC, MCU enter boot mode.
Please can you help me?
- Labels:
-
Bootloader
-
STM32L5 Series
-
UART-USART
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-06 02:26 AM
Hello,
Please check Application Note 2606, section 66, to see whether you follow the right procedure to enter bootloader app:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-07 01:37 AM
Hello,
I know the pattern to boot, the MCU need 1 on BOOT0 pin but:
- if I send 1 to BOOT0 pin with the usart interface from main MCU the STM32L562QEI6 won't boot
- if I apply VCC directly to BOOT0 pin the STM32L562QEI6 boot
In both case I measure a high level with the tester on that pin, so the answer is, why in the first case won't boot ?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-07 01:50 AM
Hello, I don't know your system...
I assume that when you write "boot" you mean boot on system flash, and "won't boot", mean boot on main flash.
Maybe the high level that you set on boot 0 pin thanks to the USART-RX Line is not set early enough for the L562, because the F405 need to boot first.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-07 01:58 AM
Sorry, when I write boot I mean enter bootloader (system memory) and won't boot mean not enter bootloader.
I need to enter bootloader on L562 sending 1 through USART-RX line from F405, that line is linked to boot0 pin.
So I measure 1 with the tester but I have no access to system memory.
If I manually send VCC (with a pull-up resistor) on boot0 pin (with RX-line disconnected thanks to 0 ohm resistor) I have system memry access.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-07 02:03 AM
But is L562 kept under reset before the F405 sets the BOOT 0 pin ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-07 02:16 AM
No, L562 is not in reset state, is powered waiting the high level on boot0 pin.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-10-07 02:28 AM
I think that's the problem. The L562 has already read the BOOT0 state and chosen to boot on main flash.