跳到主要内容

用户指南

Google I/O 版本

本用户指南介绍如何启动 Coralboard,以及如何在 Synaptics Torq™ AI 子系统中搭载 Coral NPU 的 Torq AI 引擎上运行多模态应用。AI 模型由基于 MLIR 的 Synaptics Torq 编译器编译,该编译器是开源 Torq 工具链的一部分。

如在硬件、软件或其他方面需要帮助,请向 Synaptics 提交支持请求。

Astra SDK(Linux)特性​

Synaptics Coralboard™ Google I/O 版本预装了一个版本的 Astra SDK(基于 Yocto 项目的 Linux),具体为经 Grinn 定制的 Astra SDK v2.2。

Astra SDK 的完整文档(包括如何构建自定义镜像)请参阅 Astra SDK 文档。

Coralboard Google I/O 版本的预装镜像基于 Astra SDK v2.2 开箱体验(OOBE)镜像,其中包括:

  • Python3
  • 支持 NPU 加速的 IREE 运行时
  • 基于 GStreamer 的多媒体管道(含 Python 绑定)
  • 核心服务与连接功能
  • 预装 AI 示例的图形桌面(可选,需要显示屏)

图形桌面为可选项。您可以在无屏模式下使用开发板,也可以连接显示屏使用。Linux 内核和文件系统写入板载 eMMC 存储。

Synaptics 会持续更新 Astra SDK。新版本可在 Astra SDK 发布页面获取。

备注

Astra SDK 2.4 和 2.5 版本正式支持 Coralboard Google I/O 版本,2.6 及更高版本则不支持。

您可以使用以下命令查看 Astra SDK 版本。

cat /etc/astra_version

版本信息如下所示:

scarthgap_6.12_v2.5.0

有关向开发板烧录新版本的说明,请参阅下文的 更新 Astra SDK(Linux)镜像。

Python​

示例应用基于 Python,但也支持其他语言。系统已包含 Python 3.12.9。注意:一开始请始终使用 python3 命令,而不是 python。建议使用虚拟环境,在虚拟环境中即可使用 python 命令。

Coralboard 已启用的功能​

Coralboard 预装的 Linux 镜像支持以下功能:

  • 基于网络控制模型(NCM)的 USB 网络共享。您可以启用网络共享,让开发板通过主机访问网络。
  • OV5647 摄像头(安装在随附的传感器扩展板上,或单独连接)
  • 7 英寸或 13 英寸 Waveshare 显示屏
  • PDM 麦克风(位于传感器扩展板上)
  • 蜂鸣器 / RGB LED(位于传感器扩展板上)
  • Wi-Fi 网卡(AMPAK AP12611_M2 是一款紧凑型 M.2 2230 网卡,同时提供 Wi-Fi 6E 和蓝牙连接)
  • USB 以太网适配器

信息与资源​

设置并连接 Coralboard​

开发板的主电源通过 USB Type-C 接口提供。USB Type-C 端口同时用于与主机通信。您可以将 USB 外设连接到 Coralboard 上的 Type-A 端口,必要时可使用集线器。请注意 USB 外设所需的功率(硬件上限约为 0.6A @ 5V,即 3W)。为稳妥起见,可以使用带电源的集线器。

开箱与硬件组装​

请参阅快速上手。

连接电源和外设​

  • 将 USB 外设(如摄像头)连接到 Coralboard 上的 USB Type-A 端口。
  • 如需连接多个外设,请使用带电源的 USB 集线器,以确保供电充足。
  • 将数据线插入 USB Type-C 端口,为开发板提供主电源。将这根 USB Type-C 线的另一端连接到主机,以便进行通信。

Coralboard USB 供电连接

选择启动模式​

Coralboard 配有一个物理开关,用于决定软件启动镜像的加载位置:可以从 eMMC 存储器加载(默认),也可以从 SD 卡加载(可选)。请确保开关拨到“1”位置。

  • 1 / OFF:eMMC 启动(默认)
  • 0 / ON:SD 卡启动

安装 Wi-Fi/蓝牙模块(可选)​

Coralboard 支持一款由 Ampak 专为 Synaptics 设计的 Wi-Fi/蓝牙模块:AP12611_M2 是一款紧凑型 M.2 2230 网卡,同时提供 Wi-Fi 6E 和蓝牙连接。请参阅 M.2 网卡。

安装 Wi-Fi/蓝牙模块:

  • 将 AMPAK AP12611_M2 模块插入开发板上的 M.2 接口,并用 M.2 螺丝固定。
  • 将天线连接到模块上。

