Need help with code uploading via UART via RS485 on STM32F446
Hi community,
like the title says, I need your suggestions regarding firmware update via UART on an STM32F446RET6.
So I developed a product with the STM32F446RET6 chip. The only accessible protocol to my users is UART1, on which I implemented Modbus RTU with RS485.
Now the TX and RX pins of UART1 are converted to RS485 signal using this particular IC: MAX3485ESA, and the RS485+ and RS485- pins are exposed to the users.
Other than those, nothing else is accessible, no SWD nor Boot pins. I need to implement a firmware upgrading scheme based on this hardware, so from a computer through an RS485 transceiver, to the IC on the board, and then to UART1. I want to know whether this is possible, and if yes, please kindly give some suggestions on where to start.
Also, I wrote a GUI application for the product and in the future want to integrate the firmware upgrading functionality into the software, so no third-party app is needed. Is it that I would have to write my own bootloader to achieve this? Any recommendation or guides would be very much appreciated.
Thank you!
Edit: By "no SWD" I actually mean that the SWD interface is not as easily accessible for the users. They still exist on the board that I made, and yes during development I do use this with an ST-Link for debugging and flashing, but the way the product was designed makes it a bit inconvenient for non-developer users to flash new firmwares.
