#arduino #cortex-m #arm #embedded-hal #no-std

no-std wio_lite_w600

为 Wio Lite W600 提供的板级支持包

2 个不稳定版本

0.3.0 2022 年 1 月 11 日
0.2.1 2021 年 10 月 21 日

嵌入式开发 中排名 2227

MIT/Apache

1.5MB
24K SLoC

WIO Lite W600 板级支持包

此软件包提供用于与 WIO Lite W600(https://wiki.seeedstudio.com/Wio-Lite-W600/)一起工作的类型安全 API。

示例

要求

  • 已安装 Arduino IDE
    • 您还需要 Wio Lite W600 Arduino 工具,请按照此指南操作
    • 此库包含您在 Arduino15/packages/Seeeduino/tools/bossac/1.7.0[-arduino3] 中需要的 bossac 版本。 非常重要,您只能使用这个版本,因为使用错误的版本可能会导致您无法访问板子。Arduino15 在以下位置
      • LinuxArduino15 可能类似于 ~/.arduino15/
      • OSXArduino15 可能类似于 ~/Library/Arduino15
    • 您可以通过 IDE 安装示例草图来测试一切是否正常工作
    • 注意,arduino cli(或只是普通的 bossac)可能很快就会取代这一部分
  • 已安装 arm-none-eabi 工具,您需要 gcc 和 objcopy。
    • 注意:另外,您可以使用 cargo-binutils,它可能在 macOS 上更容易安装,也更容易使用,因为它会自动检测目标
  • 通过 rustup target add thumbv6m-none-eabi 安装 thumbv6m-none-eabi rust 目标

要构建您的示例,您可以使用 arm-none-eabi-objcopycargo-binutils

如果使用 arm-none-eabi-objcopy

$ cargo build --release --example blinky_basic
$ arm-none-eabi-objcopy -O binary target/thumbv6m-none-eabi/release/examples/blinky_basic target/blinky_basic.bin

或者,如果使用 cargo-binutils

$ cargo objcopy --example blinky_basic --release -- -O binary target/blinky_basic.bin

为了简化,以下文档将使用 cargo-binutils

要复制示例,首先您需要找到Wio Lite W600连接的端口。在Arduino IDE或基于nix的系统上,您可以在/dev目录中找到它。注意,可能不会显示,直到您通过在板上双击复位按钮将设备置于引导加载程序模式。

例如,如果您的设备连接到/dev/cu.usbmodem14601,您需要在下面使用cu.usbmodem14601

在复制文件之前,您还需要通过双击复位按钮将设备置于引导加载程序模式。使用上面找到的与设备连接的端口,使用上面找到的bossac。

示例(您的安装位置可能不同)

~/Library/Arduino15/packages/Seeeduino/tools/bossac/1.7.0-arduino3/bossac --port=cu.usbmodem14601 -idewvRU target/blinky_basic.bin

示例 - Blinky Basic

接线

板载LED连接到W600模块,因此blinky_basic使用D13引脚。为了看到示例工作,您必须将LED和适当的电阻器连接到该引脚。

c

构建示例

$ cargo objcopy --example blinky_basic --release -- -O binary target/blinky_basic.bin

按照上述步骤连接设备并找到它连接的端口。将设备置于引导加载程序模式,然后使用Seeeduino的boassac版本复制文件。

~/Library/Arduino15/packages/Seeeduino/tools/bossac/1.7.0-arduino3/bossac --port=cu.usbmodem14601 -idewvRU target/blinky_basic.bin

示例 - USB ack

步骤

构建示例

$ cargo objcopy --example usb_ack --release -- -O binary target/usb_ack.bin

按照上述步骤连接设备并找到它连接的端口。将设备置于引导加载程序模式,然后使用Seeeduino的boassac版本复制文件。

~/Library/Arduino15/packages/Seeeduino/tools/bossac/1.7.0-arduino3/bossac --port=cu.usbmodem14601 -idewvRU target/usb_ack.bin

通常位于/dev/cu.usbmodemWIO_LITE_W6001。尽管如果您已插入了多个wio_lite_w600并正在运行此示例,则最后一位数字可能已更改。

然后您可以发送USB设备字节。每次设备接收数据时,它都会以"Received: X"响应,其中X是它接收到的数据。要测试此功能,最简单的方法可能是使用screen。

以这种方式连接到设备(9600是波特率)

$ screen /dev/cu.usbmodemWIO_LITE_W6001 9600

然后您可以按按键,应该会收到响应。例如

Received: h
Received: e
Received: l
Received: l
Received: o
Received:
Received: w
Received: o
Received: r
Received: l
Received: d

要退出screen,请使用ctrl-a,然后按crtl-\,然后按y

依赖关系

~5MB
~111K SLoC