cancel
Showing results for 
Search instead for 
Did you mean: 

Custom bootloader via Modbus

DavidNaviaux
Senior

I have a custom design using the STM32G474RBT3 (128kB flash category 3 device) MCU.  In this application, the firmware needs to be updated remotely via the normal communication channels to the board.  In this case, it is Modbus over an RS485 multi-drop network of 76 boards, each with a unique slave address.  When the firmware is to be updated, a special utility can be run on a PC connected to the RS485 network that can be used to update the firmware on all 76 boards in sequence.

I'm about ready to dive into the development of the bootloader and am reviewing the flash memory options which are very confusing to me (as a newbie ARM-Cortex M4 user).  Here are some basic firmware specs:

1. The bootloader uses about 30kB of space and supports USB or RS485 communication.

2. The application firmware requires about 60kB (but it is not completed yet).

Currently, I have the option bits set for a single 128kB bank.  It is not completely clear to me if I can write the flash to the same bank I am executing from.  I may have the option of switching to dual bank mode if my application firmware doesn't grow past 64kB.  I understand that that might simplify updating the firmware.  But if I can do this within a single bank, I would prefer that.

I would appreciate any input.  Thank you.

10 REPLIES 10
Pavel A.
Evangelist III

external EEPROM

By the way - ST released some new EEPROM chip; they may send free samples.