トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2021-5-4の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!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