コンテンツにスキップ

クラウドツールチェーンと CubeMX

通常は高性能なワークステーションとライセンスの絡まりを必要とするツールが、代わりに Subaya の バックエンドで実行されます。CLI を通じてそれらを操作し、使用したコンピュート秒数の分だけ 支払います。

重いツールはお客様のラップトップではなく Subaya のバックエンドで実行されます:

  • Quartus — Intel/Altera FPGA 合成。
  • RyuSim — Subaya の SystemVerilog シミュレータ。
  • Renode — 組み込みシステムエミュレーション。
  • BitCrucible — ハードウェア検証ブリッジ。
  • ヘッドレス CubeMX — Subaya の組み込みピンプランニングサーフェスの背後にある、信頼できる 検証とコード生成のエンジン。

これらをローカルにインストールすることは決してありません — バックエンドが信頼できる環境です。 メータリングされたコンピュートの仕組みについては 課金と使用量 を ご覧ください。

suya arch による組み込みピンプランニング

Section titled “suya arch による組み込みピンプランニング”

組み込み(例: STM32)プロジェクトでは、Subaya はヘッドレス CubeMX エンジンによってバック されたピンプランニングサーフェスを公開します。ピンプランは、MCU/ボード、ピン アサインメント、ペリフェラル設定、クロックツリーの意図を取り込み、CubeMX の .ioc プロジェクト ファイルを生成します。

完全な実践例については STM32 はじめに をご覧ください。

サポートされている開発ボードから(ボードコントラクトが LED、ボタン、仮想 COM ポートのピンを 無償で提供します)、またはベアな MCU 部品からプランを開始します:

Terminal window
# From a supported dev board
suya arch pin-plan create --board NUCLEO-L433RC-P
# …or from a bare MCU part
suya arch pin-plan create --mcu STM32F407VGTx

プランを一覧表示し、検査します:

Terminal window
suya arch pin-plan list
suya arch pin-plan show --plan <plan-id>

信号を物理ピンに割り当てます:

Terminal window
suya arch pin set --plan <plan-id> --pin PA5 --signal GPIO_Output --label LED

ペリフェラルのモードとパラメータを設定します:

Terminal window
suya arch peripheral configure --plan <plan-id> --peripheral USART2 --mode Asynchronous

クロックツリーのノードの意図を表現します:

Terminal window
suya arch clock set --plan <plan-id> ...

各割り当てには逆操作があります。ピンを移動したり、入力を誤ったりした場合に使います:

Terminal window
suya arch pin rm --plan <plan-id> --pin PA5
suya arch peripheral rm --plan <plan-id> --peripheral USART2
suya arch clock rm --plan <plan-id> --node SYSCLK
suya arch pin-plan rm --plan <plan-id> # delete the whole plan

構造的な検証を実行します。バックエンドのヘッドレス CubeMX エンジンが信頼できるチェックです:

Terminal window
suya arch validate --plan <plan-id>

プランから .ioc を生成し、それを接続されたリポジトリにコミットします:

Terminal window
suya arch generate --plan <plan-id> --wait # run headless CubeMX, print the resolved .ioc
suya arch generate-status --run <run-id> # poll a run started without --wait
suya 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 で開いたり、さらなるコード生成を 駆動したりする準備が整います。