Skip to content

USB COM Port Not Persisting on Rumba32 – Possible Bootloader Issue #250

@samerjawadi

Description

@samerjawadi

I am trying to get GRBLHAL running on my Rumba32 board, which uses an STM32F446VETX MCU—the same as the FYSETC S6.

Here’s what I’ve done so far:

  • I copied the FYSETC S6 [env] configuration and added HAS_BOOTLOADER=1 since the Rumba32 has a built-in bootloader.
  • I tried all the .ld linker scripts. The only one that works for me is: FLEXI_STM32F446RETX_BL_FLASH.ld
  • After flashing with this linker script, the board shows up as a COM port and communicates correctly with IO Sender.
  • Other linker scripts (STM32F446RETX_BL32K_FLASH, STM32F446RETX_FLASH, STM32F446RETX_NO_BL_FLASH) flash fine but the board does not appear as a COM port.

Problem:

After flashing with FLEXI_STM32F446RETX_BL_FLASH.ld, the board works initially. However, when I reset or power-cycle the board, it no longer appears in Device Manager and the PC makes no connection sound.

Environment configuration used:

[env:fysetc_s6]
board = fysetc_s6
board_build.ldscript = FLEXI_STM32F446RETX_BL_FLASH.ld
build_flags = ${common.build_flags}
-D BOARD_FYSETC_S6=
-D HSE_VALUE=12000000
-D USB_SERIAL_CDC=1
-D HAS_BOOTLOADER=1
lib_deps = ${common.lib_deps}
eeprom
lib_extra_dirs = ${common.lib_extra_dirs}
upload_protocol = dfu

there is onther deffrence between fysetc_s6 and rumba32 : the eeprom
rumba32 : 24LC64T-I/OT -- 64 Kbit (8 KB)
fysetc_s6 : 24LC16BT-I/OT -- 16 Kbit (2 KB)

It seems like the USB is only functional immediately after flashing but fails to enumerate after a reset or power cycle.
I suspect this might be related to the bootloader or how the firmware handles startup and the vector table.

Any guidance on how to ensure the USB COM port persists after reset or power cycle would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions