IT-プログラミング言語-Rust
はじめに 環境 サンプルコード 初期値の修正 ビルドコマンド 配線 動作確認 おわりに 気になっていること はじめに M5Stamp C3U MateにLCDを接続して、フェリス*1を表示させました。 フェリス 環境 www.yu2ta7ka-emdded.com の環境とハード/ソフト共に同じで…
はじめに 環境 M5Stamp C3U Mate 環境構築 WSLでのUbuntu環境構築 必要なパッケージのインストール Rustの環境構築 クレートの追加 WSLでのUSBデバイス接続の環境設定 WindowsにUSBIPD-WIN プロジェクトをインストールします LinuxにUSBIPツールとハードウェ…
はじめに hifumiキーボードをRaspberry Pi PicoとRustで動かしました。 やったこと ピン配 PicoのIOマップとhifumiキーボードの回路図を見比べて、ピン割当をして、配線をしました。 pico ProMicro*1 I/O種別 GP18 D4 input GP19 C6 input GP12 F4 output GP…
はじめに 動画の概要 技術解説 トラブルシューティング 楽しい 気づき おわりに 動画内で参照していた情報 はじめに RustでキーボードFWを書く参考に「自作キーボードって組込みRustの入門にちょうどいいらしい」動画を視聴しました。いろいろなエッセンスが…
はじめに HW 部品 配線 FW ソースコード おわりに はじめに RustでキーボードFWを実装するために、RustyKeysを参考(ほぼコピペ)にさせてもらうことにしました。ハードウェア(HW)は手持ちにあるものでやりくりするということで2キーのキーボードとして実装し…
はじめに 手順 1. HWの準備 2. 必要なパッケージのインストール 3. デバッグアダプタ用PicoのFW更新 4. ターゲット用PicoのFW更新(Hello World) 詰まったところ デバッグアダプタ用のFWを書いていなかった 動作手順が少し複雑 おわりに 追記(2022年8月14日) …
はじめに やったこと クロスビルド環境とツール準備*1 テンプレートのプロジェクト利用 ランナーの修正 プログラムの書き込み 実行結果 確認したこと おわりに はじめに 先日自作キーボードに入門しました。その次として、Raspberry Pi Pico向けにRustでキー…
はじめに 書籍 基礎から学ぶ 組込みRust 実践Rustプログラミング入門 オンラインドキュメント The Embedded Rust Book (和訳) Github Rust Embedded(英語) Github Awesome Embedded Rust(英語) はじめに 組込みRustに関連する情報がいろいろ散らばっているよ…
はじめに ソースコード 解読 Attributes #![deny(unsafe_code)] #![no_main] #![no_std] #[entry] Crates panic_halt cortex_m cortex_m_rt stm32f4xx_hal stm32f4xx_hal::prelude::* crate::hal::{stm32}; main() main() -> ! { loop {} } Peripheralsの取…
はじめに 概要 ST Nucleo Board STM32F411RET6とは 開発環境の構築 Rustのインストール Rustのクレートの追加 クロスコンパイル環境の構築 Lチカプロジェクトの構築 Lチカコードのコピペ examples/delay-blinky.rs Cargo.toml .cargo/config memory.x Lチカ…
はじめに XFDとは? 作ったもの 構成 環境 概要説明 わかったこと XFDの試作にRaspberry Piは便利 Rustのcrateが優秀なことを実感 Raspberry Pi3でRustの開発はしんどい やってみたいこと リファクタリング 監視端末とフィードバックデバイスの分離 フィード…
はじめに やったこと コマンドライン引数の処理 計算ロジックの実装 ユニットテストの記述 エラーハンドリング 気づいたこと おわりに はじめに 実践Rustプログラミング入門のChapter4を写経しました。その感想です。ソースコードは下記githubにあります*1。…
関数ポインタの利用 fn double(n: i32) -> i32 { n + n } fn abs(n: i32) -> i32 { if n >= 0 { n } else { -n } } fn main() { // doubleの関数ポインタをfへ束縛 let mut f: fn(i32) -> i32 = double; assert_eq!(f(-42), -84); // absの関数ポインタをfへ…
はじめに BinaryHeapについて 実装 隣接行列を用いた実装 優先度付きキューを用いた実装 参考 はじめに 最短経路を求めるアルゴリズムとして有名なダイクストラ法をRustで実装しました。ダイクストラ法は隣接行列を用いるとO(|V|^2)ですが、優先度付きキュー…
要約 問題概要 解法 危険な実装(ダメ絶対) 構造体を使った安全なコード*1 static mut を使った危険なコード 参考 要約 DFS(深さ優先探索)の勉強としてAtCoder Beginner Contest 015 C問題をピックアップ。 グローバル変数を使った解答例を模倣してstatic…
rustlingsとは Rustを実際に読み書きしながら学んでいくエクササイズツールです。具体的には、rustlingsを起動するとソースコードのエラーが表示され、そのエラーを解消しコンパイルに成功させることが目標になります。そして、その過程でRustを学んでいきま…
はじめに 問題 ローマ数字の表記法の特徴 アルゴリズム 実装 もう少しやりたいこと 勉強になったこと まだよくわかっていないこと 参考 おわりに はじめに 突然ですが、画像は何巻の美しいシャナかご存知でしょうか? ローマ数字で表記されている通り19巻で…
はじめに ソースコード全文をコピペできていなかった 利用すべきcrateバージョンがよくわかっていない おわりに ソースコード CrateのバージョンNG時のエラーメッセージ はじめに Rust CookbookのParse the MIME type of a HTTP responseでハマったので、そ…
はじめに やったこと 1.実践Rust入門 1部読了 特徴(これが全てではない) 型 所有権システム(所有権、借用、ライフタイム) トレイト 2部 2.パーセプトロンの実装 3.FizzBuzz実装 4.Rust.Tokyo聴講 展望 はじめに 夏頃から部内メンバの発案に乗っからせて…
夏休みに始める新しいこととして、いろいろあってRustが選ばれました。参考書は実践Rust入門[言語仕様から開発手法まで]です。参考書の1章を読んだのですが、Rustの特徴を詳細に解説してくれており、これからがワクワクしてきました。C,C++と同レベルの速度…