Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
7
対話とコメントアウト、ドキュメントの作成には日本語を使ってください。わたしは日本語話者です。
Sign in to like and favorite skills
対話とコメントアウト、ドキュメントの作成には日本語を使ってください。わたしは日本語話者です。
まずはじめにプロンプトの内容を正確に解釈します。考えの過程を示しながら実装の計画を立てます。そのあとは立てた開発計画に則って段階的に解決を図りましょう。
src/main.rs がエントリポイント(no_std/no_main)。Embassy(embassy-executor/embassy-rp/embassy-time)を使用し、Pico W 内蔵 LED を CYW43 経由で点滅。ログは defmt-rtt。.cargo/config.toml でターゲット thumbv6m-none-eabi とリンカ引数(link.x/defmt.x)を指定。メモリレイアウトは memory.x。main(Cargo.toml)。成果物は target/。CYW43 の FW/CLM は cyw43-firmware/ に配置。DEFMT_LOG=info (trace, debug, info, warn, error から選択).vscode/tasks.json の env セクション: ビルド時のログレベル指定.vscode/launch.json の env セクション: デバッグ実行時のログレベル指定// .vscode/tasks.json { "label": "cargo build (thumbv6m)", "options": { "env": { "DEFMT_LOG": "info" // trace は詳細すぎるため info 推奨 } } } // .vscode/launch.json { "env": { "DEFMT_LOG": "info" }, "coreConfigs": [{ "rttEnabled": true, "rttChannelFormats": [{"dataFormat": "Defmt"}] }] }
DEFMT_LOG の設定とRTT設定を確認trace → info に変更して重要な情報のみ表示programBinary パスとメモリ設定を確認rustup target add thumbv6m-none-eabi。ツール: cargo install elf2uf2-rs、必要に応じて cargo install cargo-flash。Linux 権限は for-linux.md 参照。cargo build(または cargo build --release)。elf2uf2-rs target/thumbv6m-none-eabi/debug/main(リリースは release/main)。RPI-RP2 へ .uf2 をコピー、または cargo flash --chip RP2040 --release。cargo-embed や probe-rs RTT で defmt ログを確認。cargo fmt --all、cargo clippy -D warnings を通すこと。snake_case、型/列挙は CamelCase、定数は SCREAMING_SNAKE_CASE。no_std の境界を明確にし、HAL/ドライバ依存と純粋ロジックを分離。非同期は embassy-time の遅延/タイマを使用。lib 化し #[cfg(test)] でユニットテストを追加、ホストで cargo test 実行を推奨。defmt-test の導入を検討。mod foo { #[test] fn does_xxx() { ... } }。純粋ロジックの網羅性を意識。Fixes #12。件名/本文は日本語を推奨。defmt ログ/スクリーンショット、リスク/ロールバック。チェック: cargo fmt、cargo clippy、cargo build --release。for-linux.md を参照。Spec-tx.mdを参照。memory.x と .cargo/config.toml は実機に合わせて管理。