11个版本 (7个重大更新)
0.8.0 | 2024年5月3日 |
---|---|
0.7.0 | 2021年12月25日 |
0.6.0 | 2021年9月27日 |
0.5.0 | 2020年12月31日 |
0.1.2 | 2019年10月11日 |
#2076 in 嵌入式开发
每月656次下载
在mks979b中使用
1.5MB
24K SLoC
Adafruit ItsyBitsy M4 Express开发板支持库
此库提供了一种类型安全的Rust API,用于与Adafruit ItsyBitsy M4 Express板交互。
板子功能
- Microchip [ATSAMD51G] Cortex-M4微控制器 @ 120 MHz(32位,3.3V逻辑和电源)
- 512kB闪存
- 192kB SRAM
- 2 MB SPI闪存芯片
先决条件
- 安装交叉编译工具链
rustup target add thumbv7em-none-eabihf
- 安装cargo-hf2 hf2引导加载程序闪存工具,具体取决于您的平台要求
上传示例
查看仓库中的示例
https://github.com/atsamd-rs/atsamd/tree/master/boards/itsybitsy_m4/examples
- 请确保在以下目录下
cd boards/itsybitsy_m4
- 将您的设备置于引导加载程序模式,通常是通过连续按两次复位按钮来实现的。
- 一步构建和上传
$ cargo hf2 --release --example blinky_basic
Finished release [optimized + debuginfo] target(s) in 0.19s
Searching for a connected device with known vid/pid pair.
Trying Ok(Some("Adafruit Industries")) Ok(Some("PyBadge"))
Flashing "/Users/User/atsamd/boards/itsybitsy_m4/target/thumbv7em-none-eabihf/release/examples/blinky_basic"
Finished in 0.079s
$
注意,某些示例可能会告诉您需要启用更多功能
$ cargo hf2 --release --example usb_serial
error: target `usb_serial` in package `itsybitsy_m4` requires the features: `usb`
Consider enabling them by passing, e.g., `--features="usb"`
只需按照说明添加 --features,例如
cargo hf2 --release --example usb_serial --features="usb"
Finished release [optimized + debuginfo] target(s) in 0.09s
Searching for a connected device with known vid/pid pair.
Trying Ok(Some("Adafruit Industries")) Ok(Some("PyBadge"))
Flashing "/Users/User/atsamd/boards/itsybitsy_m4/target/thumbv7em-none-eabihf/release/examples/usb_serial"
Finished in 0.167s
$
如果您在使用Linux时,即使设备已连接且处于引导加载程序模式,hf2也未能闪存您的板子,那么您可能需要添加一些udev
规则,如果您还没有这样做的话。
adafruit板的示例在这里:here。
您可能希望将所有与hf2相关的规则放在一个单独的文件中,例如/etc/udev/rules.d/99-hf2-boards.rules
,或者为每个供应商有不同的规则文件。Adafruit板的规则如下所示
#adafruit rules
ATTRS{idVendor}=="239a", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idVendor}=="239a", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="239a", MODE="0666"
添加规则后,请记得重启或运行
sudo udevadm control --reload-rules
sudo udevadm trigger
有关hf2和其他上传代码的方法的更多信息,请参阅基础项目README。
依赖关系
~7MB
~168K SLoC