按照 Astra SDK 文档中的以下指南启用 Wi-Fi 并连接网络。

蓝牙无线电可通过 bluetoothctl 控制。按照以下指南连接蓝牙设备。

连接 MIPI DSI 显示屏(可选)​

适用于 Synaptics Coralboard Google I/O 版本的 Astra SDK 支持 Waveshare 的 7 英寸、10 英寸和 13 英寸 MIPI DSI 触摸显示屏。经过测试的显示屏型号及购买链接,请参阅下文的触摸显示屏。

连接 7 英寸显示屏:

  1. 首先断开 USB-C 电源线。

  2. 将随附的排线连接到显示屏背面:向上翻起黑色锁扣,将排线插入(金属触点朝上),然后压下黑色锁扣。

    显示屏排线连接

  3. 将排线的另一端连接到 Coralboard:向上翻起黑色锁扣,将排线插入(金属触点朝下),然后压下锁扣固定。

  4. 为显示屏连接电源。

    您可以使用 Coralboard 排针上的 5V 和 GND 供电,但建议使用独立的 5V 和 GND 电源为显示屏供电。

    注意,13.3 英寸显示屏自带 USB-C 端口用于供电。

  5. 重新连接 USB 线。

  6. 启用设备树 overlay 以支持显示屏(见下一节)。

在 U-boot 中启用 overlay​

overlay 名称因 Astra SDK 版本而异

以下 Linux 镜像版本之间的命名规则有所不同:

  • Grinn 定制镜像(默认)
  • Synaptics 官方镜像(Astra SDK v2.4 和 v2.5)

详见下一节。

以下功能需要在 U-boot 引导加载程序终端中应用设备树 overlay 来启用:

  • 触摸显示屏
  • 传感器扩展板

要应用 overlay,请先连接到 U-boot 终端。

  1. 连接串口(使用传感器扩展板上内置的 USB 转串口电路,或将独立的 USB 转串口适配器接到 I/O 排针的 UART 信号上:RX、TX、GND)
  2. 按下开发板上的复位键,并快速连续按几次回车键,阻止处理器启动进入 Linux。您应该会进入 U-boot 命令行,提示符为 =>。
  3. 按照以下命令设置并保存 overlay。

适用于默认 Linux 镜像(Grinn 版本)的 overlay 命令

适用于 7 英寸显示屏和传感器扩展板

=> setenv dtbo "grinn-astra-261x-coral-ws-panel-overlay.dtbo grinn-astra-261x-coral-hat-overlay.dtbo"
=> saveenv

适用于 13 英寸显示屏和传感器扩展板

=> setenv dtbo "grinn-astra-261x-coral-ws-1080p-panel-overlay.dtbo grinn-astra-261x-coral-hat-overlay.dtbo"
=> saveenv

适用于 Astra SDK v2.5 的 overlay 命令

适用于 7 英寸显示屏和传感器扩展板

注意,7 英寸显示屏已默认支持。应用不存在的 overlay 可能会导致其他 overlay 处理出错。

=> setenv dtbo "sl2619-coralboard-hat-overlay.dtbo"
=> saveenv

适用于 13 英寸显示屏和传感器扩展板

=> setenv dtbo "sl2619-coralboard-ws-1080p-panel-overlay.dtbo sl2619-coralboard-hat-overlay.dtbo"
=> saveenv
备注

启动进入 Linux 后,可以查看 /boot 目录,了解系统中包含的 overlay 文件列表。

ls /boot

更多信息请参阅 Astra SDK 文档中的 Waveshare 面板配置指南。

连接终端​

有两种方式可以获取 Linux 命令行提示符。

方式 1 – ADB(推荐)​

下载 Android SDK Platform-Tools。 请参阅 ADB 文档。

使用以下命令打开 shell:

adb shell

您还可以使用 ADB 收发文件(见下文)。

方式 2 – USB 串口​

您可以使用 USB 转串口适配器连接 UART 端口,从而在系统启动时访问 U-boot 以及 Linux 终端。USB 转串口适配器会在您的主机上被识别为串口设备(虚拟 COM 端口)。 请参阅此处的更多信息。

使用传感器扩展板

如果您正在使用传感器扩展板(已插在 Coralboard 上),可以使用其内置的 USB 转串口适配器。

注意:您可能需要在主机上安装驱动程序才能建立此连接。Silicon Labs 提供 CP210x USB 转 UART 桥接 VCP 驱动程序。

Windows:

