- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!Rust/Wio Terminal
基礎から学ぶ組み込みRustで,RustとWio Terminalに入門.
::環境設定
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustup target add thumbv7em-none-eabihf
sudo apt install git minicom libusb-1.0-0-dev libsdl2-dev libssl-dev
cargo install cargo-generate
cargo install hf2-cli
cargo install cargo-hf2
echo 'ATTRS{idVendor}=="2886", ENV{ID_MM_DEVICE_IGNORE}="1"' | sudo tee /etc/udev/rules.d/99-seeed-boards.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2886", MODE="0666"' | sudo tee -a /etc/udev/rules.d/99-seeed-boards.rules
echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="2886", MODE="0666"' | sudo tee -a /etc/udev/rules.d/99-seeed-boards.rules
sudo udevadm control --reload-rules
:: ブートローダーモード
2回,素早くリセットする.ユーザLED(青い方)がゆっくり点滅する.
:: Lチカ
cargo generate --git https://github.com/tomoyuki-nakabayashi/wio-blink-template.git
で,src/main.rsを編集する.
loop {
// TODO: ここにLチカのコードを書く
delay.delay_ms(1_000u16);
user_led.toggle();
}
ちなみに,vscodeのrust-analyzerが,
can't find crate for `test`
can't find craterustc(E0463)
とかってエラーを出してたのだけど,.vscode/settings.jsonを用意して
{
"rust-analyzer.checkOnSave.allTargets": false,
"rust-analyzer.checkOnSave.extraArgs": [
"--target",
"thumbv7em-none-eabihf"
]
}
と書いたらエラーがでなくなった.
(cf. https://github.com/rust-analyzer/rust-analyzer/issues/3801)
:: wio_terminalクレートとatsamd-halクレートを使う
cargo generate --git https://github.com/tomoyuki-nakabayashi/wio-examples-template.git