Does the built-in bootloader work on a half-duplex UART?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-10-11 6:33 PM
I'm working on an application where the amount of wires is limited. In order to update firmware, the only thing I will have is a single half-duplex RS485 transceiver connected to the UART. I was going to connect this to a single UART pin in single-wire (half-duplex) mode.
Is there any way to make this work with the built-in bootloader?
- Labels:
-
STM32H7 Series
-
UART-USART
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-10-11 7:39 PM
interesting question, how do you manage the direction (Tx or Rx) for UART?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-10-13 5:10 PM
I'm not totally familiar with how the bootloader works. Is there a way to update the code using only one way communication (programmer -> MCU)? Or does the bootloader configuration need to read things from the MCU as well?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-10-14 6:59 AM
I suggest you read the document: AN2606 STM32 microcontroller system memory boot mode.
STM32 microcontroller system memory boot mode - Application note
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-10-14 11:01 AM
Hi jiangfan,
I looked through that document, and it mostly talks about how to ente bootloader mode. It doesn't say anything about the host being required to read certain packets. Could you explain why read access to the MCU is required? That is, why a one way connection from the host to the MCU wouldn't work?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-10-15 7:15 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-10-15 7:50 AM
Right, the protocol is ping-pong / command/response in nature but is a) not accommodative of turn-around time, and b) not accommodative of loop-back echo that you see where RX-TX are effectively bonded.
To deal with specifics of YOUR HARDWARE you'll likely want your own loader, which you subsequently don't erase, to manage the field update of your equipment.
Or that you use enough of the protocol to push a staged loader into RAM that's more situationally aware, and call that for the primary delivery of the update.
Up vote any posts that you find helpful, it shows what's working..
