ラズpico wでのLチカから始める

すでにもう1年以上経過しましたが、

ラズパイPico WのRust

のフォローで、embassyを使ったサンプルプログラムでLチカを動かしてみた、とはいっても、ほぼ

https://qiita.com/Azi/items/422c654bb476e0abf118

の手順に則っています、Cargo.tomlのライブラリ版数を最新にしたのと、ソースファイルは通常通りsrcディレクトリ直下に配置しています

全体的に感じるのは、Lチカだけなのに環境構築は作業項目多いし、コードの分量も結構あるということで、MicroPyhtonやArduino言語に比較すると事前の手間がかかるということ

ディレクトリ構成はこんな感じで、config.tomlはデバッガ使わないときには修正必要です

build.rsの役割は、

//! This build script copies the `memory.x` file from the crate root into
//! a directory where the linker can always find it at build time.
//! For many projects this is optional, as the linker always searches the
//! project root directory -- wherever `Cargo.toml` is. However, if you
//! are using a workspace or have a more complicated build setup, this
//! build script becomes required. Additionally, by requesting that
//! Cargo re-run the build script whenever `memory.x` is changed,
//! updating `memory.x` ensures a rebuild of the application with the
//! new memory settings.

memory.xはテキストファイルで、picoのメモリの使い方(マッピング)を指定するファイルに見えます

pico用のサンプルプログラムは、

https://github.com/embassy-rs/embassy/tree/main/examples/rp

に他の機能用のサンプルも存在するのでやってみるか

気づきは、① ビルドのオプションで–releaseを指定してもバイナリサイズは変わらないということ、組み込み用のバイナリだとそうなるのかもしれない、② targetディレクトリのサイズが巨大であること、今回の事例でも2.3GB程度の容量になっています

いずれにしろサンプルプログラム動かしてみるのはまだしも、実際にオリジナルのコードを書いたときにはデバッグ環境が必須だから、そこも当たり始めないと組み込みでは使い物にはならない

一番ポピュラーなのはラズパイ財団から出ているデバッグプローブを使うことだろう

https://www.switch-science.com/products/8708

 

admin