安装驱动程序。可以使用任意串口终端程序,如 Putty、Tera Term 等。Coralboard 会显示为一个新的 COM 端口。

macOS:

在 macOS 上,可以使用 screen 命令连接串口,无需安装驱动程序。

# 查看设备名称
ls /dev/cu.usb*
screen /dev/cu.usbserial-xyz 115200

Linux:

大多数发行版都已包含 cp2101 驱动程序。您可能需要安装 screen 或其他您喜欢的终端模拟器。

# 查找所有 ttyACM 设备
ls /dev/ttyACM*
screen /dev/ttyACM0 115200

通过 USB 连接网络​

您可以通过 USB 接口让 Coralboard 访问主机的网络。注意,在受管理的系统上,此功能可能会被本地 IT 策略阻止。

Windows 11:

  1. 打开“开始”菜单,搜索“网络连接”,然后点击打开。
  2. 右键点击当前正在使用的互联网连接,选择“属性”。
  3. 切换到“共享”选项卡。
  4. 勾选“允许其他网络用户通过此计算机的 Internet 连接来连接”。
  5. 在“家庭网络连接”下拉列表中,选择“UsbNcm Host Device”。

注意,在 Windows 11 上,主机的 ICS(Internet 连接共享)在重启后不会生效。要重新启用,必须在重启后先禁用 ICS,然后再重新启用。

macOS:

在 macOS 上可以按以下步骤设置 ICS(Internet 连接共享):

  • 连接设备:通过 USB 将 Coralboard 连接到 Mac。
  • 找到共享设置:打开“系统设置 > 通用 > 共享”。
  • 配置共享:在“共享以下来源的连接”中选择您的互联网来源(例如 Wi-Fi、雷雳以太网)。
  • 在“用以下端口共享给设备”中,选择 USB 适配器或与 NCM 设备对应的设备标识。
  • 启用互联网共享:打开开关。此后 Mac 将作为 DHCP 服务器为所连接的 USB 设备分配地址。

NCM 的 IP 地址方案可以在设备上配置,您可以使用 DHCP(推荐)或静态 IP。在 DHCP 模式下,Coralboard 会从主机获取 IP 地址,并能如常与外部网络通信。

使用传感器扩展板功能​

如果您的 Coralboard 上插有传感器扩展板,即可使用以下功能。

下面列出了一些在命令行中测试这些功能的常用命令。您也可以在 Python 应用中使用这些功能,更多信息请参阅示例应用。

PDM 麦克风​

麦克风以 ALSA 音频输入设备的形式提供。

使用以下命令列出可用的音频输入设备,通过 card: x 确定声卡/设备编号。

arecord -l

使用以下命令录制音频(格式为 -D hw:<card>,0):

# PDM 麦克风(默认)
arecord -D hw:0,0 -f S32_LE -r 48000 -c 2 -d 5 /home/root/pdm_mic_test.wav

注意:如需使用 USB 麦克风,只需更改设备编号(根据 arecord -l 的结果)。

aplay -l    # 查找扬声器的声卡/设备编号
gst-launch-1.0 -e alsasrc device=hw:0,0 ! audioconvert ! audio/x-raw,format=S16LE,rate=48000,channels=2 ! alsasink device=hw:<card>,0 sync=false

蜂鸣器控制​

蜂鸣器控制

Grinn 版本使用 libgpiod v1 控制 GPIO,Astra SDK v2.5 使用 libgpiod v2。

使用以下命令测试蜂鸣器:

Grinn 版本:

gpioset 'gpiofind BUZZERn'=1 # OFF
gpioset 'gpiofind BUZZERn'=0 # ON

Astra SDK v2.5:

gpioset -t0 BUZZERn=1 # OFF
gpioset -t0 BUZZERn=0 # ON

LED 控制​

LED 控制遵循标准 Linux 机制,相关节点位于 /sys/class/leds/ 目录下。

开启命令:

echo 255 > /sys/class/leds/red\:status/brightness
echo 255 > /sys/class/leds/green\:status/brightness
echo 255 > /sys/class/leds/blue\:status/brightness

关闭命令:

echo 0 > /sys/class/leds/red\:status/brightness
echo 0 > /sys/class/leds/green\:status/brightness
echo 0 > /sys/class/leds/blue\:status/brightness

LED 不支持调光,因此任何 >= 1 的值都会使其完全点亮。

USB 扬声器​

插入 USB 扬声器即可播放音频。

使用以下命令查看音频播放设备信息,通过 card: x 确定声卡/设备编号。

aplay -l  

使用以下命令播放文件(格式为 -D hw:<card>,0):

