Zephyr 在 Arduino UNO Q MCU 上

发布: (2026年1月3日 GMT+8 03:53)
2 min read
原文: Dev.to

Source: Dev.to

概述

Arduino UNO Q 使用 STM32U585 MCU 来处理所有 Arduino 功能。它与主处理器以及板上的 GPIO 引脚通信。唯一可靠的引脚分配来源是官方原理图:

Arduino UNO Q 原理图 (PDF)

该原理图展示了哪些 GPIO 引脚连接到 RGB LED(LED 3 和 LED 4),可作为你自己项目的参考。

前置条件

  • Zephyr SDK(最低版本 4.3.0 – 首个支持 UNO Q 的发布版)
  • ADB 工具 – 用于从主机 PC 向设备传输文件
  • 已克隆的 Zephyr 工作区(例如 ~/zephyrproject/zephyr

构建并烧录 Zephyr 示例

以下步骤将在 UNO Q 上编译并运行经典的 blinky 示例。

# 切换到你的 Zephyr 工作区
cd ~/zephyrproject/zephyr

# 为 Arduino UNO Q 开发板构建 blinky 示例
west build -p always -b arduino_uno_q samples/basic/blinky

将二进制文件传输到设备

adb push build/zephyr/zephyr.elf /tmp/

烧录 STM32U585 MCU

通过 ADB 打开 UNO Q 的 shell 并运行 remoteocd 上传命令(路径可能需要根据你的安装进行调整)。

adb shell

# 在 UNO Q shell 中
/home/arduino/.arduino15/packages/arduino/tools/remoteocd/0.0.4-rc.4/remoteocd \
    upload \
    --adb-path "/home/arduino/.arduino15/packages/arduino/tools/adb/32.0.0/adb" \
    -s "{upload.port.properties.serialNumber}" \
    -f "/home/arduino/.arduino15/packages/arduino/hardware/zephyr/0.52.0/variants/arduino_uno_q_stm32u585xx/flash_bootloader.cfg" \
    "--verbose" \
    /tmp/zephyr.elf

如果过程成功完成,LED 3 将会以绿色闪烁。

恢复 Sketch Bootloader

在烧录 Zephyr 二进制文件后,从 Arduino App Lab 上传新 Sketch 将会失败,因为 STM32U585 仍然保留了 Sketch Bootloader。重新安装引导程序即可恢复正常的 Arduino Sketch 上传:

arduino-cli burn-bootloader -b arduino:zephyr:unoq -P jlink

执行此命令后,板子将像往常一样接受通过 App Lab 上传的 Sketch。

参考资料

  • Zephyr 文档(Arduino UNO Q)
  • Arduino RemoteOCD 仓库
  • Arduino UNO Q 原理图 (PDF)
Back to Blog

相关文章

阅读更多 »