STM32 はじめに
これは クイックスタート の組み込み版に相当します:
新しい組み込みプロジェクトを、リポジトリにコミットされた生成済みの STM32 .ioc
(CubeMX プロジェクトファイル)まで進める完全な実践例です。これは Subaya の
ピンプランニングサーフェス(suya arch)を使用しており、それはクラウドのヘッドレス
CubeMX エンジンによってバックされています。
ローカルに CubeMX をインストールする必要はありません — 信頼できる検証とコード生成は Subaya のバックエンドで実行されます。
1. 組み込みプロジェクトを作成する
Section titled “1. 組み込みプロジェクトを作成する”suya project create --name blinky --workspace <workspace-id> --type embeddedsuya repo create --installation <installation-id> # back it with Git2. ピンプランを作成する
Section titled “2. ピンプランを作成する”ピンプランは、MCU/ボード、ピンアサインメント、ペリフェラル設定、そしてクロックツリーの 意図を取り込みます。開発ボードから開始する(ボードコントラクトが LED、ボタン、仮想 COM ポートのピンを無償で提供します)か、ベアな MCU 部品から開始します:
# From a supported dev boardsuya arch pin-plan create --board NUCLEO-L433RC-P
# …or from a bare MCU partsuya arch pin-plan create --mcu STM32F407VGTxプランを一覧表示し、検査します:
suya arch pin-plan listsuya arch pin-plan show --plan <plan-id>3. ピンを割り当て、ペリフェラルを設定する
Section titled “3. ピンを割り当て、ペリフェラルを設定する”# Pin a signal to a physical pinsuya arch pin set --plan <plan-id> --pin PA5 --signal GPIO_Output --label LED
# Configure a peripheral (mode + params)suya arch peripheral configure --plan <plan-id> --peripheral USART2 --mode Asynchronous
# Express clock-tree intentsuya arch clock set --plan <plan-id> ...
# Every assignment has an inverse — use it when a pin moves or was mistypedsuya arch pin rm --plan <plan-id> --pin PA5suya arch peripheral rm --plan <plan-id> --peripheral USART2suya arch clock rm --plan <plan-id> --node SYSCLKsuya arch pin-plan rm --plan <plan-id> # delete the whole plan4. 検証する
Section titled “4. 検証する”suya arch validate --plan <plan-id>これは構造的な検証を実行します。バックエンドのヘッドレス CubeMX エンジンが信頼できる チェックです。
5. .ioc を生成してコミットする
Section titled “5. .ioc を生成してコミットする”suya arch generate --plan <plan-id> --wait # run headless CubeMX, print the resolved .iocsuya arch generate-status --run <run-id> # poll a run started without --waitsuya arch ioc commit # generate + commit the .ioc to the connected repo--wait を付けない場合、generate は実行をキューに入れ、generate-status で
ポーリングするための run id を返します。結果を信頼する前に status を確認して
ください。resolved はヘッドレス CubeMX エンジンが実際に実行されたことを意味
します。unresolved は実行されなかったことを意味し、その .ioc はエンジンで
検証された成果物ではなく意図にすぎません。理由は reason に示され、多くの
場合その MCU ファミリー向けの CubeMX イメージがまだビルドされていないことです。
.ioc はお客様の GitHub リポジトリに着地し、STM32CubeMX で開いたり、さらなるコード生成を
駆動したりする準備が整います。
プランをレビューする
Section titled “プランをレビューする”プランをレビュードキュメントにレンダリングし、他の設計アーティファクトと同様にレビューを 通します:
suya arch pin-plan review-doc --plan <plan-id>suya review create <document-id>次のステップ
Section titled “次のステップ”- ツールと CubeMX — クラウドツールチェーンと CubeMX がどう配線されているか。
- CLI: arch —
suya archの完全なリファレンス。