aplay -D hw:<card>,0 pdm_test.wav

文件传输​

有两种方式可以在 Coralboard 与主机之间传输文件。

方式 1 – ADB​

您可以使用 ADB 从主机推送或拉取文件。

将文件推送到 Coralboard 主目录:adb push file /home/root/

从主目录获取文件:adb pull /home/root/<file> <destination-path>

方式 2 – SCP​

如果已连接网络并且知道 Coralboard 的 IP 地址,可以使用 SCP。

将文件推送到 Coralboard 主目录:

scp -r <file> root@<board-ip>:/home/root/

从主目录获取文件:

scp root@<board-ip>:/home/root/<file> <destination-path>

U 盘文件系统​

创建挂载点目录: mkdir -p /mnt/usb

挂载 FAT32 格式的 U 盘: mount -t vfat /dev/sda1 /mnt/usb

挂载 ext4 格式的 U 盘: mount -t ext4 /dev/sda1 /mnt/usb

卸载: umount /mnt/usb

SD 卡文件系统​

创建挂载点: mkdir -p /mnt/sd

挂载 SD 卡: mount /dev/mmcblk2p1 /mnt/sd

卸载: umount /mnt/sd

更新 Astra SDK(Linux)镜像​

Google I/O 版本的 Coralboard 预装(烧录)了经 Grinn 定制的 Synaptics Astra SDK v2.2。

Synaptics 会持续更新 Astra SDK。新版本可在 Astra SDK 发布页面获取。

Astra SDK v2.4 和 v2.5 正式支持 Coralboard Google I/O 版本。

必须选择正确的启动源,目前仅支持 eMMC(S3 开关拨到“1”位置)。

您可以通过两种方式更新 Linux SDK 镜像。

下载 Astra SDK v2.5 版本​

在 sl2619 下,找到 Coralboard OOBE 镜像下载脚本。

  • Image for sl2619_coralboard_oobe_scarthgap [Windows] [MAC / Linux]

根据您的主机选择对应的脚本。

运行该脚本,下载版本 zip 文件(sl2619_coralboard_oobe_scarthgap_6.12_v2.5.0.zip)

方法 1 – USB 启动脚本​

请参阅 Astra SDK 文档中的 更新 Astra 软件一节。

根据您的主机情况,可能需要更新 USB 驱动程序。

下载 usb-tool 代码仓库。

进入 usb-tool 目录。

将版本 zip 文件解压到此处,解压后的文件夹名称应为 eMMCimg。

运行 update_emmc 脚本开始更新。具体使用哪个脚本文件取决于您的主机。

要进入 USB 下载模式,请按住 USER 键,然后按一下 RESET 键。下载过程随即开始,需要几分钟才能完成。

方法 2 – 通过 U-boot 使用 U 盘(或 SD 卡)​

该方法在 Astra SDK 文档的从 U 盘烧录 eMMC 镜像中有详细说明。

此方法需要 USB 转串口适配器。

下载版本 zip 文件并将其解压到 U 盘中。 将 U 盘插入 Coralboard 上的 USB Type-A 接口。

按照上文所述连接到 U-boot。在连接串口的状态下,按下复位键, 然后按任意键数次以中断启动过程。随后应进入 U-boot 提示符 =>。

重置 USB 以访问设备:

=> usb reset

列出 U 盘中的文件:

=> ls usb 0:1 /
=> usb2emmc <folder_name>

此处的 folder_name 为 eMMCimg;对于自定义的 Astra SDK Yocto 构建,则为 SYNAIMG。

等待操作完成。

如需使用 SD 卡代替 U 盘,请将命令改为:

=> sd2emmc <folder_name>

连接外部 USB 转串口适配器​

如果您未使用传感器扩展板,仍然可以使用任意 3.3V TTL 串口适配器访问系统控制台。

请确保您的适配器与系统兼容。例如 Adafruit USB to TTL Serial Cable,其 I/O 电平为 3.3V。

按图示连接串口线,注意正确连接适配器的 TX 和 RX 引脚。将导线插到 Coralboard 20 针 GPIO 排针的 GND、TX 和 RX 引脚上:

引脚功能
4GND
6(仅输出)SM_URT0_TXD
8(仅输入)SM_URT0_RXD

完成以上连接后,在主机上打开串口连接。

支持的组件和外设​

以下列出的组件均已在 Coralboard 上经过测试。

触摸显示屏

Wi-Fi 模块

USB 外设

  • 摄像头
  • 扬声器
  • 集线器

USB 转串口适配器