# Firmware Update A V6 board has two MCU devices. Each MCU manages two CAN/CAN FD and two RS485 interfaces, so program both devices separately. ## Select the Correct Release Package Identify the MCU platform before selecting firmware. Firmware for different platforms must not be mixed. | Platform | Release directory | Latest releases | | --- | --- | --- | | STM32G473 | `firmware/g473/release/` | `spine_v6_v66_release` | | G0A | `firmware/g0a/release/` | `spine_v6_v68_release` | Use the matching `*_release.bin` for production or field updates. ## Important Warning **Do not perform a full-chip erase.** High Flash addresses may store device identity, authorization, communication settings, and batch tasks. A standard firmware image cannot restore data removed by a full erase. For G473, program from `0x08000000` and use Program & Verify. Do not erase the full chip unless you have an approved backup and recovery procedure. ## Update with STM32CubeProgrammer Prepare ST-LINK, STM32CubeProgrammer, a stable 5 V control supply, and the selected release image. 1. Power the board control section from a stable 5 V source. 2. Connect ST-LINK to the first MCU SWD connector. 3. Select `ST-LINK` in STM32CubeProgrammer and connect. 4. Select the `*_release.bin` in the chosen release directory and set the start address to `0x08000000`. 5. Run Program & Verify directly; do not perform a full-chip erase first. 6. Connect ST-LINK to the second MCU SWD connector and repeat steps 3 to 5. 7. Power-cycle the board. ## Check the Board After Updating Open the USB serial port for each MCU and send: ```text AT+VER ``` Use a `CRLF` line ending. The response must match the programmed release; for example, G473 V66 returns: ```text V66 ``` Then query the saved settings: ```text AT+SETFDCAN? AT+SETRS485? AT+SPIMODE? AT+RS485RAWCH? AT+BATAUTO? ``` Updates normally retain communication settings. If communication defaults must be restored, confirm that `AT+CFGERASE` is supported by the installed firmware before sending it. ## Factory Communication Defaults | Item | Default | | --- | --- | | Classic CAN / CAN FD arbitration phase | 1 Mbit/s | | CAN FD data phase | 5 Mbit/s with BRS enabled | | RS485 | 4 Mbit/s, one stop bit, no parity, eight data bits | | SPI | `SHORT`, 23 bytes per transfer | For CAN FD through SPI, send: ```text AT+SPIMODE=LONG ```