Zephyr upstream¶
Zephyr v4.3.0以降、upstream Zephyrではsf32lb52_devkit_lcdボードが継続的にメンテナンスされています。v4.3.0リリースノートと SF32LB52 DevKit LCDボードドキュメントを参照してください。このガイドではv4.3.0のワークスペースを作成し、最初のサンプルをビルドしてボードに書き込みます。SF32のより広範な公式機能が必要な場合は、SiFli-SDKを使用してください。
ボードの対応機能を確認
upstreamのボード定義があることだけでは、すべての周辺機能や動作モードが有効で、製品向けに検証済みであるとは限りません。ボードドキュメントの対応機能表を確認し、使用するボードのリビジョンで必要な動作を検証してください。
必要なもの¶
ハードウェア
- SF32LB52 DevKit LCD。SF32LB52x-MOD-N16R8モジュールをベースとし、SF32LB525UC6、8 MB OPI-PSRAM、128 Mb QSPI-NORを搭載。
- ボードのUSB-to-UART経路に接続するUSB Type-Cデータケーブル。
ソフトウェア
- Zephyr v4.3.0がサポートするホストOS。Getting Startedガイドに従ってセットアップしてください。
- 同ガイドの手順に従い、ARM Cortex-Mターゲット用のZephyrホスト依存パッケージとZephyr SDKをインストール。
- Git、Python 3、
pip。
ツールを準備する¶
まずZephyrの v4.3.0 Getting Startedガイドに従い、ホスト依存パッケージとZephyr SDKをセットアップします。次にPython環境を作成し、対応するZephyrタグからワークスペースを初期化します。
python3 -m venv ~/zephyr-venv
source ~/zephyr-venv/bin/activate
pip install west
west init -m https://github.com/zephyrproject-rtos/zephyr --mr v4.3.0 ~/zephyrproject
cd ~/zephyrproject
west update
west zephyr-export
pip install -r zephyr/scripts/requirements.txt
以下のビルドと書き込みでは、このPython環境を有効にしたままにしてください。
ボードを確認する¶
ワークスペースにターゲットが含まれていることを確認します。
ボード名は次のとおりです。
Hello Worldをビルドする¶
Zephyr標準のHello Worldサンプルをビルドします。
ビルドに成功すれば、ワークスペースでボードターゲットとツールチェーンを利用できます。すべてのボード周辺機能が検証されたことを示すものではありません。
ボードに書き込む¶
upstreamのボードではsftoolがデフォルトの書き込みrunnerに指定されています。OpenSiFli sftoolをインストールしてPATHに通し、ボードドキュメントの手順でシリアルダウンロードモードにします。その後、次を実行します。
書き込みに失敗する場合は、シリアルポートの選択、ダウンロードモード、およびボードドキュメントのrunner説明を確認してください。
シリアルコンソールを開く¶
upstreamのボード設定では、Zephyrコンソールはusart1、1000000 baudに接続されています。シリアルターミナルで該当UARTを開き、次の出力を確認します。
次のサンプルを選ぶ¶
upstreamボードドキュメントの対応機能表とZephyrサンプル一覧を参照し、次に評価するAPIや周辺機能を選びます。その機能がボードでサポートされ、必要な設定が有効になっていることを確認してください。サンプルが動作しただけで製品レベルの準備が整ったと判断しないでください。
トラブルシューティング¶
| 症状 | 確認項目 |
|---|---|
west boardsにSF32ターゲットが表示されない |
upstream Zephyr v4.3.0以降からワークスペースを初期化したこと、およびwest updateが完了したことを確認します。 |
| コンパイル開始前にビルドが失敗する | Python環境が有効であること、ARM Cortex-M用Zephyr SDKがインストール済みであること、v4.3.0の依存パッケージを導入したことを確認します。 |
| ビルドできるが書き込みできない | sftoolがインストールされPATHにあること、シリアルポートが正しいこと、ボードがシリアルダウンロードモードであることを確認します。 |
| シリアル出力がない | usart1、1000000 baud、USB-to-UART接続、および別のターミナルがポートを開いていないかを確認します。 |
| 周辺機能のサンプルが失敗する | ボードの対応機能表とサンプル設定を確認します。ベースのボードターゲットですべての周辺機能が有効とは限りません。 |
製品に組み込む前の確認¶
- upstreamボードの対応機能表と、使用するサンプルの設定を確認します。
- 対象ボードと製品設定で、必要なインターフェース、性能、メモリー使用量、消費電力を検証します。Hello Worldのビルド成功はツールチェーンのスモークテストにすぎません。
- このZephyrターゲットで未掲載または未検証の機能が設計に必要な場合は、upstreamの対応範囲をSiFli-SDKと比較してください。
最終更新: