Development tools for Zephyr on STM32Workbench for Zephyr: VS Code extension to set up, build, flash and debug Zephyr applications on STM32.Devicetree manager: browse, edit and visualize Zephyr devicetree, STM32CubeMX-like for Zephyr.
i suppose USB VCP is interrupt driven. I'm using USB HID, this is definitely interrupt driven.
Yo do need concurrency protection. Are you using FreeRTOS? FreeRTOS provides message queues with are thread safe