ツールのコマンドライン¶
SDK に同梱されているホストツールのコマンド構文、オプション、使用例です。例は IPRO7AI Reef EVK V4.0 を対象にしています。書き込みとコンソールの手順は 書き込みとシリアルコンソール を参照してください。
ツール一覧¶
| ツール | パス | 用途 | 提供状況 |
|---|---|---|---|
build_freertos.sh |
SDK ルート | ビルド、クリーン、書き込み、コンソール、サイズレポート、自動テスト | 同梱 |
make + project.build |
各アプリケーションの Makefile |
1 つのアプリケーションをビルド | 同梱 |
serial_monitor.py |
tools/ |
コンソール出力の読み取り。最初に 1 つのコマンドを送信し、パターンを待ち、ログを保存することも可能(macOS、Linux。対話型ターミナルではありません) | 同梱 |
create_ota.py |
tools/ |
IntelProCube の結合イメージを boot2 OTA パッケージにまとめる | 同梱 |
| ブラウザー版の画像 Teach | tools/teach_web/ |
Chrome または Edge で画像を収集し、分類器を学習して ipro_reef_teach にデプロイ |
同梱 |
mfg_payload.py |
apps/ai/ipro_reef_teach/ |
ipro_reef_teach の --mfg 内容(起動モードと声紋モデル)を生成 |
同梱 |
| Reef BLE OTA ツール | apps/bluetooth/ble/ipro_ble_remote/tools/ |
make_reef_ota.sh、reef_ota.py、reef_ble_test.py、および Android デモアプリ ipro_remote_demo.apk(アプリケーションディレクトリ内) |
同梱 |
parse_kconfig_dynamic.py |
tools/script/ |
Kconfig ツリーを JSON で出力(kconfiglib が必要。ビルドでは使用しない) | 同梱 |
| CMake 3.15 | tools/cmake/ |
PATH に cmake がない場合の代替。Linux x86-64 専用 |
同梱 |
| Zephyr スクリプト | tools/zephyr/ |
Zephyr のワークスペース、ビルド、書き込み、コンソール(ipro7_evb ボードと ipro7ai_evk ボード) |
同梱 |
| IntelProCube 0.7.0.1 コマンドライン書き込みツール | ipro_iot_tool_macos、ipro_iot_tool_linux、ipro_iot_tool.exe |
シリアルポート経由でファームウェア、パーティションテーブル、boot2、mfg 内容を書き込み |
V2.2.1 には含まれていません。GitHub からダウンロードします |
| RISC-V ツールチェーン | /opt/toolchain/riscv_ipro7/ |
コンパイラー(GCC 14、riscv64-unknown-elf-) |
V2.2.1 には含まれていません。INTELPRO にお問い合わせください |
| IPRO AI Studio | — | IPRO AI Teach、モデル変換とデプロイ | SDK には含まれていません。GitHub からダウンロードしてください |
OpenOCD / GDB の接続設定、ボードテストスクリプト tools/board_test.sh、クラッシュダンプ用ホストツール |
— | オンターゲットデバッグ、ボードの自動テスト、==DUMP_READY: 後のメモリ読み出し |
V2.2.1 には含まれていません。INTELPRO にお問い合わせください |
tools/kconfig/menuconfig.py、defconfig ディレクトリ configs/、OTA 署名用の ota_products.py |
— | make menuconfig、make defconfig、create_ota.py --sign-key |
V2.2.1 には含まれていません |
本リリースには、JTAG / GDB によるオンターゲットデバッグの設定や手順はありません。デバッグはシリアルコンソール、ログ、オフラインの addr2line で行います。デバッグとトラブルシューティング を参照してください。
環境変数¶
| 変数 | 使用するツール | 効果 |
|---|---|---|
IPRO_FLASH_TOOL |
build_freertos.sh、make_reef_ota.sh、tools/zephyr/flash.sh、west flash |
IntelProCube コマンドラインツールのパス。未設定の場合、OS に対応するツール名を PATH から探します |
IPRO_SERIAL_PORT |
build_freertos.sh、tools/zephyr/ のスクリプト、west flash |
デフォルトのシリアルポート。未設定で -p も指定しない場合、接続されている唯一の USB シリアルポートを使用します |
IPRO_CHIP_VARIANT |
build_freertos.sh flash |
書き込み時の --chip-variant(IPRO7 または IPRO7AI)。未設定の場合はアプリケーションの設定から選択します。build_freertos.sh を参照してください |
IPRO_FLASH_PT |
build_freertos.sh flash |
書き込み時の --pt パーティションテーブル。未設定の場合は --pt を渡さず、ツールのデフォルトテーブルが使われます |
IPRO_PROBE_PORT |
west flash |
IPRO Debug Probe の UART ブリッジ。デフォルトは --port |
CROSS_COMPILE |
make、build_freertos.sh build |
ツールチェーンのプレフィックス。環境変数またはコマンドラインで指定すると、.config の CONFIG_CROSS_COMPILE より優先されます |
IPRO_TOOLCHAIN |
tools/zephyr/bootstrap.sh |
Zephyr ワークスペースで使うツールチェーンのディレクトリ。デフォルトは /opt/toolchain/riscv_ipro7 |
IPRO_ZEPHYR_WS |
tools/zephyr/build.sh、ci_build.sh |
Zephyr ワークスペースの場所。デフォルトは <SDK>/zephyr-workspace |
build_freertos.sh¶
アクションは連結でき、指定した順に実行されます。失敗した時点で停止します。アクションを指定しない場合は build を実行します。macOS と Linux 用の bash スクリプトです。
| アクション | 動作 |
|---|---|
build |
make -C <app> を実行し、ログを <build dir>/build.log に保存します。成功時は .bin のパスとサイズを、失敗時はログの最後の 30 行を表示します |
clean |
ビルドディレクトリを削除します |
flash |
アプリケーションのコンソールボーレートで reboot_dl を送信し、2 秒待ってから IntelProCube ツールで書き込みます:--chipname ipro7 --chip-variant <auto> --baudrate 921600、-P を指定した場合は --pt も付けます。ツールの出力に [All Success] 行があれば成功です。事前のビルドは行いません |
monitor |
アプリケーションのコンソールボーレートで serial_monitor.py を開き、最初に reboot を送信し、-t 秒後に終了します |
size |
ELF に対して size と size -A を実行します(セクション行は先頭 30 行) |
test |
ビルドと書き込みを行い、reboot を送信して ALL TESTS PASSED または SOME TESTS FAILED を待ちます。終了コードは 0 が成功、1 が失敗、2 がタイムアウト |
コンソールのボーレートは、使用する設定ファイルの CONFIG_PLATFORM_UART_BAUDRATE です。未設定の場合は 115200 です。
| オプション | 意味 | デフォルト |
|---|---|---|
-p, --port PORT |
シリアルポート | $IPRO_SERIAL_PORT、なければ唯一の USB シリアルポート |
-t, --timeout SEC |
monitor と test の秒数 |
30 |
-w, --wait-for PAT |
monitor が待つ正規表現 |
— |
-d, --defconfig FILE |
アプリケーションディレクトリ内の別の設定ファイルを使い、build_<name>/ にビルドします(defconfig_reef → build_reef/) |
— |
-c, --chip-variant V |
書き込み時の --chip-variant:IPRO7 または IPRO7AI |
$IPRO_CHIP_VARIANT。なければ、設定に CONFIG_IPRO7AI_REEF=y または CONFIG_IPRO7AI_EVK=y があれば IPRO7AI、それ以外は IPRO7 |
-P, --pt TABLE |
書き込み時のパーティションテーブル:.toml のパス(絶対パスとしてツールに渡されます)、またはツールの chips/ipro7/partition/ にあるテーブル名 |
$IPRO_FLASH_PT、なければ指定なし |
-j, --jobs N |
外側の make の並列ジョブ数。内側の CMake ビルドは常に -j4 |
— |
-v, --verbose |
ビルド出力をすべて表示 | — |
-l, --list |
apps/ 以下の 40 個のプロジェクトをカテゴリー別に一覧表示 |
— |
-h, --help |
ヘルプ | — |
<project> にはアプリケーション名(ipro7ai_reef_demo)または apps/ 以下のパス(platform/ipro7ai_reef_demo)を指定します。名前があいまいな場合や不明な場合は候補を表示します。-l の説明列は .config の最初のコメント行から取られ、アプリケーションによっては空欄です。
Reef でビルド、書き込み、コンソール表示を一度に行います(最初の書き込み前はボードに SDK ファームウェアがなく reboot_dl に応答しないため、手動で ダウンロードモードに入って ください)。
export IPRO_FLASH_TOOL=<IntelProCube>/ipro_iot_tool_macos
./build_freertos.sh -p /dev/cu.usbserial-XXXX \
-P <IntelProCube>/chips/ipro7/partition/partition_cfg_2M.toml \
build flash monitor ipro7ai_reef_demo
次の順に表示されます。
→ Entering download mode...
→ Flashing ipro7ai_reef_demo_IPRO7.bin (--chip-variant IPRO7AI, --pt <IntelProCube>/chips/ipro7/partition/partition_cfg_2M.toml)...
...
✓ Flash succeeded (…)
→ Opening serial monitor on /dev/cu.usbserial-XXXX at 115200...
-d で Reef 用の別の設定を選べます。例:
./build_freertos.sh -d defconfig_reef build ipro_ble_remote # build_reef/build_out/ に出力
./build_freertos.sh -d defconfig_reef_ov5640 build flash ipro7_uvc_cam
./build_freertos.sh -l # 40 個のプロジェクトを一覧表示
./build_freertos.sh size ipro7ai_reef_demo
出力先は <app>/build/build_out/(-d 指定時は build_<name>/build_out/)で、<app>_<chip>.bin、.elf、.map が生成されます。チップ名は CONFIG_CHIP から決まります(IPRO7 アプリケーションは _IPRO7、IPRO6S アプリケーションは _IPRO6)。
build_freertos.sh の制限
flashは常に--chipname ipro7を渡します。IPRO6S アプリケーション(FIN カードのファームウェアipro6_if_wifiなど)は、IntelProCube の--chipname ipro6で直接書き込んでください。--boot2、--mfg、--skip-otaは渡せません。ipro_ble_remoteの初回書き込み(boot2 + A/B テーブル)とipro_reef_teach(専用テーブルとmfg内容)は、IntelProCube ツール で直接書き込んでください。BOARD=オプションはありません。config_<board>ファイルは-d config_evkのように指定でき、build_config_evk/にビルドされます。- 書き込みツールはカレントディレクトリで実行されます。
-Pには.tomlのフルパスを指定してください。 sizeは常に/opt/toolchain/riscv_ipro7/bin/riscv64-unknown-elf-sizeを使い、CROSS_COMPILEを無視します。
make ターゲット¶
各アプリケーションの Makefile は SDK ルートの project.build を呼び出します(Unix Makefiles ジェネレーターで CMake を実行し、続けて make -j4)。
| コマンド | 動作 |
|---|---|
make -C apps/<category>/<app> |
.config で build/ にビルド |
make -C apps/<category>/<app> clean |
ビルドディレクトリを削除(DEFCONFIG= を付けると対応する build_<name>/) |
make -C apps/<category>/<app> DEFCONFIG=defconfig_<name> |
別の設定を build_<name>/ にビルド。.config は変更されません |
make -C apps/<category>/<app> CROSS_COMPILE=<dir>/bin/riscv64-unknown-elf- |
ツールチェーンのプレフィックスを指定。.config の CONFIG_CROSS_COMPILE より優先されます |
make -C apps/multimedia/ipro_agora_sentino BOARD=evk |
BOARD= を読むのは ipro_agora_sentino(デフォルト reef = .config)と ipro_pdm_mic_demo(デフォルト evb)だけです。config_<board> を選択し、build_config_<board>/ にビルドします |
- CMake:まず
PATH上のcmake、次にtools/cmake/(Linux x86-64)を使います。どちらもない場合、ビルドはNo cmake foundで停止します。 - ビルドのたびに、エディター用に
compile_commands.jsonが SDK ルートにコピーされます。 make menuconfigにはtools/kconfig/menuconfig.pyが必要ですが、同梱されていません。一部のMakefileのdefconfigとlist-defconfigsターゲットが参照するconfigs/ディレクトリも同梱されていません。.configを直接編集するか、コピーをdefconfig_<name>として保存し、DEFCONFIG=でビルドしてください。
IntelProCube 書き込みツール¶
書き込みには IntelProCube のコマンドラインツールを使います。このツールは V2.2.1 には含まれていません。GitHub から 0.7.0.1 をダウンロードし、開発環境の準備に従ってインストールしてください。ツールはチップファイルを自身の chips/ ディレクトリから読み込むため、IntelProCube のディレクトリで実行してください。この表は SDK 内の README とスクリプトからまとめたものです。全オプションについてはツール自体が正となります。
| オプション | 意味 |
|---|---|
--chipname ipro7 |
IPRO7 / IPRO7AI(Reef)。IPRO6S(FIN カードなど)は --chipname ipro6 を使います |
--chip-variant IPRO7AI |
Flash ピンの設定:IPRO7AI(Reef、QFN56)は IPRO7AI(0x9)、IPRO7 EVB は IPRO7(0x2)。ツールはこの値を自身の chips/ipro7/eflash_loader/eflash_loader_cfg.ini に書き込むため、ボードを切り替えたときは必ず再指定してください |
--port |
シリアルポート:USB-UART ケーブル、または IPRO Debug Probe の名前が 02 で終わるポート |
--baudrate 921600 |
書き込みのボーレート。アプリケーションのコンソールボーレートとは無関係です |
--firmware |
書き込む .bin |
--pt |
パーティションテーブル(.toml):ツールディレクトリからの相対パス(例:chips/ipro7/partition/partition_cfg_2M.toml)またはフルパス。省略するとツールのデフォルトテーブルを使います |
--boot2 |
boot2 イメージも書き込みます(例:ツールの chips/ipro7/builtin_imgs/boot2_v0.6.0/ipro_boot2_IPRO7_v0.6.0.bin)。Reef で ipro_ble_remote の OTA を使うときに必要です |
--mfg |
mfg パーティションに書き込むファイル(AI モデル、ipro_reef_teach の起動モードと声紋モデル) |
--skip-ota |
アプリケーション専用のパーティションテーブルと組み合わせて使います(例:ipro_reef_teach) |
--build |
書き込まずに結合イメージ chips/ipro7/img_create_iot/whole_img.bin だけを生成します。create_ota.py の入力になります |
Reef の出荷時ファームウェアを書き込みます(先に ダウンロードモードに入って ください)。
cd <IntelProCube>
./ipro_iot_tool_macos --chipname ipro7 --chip-variant IPRO7AI \
--port /dev/cu.usbserial-XXXX --baudrate 921600 \
--pt chips/ipro7/partition/partition_cfg_2M.toml \
--firmware <SDK>/apps/platform/ipro7ai_reef_demo/build/build_out/ipro7ai_reef_demo_IPRO7.bin
成功すると最後に [All Success] が表示されます。ツールは失敗しても終了コード 0 を返すため、この行で判断してください。Linux では ./ipro_iot_tool_linux、Windows では ipro_iot_tool.exe と COM5 などのポートを使います。Reef の各アプリケーションに必要なパーティションテーブル、--boot2、--mfg は IPRO7AI Reef EVK に記載しています。
serial_monitor.py¶
python3 tools/serial_monitor.py <port> [--baud 115200] [--timeout 30]
[--send CMD] [--wait-for PATTERN] [--log FILE]
Python 標準ライブラリの termios でポートを開くため、pyserial は不要です。macOS と Linux で動作し、Windows では動作しません。出力を読み取るだけで(最初に 1 つのコマンドを送信することは可能)、対話型ターミナルではありません。コマンドを 1 行ずつ入力するには、screen、minicom などのシリアルターミナルソフトウェアを使ってください。
| オプション | 意味 | デフォルト |
|---|---|---|
--baud |
ボーレート。921600 や 2000000 などの高速レートも macOS と Linux で使えます | 115200 |
--timeout |
監視する秒数。0 にすると Ctrl-C まで実行します |
30 |
--send |
監視の前に送信する 1 つのコマンド。例:reboot、reboot_dl、reef selftest |
— |
--wait-for |
正規表現。最初に一致した時点でモニターが終了します | — |
--log |
生の出力をファイルにも保存します | — |
| 終了コード | 意味 |
|---|---|
| 0 | 一致し、一致したテキストに PASSED が含まれる |
| 1 | 一致したが、一致したテキストに PASSED が含まれない |
| 2 | 一致しないままタイムアウト |
| 3 | ポートを開けない、またはコマンドを送信できない |
| 130 | Ctrl-C で停止 |
# Reef コンソール(115200):セルフテストを実行し、10 秒後に終了
python3 tools/serial_monitor.py /dev/cu.usbserial-XXXX --send "reef selftest" --timeout 10
# ipro7_jpeg_decode の Reef 用設定(921600):Ctrl-C まで監視し、ログを保存
python3 tools/serial_monitor.py /dev/cu.usbserial-XXXX --baud 921600 --timeout 0 --log console.log
# 実行中のファームウェアをダウンロードモードで再起動("reboot to download mode" と表示される)
python3 tools/serial_monitor.py /dev/cu.usbserial-XXXX --send reboot_dl --timeout 2
macOS では /dev/cu.* を使ってください。/dev/tty.* はキャリア検出を待つため止まってしまいます。書き込みの前にモニターを終了し、ポートを解放してください。
create_ota.py¶
IntelProCube が生成する結合イメージを boot2 OTA パッケージにまとめます。デフォルトでは XZ 圧縮して <input name>.xz.ota として書き出し、--raw を付けると非圧縮の <input name>.ota になります。入力は IPNP で始まるブートヘッダーを持つ結合イメージ(ツールの chips/ipro7/img_create_iot/whole_img.bin)でなければならず、SDK ビルドの .bin は使えません。それ以外の形式ではスクリプトが停止します。
| オプション | 意味 |
|---|---|
--raw |
圧縮しない |
-o, --output |
出力ファイル |
--hw-ver |
ヘッダー内のハードウェアバージョン文字列。デフォルトに頼らず明示的に指定してください |
--fw-ver |
ヘッダー内のファームウェアバージョン文字列(デフォルト OTA_V1.0.0) |
--sign-key、--product などの署名オプション |
同梱されていない ota_products.py が必要です。V2.2.1 では使用できません |
Reef では、ipro_ble_remote の make_reef_ota.sh がツールの --build とこのスクリプトを自動で実行します。Reef アプリケーション用のホストツール を参照してください。OTA の全体の流れは OTA アップデート にあります。
Reef アプリケーション用のホストツール¶
ブラウザー版の画像 Teach:tools/teach_web¶
IPRO AI Studio をインストールせずに、Chrome または Edge で Reef のカメラから画像を収集し、分類器を学習して USB 経由でデプロイします。ボードは ipro_reef_teach を image モードで実行している必要があります。ホストには Python 3.8 以降が必要です。
-
Web サーバーを起動します
ブラウザーで
http://localhost:8780が開きます(デフォルトのブラウザーが Chrome または Edge でない場合は、どちらかにアドレスを貼り付けてください)。 -
ボードを接続します:カメラへのアクセスを許可します。Connect… または最初の Deploy で、シリアルポート IPRO7 UVC Cam を選択します。
-
オフラインのコンピューター:オンライン時に一度
python3 tools/teach_web/serve.py --fetch-runtimeを実行します。LiteRT.js ランタイム(約 22 MB)がローカルに保存されます。
ipro_reef_teach の mfg 内容:mfg_payload.py¶
ipro_reef_teach の初回書き込みでは、起動モードと声紋モデルを --mfg で書き込みます。
python3 apps/ai/ipro_reef_teach/mfg_payload.py \
--voice apps/ai/ipro_reef_teach/model/model_b.spkb --mode image -o reef_teach_mfg.bin
--mode は image、voice、sensor のいずれかです。生成された reef_teach_mfg.bin を IntelProCube に --mfg で渡します。書き込みコマンドは サンプルページ にあります。ファームウェアだけを更新する場合は --mfg を省略してください。
ipro_ble_remote の Reef OTA ツール¶
| ツール | コマンド | 結果 |
|---|---|---|
make_reef_ota.sh |
IPRO_FLASH_TOOL=<IntelProCube>/ipro_iot_tool_macos sh apps/bluetooth/ble/ipro_ble_remote/tools/make_reef_ota.sh |
先に DEFCONFIG=defconfig_reef のビルドが必要です。build_reef/build_out/ipro_ble_remote_reef.xz.ota(約 345 KB)を生成します。boot2 は IntelProCube フォルダー内の最新版、または IPRO_BOOT2 で指定したファイルを使います |
reef_ota.py |
.venv/bin/python apps/bluetooth/ble/ipro_ble_remote/tools/reef_ota.py <package.xz.ota> |
BLE(bleak)で IPRO-Remote という名前のボードにパッケージを送信し、進捗と状態を表示します |
reef_ble_test.py |
.venv/bin/python apps/bluetooth/ble/ipro_ble_remote/tools/reef_ble_test.py |
bleak セントラルとして Reef の GATT サービスをテストします(info led env sound tone img。keys と motion はボードのそばで操作する人が必要)。取得した JPEG はスクリプトと同じ場所に保存されます |
ipro_remote_demo.apk |
Android スマートフォンにインストール | ipro_ble_remote 用のデモアプリ。.xz.ota パッケージを送信できます |
どちらの Python スクリプトにも bleak が必要です:python3 -m venv .venv && .venv/bin/pip install bleak。OTA は boot2 と partition_cfg_2M_remote_ab.toml で書き込んだボードでのみ動作します。標準の partition_cfg_2M.toml で書き込んだ Reef では、絶対に OTA を実行しないでください。
その他の Reef アプリケーションのツール¶
| ツール | 用途 |
|---|---|
apps/multimedia/ipro7_jpeg_decode/host/jpeg_check.py photo.jpg [--fix out.jpg] |
IPRO7 が JPEG をデコードできるかを PC で確認し、必要なら変換します |
apps/multimedia/ipro7_jpeg_decode/host/jdec_host.py -p <port> upload photo.jpg --go 565 |
コンソール経由で JPEG をボードに送ってデコードさせ、比較用に結果を取得します |
apps/multimedia/ipro7_jpeg_decode/host/run_host_tests.py |
PC 上でデコーダーを libjpeg と比較して検証します(cc、djpeg が必要) |
apps/multimedia/ipro_agora_sentino/setup_ncm_nat.sh |
macOS で USB-NCM 接続の NAT を設定します |
Zephyr スクリプト¶
tools/zephyr/(bootstrap.sh、build.sh、flash.sh、monitor.sh、ci_build.sh)は Zephyr ボード ipro7_evb と ipro7ai_evk 用です。本リリースには Reef 用の Zephyr ボードはありません。使い方は Zephyr RTOS を参照してください。
サイズとメモリの解析¶
| 方法 | コマンドまたは場所 | 表示内容 |
|---|---|---|
| リンカーのメモリレポート | 各ビルドの最後の数行(build_freertos.sh では build.log 内) |
各メモリ領域(flash、ocram、有効な場合は psram)の使用量と使用率 |
size アクション |
./build_freertos.sh size <app> |
text / data / bss の合計とセクションサイズ |
| マップファイル | <build dir>/build_out/<app>_IPRO7.map |
すべてのオブジェクトファイルとライブラリのアドレスとサイズ |
| サイズ順のシンボル | riscv64-unknown-elf-nm --size-sort -S <ELF> |
最も大きい関数と変数 |
| 逆アセンブル | .config に CONFIG_GENERATE_ASM=y |
<app>_IPRO7.asm も出力されます |
./build_freertos.sh size ipro7ai_reef_demo
/opt/toolchain/riscv_ipro7/bin/riscv64-unknown-elf-nm --size-sort -S \
apps/platform/ipro7ai_reef_demo/build/build_out/ipro7ai_reef_demo_IPRO7.elf | tail -20
CONFIG_AI_SUPPORT と CONFIG_MM_SUPPORT の両方を有効にすると、リンカースクリプトは OCRAM 領域を 64 KB(CONFIG_EM_SIZE が 0)または 48 KB(CONFIG_EM_SIZE が 0 より大きい)に縮小し、CMake は構成時に AI+MM …: OCRAM=… を表示します。メモリマップは IPRO7 に、OCRAM の配分は ビルドシステムと設定 にあります。
自動テスト¶
./build_freertos.sh test ipro_unit_test はビルドと書き込みを行い、ALL TESTS PASSED または SOME TESTS FAILED を待ちます。ipro_unit_test には IPRO7 EVB が必要です。Reef のオンボードセルフテストは出荷時ファームウェアの reef selftest です。デバッグとトラブルシューティング を参照してください。
その他のツール¶
| ツール | 動作 |
|---|---|
tools/script/parse_kconfig_dynamic.py Kconfig [PROJECT_SYMBOL] |
Kconfig ツリーを JSON で出力します。kconfiglib が必要です。ビルドでは使用しません:cmake/generate_autoconf.cmake が .config を直接読み取って autoconf.h を生成します |
components/audio/tools/gen_asrc_coef.py |
オーディオのサンプリングレート変換器の係数を生成します |
*/test_host/run.sh |
PC 上で実行するユニットテスト。例:components/audio/test_host/run.sh、apps/ai/ipro_reef_teach/sensor/test_host/run.sh |
| 他のボード用のツール | IPRO7AI EVK サンプルの flash.sh と enter_dl.py、ipro6_fmac の tools/mkimg.py(IPRO6S EVK)、tools/android/IproMicDemo/(ipro_pdm_mic_demo):それぞれのボードが必要です |
開発の流れ¶
Reef での編集、ビルド、書き込み、コンソールの繰り返しは ビルドと書き込みの流れ にあります。独自のアプリケーションを始めるには 最初の独自アプリケーションを作る を参照してください。デバッグとよくあるエラーは デバッグとトラブルシューティング にあります。