The upper layer uses a mix of Rust code and Arduino C header files for compilation. The compiled firmware is then flashed to the MCU. We implemented an led-matrix-painter from the official example.
However, a feature not yet implemented is log communication and printing between the Linux side and the MCU side—specifically, the arduino-app-cli monitor.
Therefore, the code seen on the Linux side does not currently display the MCU-side logs.
The entire code development process was assisted by Cloud Code.
UNO Q Local MCU Programming (Runs on the board's Linux, no need for -p)
Programming Channel: remoteocd → LocalCmd → /opt/openocd → SWD bitbang
Target Address: STM32U585 flash @ 0x8100000
Usage 1: Directory Scan (File extension must be .elf-zsk.bin) Place the binary file to be programmed into any directory and name it *.elf-zsk.bin
arduino-cli upload -b arduino:zephyr:unoq --verbose --input-dir /dirUsage 2: Filename can be any name. Use --upload-property to override the default extension. Replace upload.extension with your actual file extension (bin, hex, etc.)
arduino-cli upload -b arduino:zephyr:unoq --verbose \
-i /path/to/myfw.bin \
--upload-property upload.extension=bin