Embedded Test 19 · 自作ツール — 足りない道具は作る

Chapter 19

自作ツール — 足りない道具は作る

この章のゴール.

既製品で届かない所を、自分で作った小さなツールで埋める発想と型をつかむこと。 安いマイコンを「注入・観測エージェント」に仕立てる、ホスト側の解析スクリプトを書く、 既存ツールを糊で束ねる——費用対効果で「作る/買う」を選べるようになる。

この章で使う既出の用語(定義は各リンク先). USB(01 章 2 節)、アナログ(01 章 2 節)、差分(01 章 3 節)、記録(01 章 4 節)、SDR(02 章 4 節)、ハーネス(02 章 7 節)、判定(02 章 1 節)、刺激(02 章 1 節)、状態遷移(02 章 1 節)、オシロ(04 章 8 節)、サンプリング(04 章 2 節)、UART(05 章 1 節)、I²C(06 章 1 節)、SPI(06 章 1 節)、DAC(07 章 2 節)、PWM(07 章 3 節)、read(10 章 2 節)、ウォーターフォール(12 章 3 節)、ソフト(12 章 2 節)、ヒストグラム(14 章 3 節)、道具(16 章 2 節)

1. なぜ自作するのか

市販の計測器・アナライザは強力だが、高価だったり、独自プロトコルに未対応だったり、自動化に組み込みにくいことがある。組み込みテストでは、数百円〜数千円のマイコンと少しのコードで、驚くほど実用的な注入・観測ツールが作れる。「作る/買う」は費用対効果で決める。

足りない道具は作る——役割で分担するのが肝ホスト(PC)観測・解析・司令塔。ミリ秒精度。独自デコーダ・可視化・既存ツールの糊付けマイコン エージェント正確なタイミング注入・観測。マイクロ秒精度。偽センサ・信号注入・イベント時刻記録単純な シリアル コマンド作る/買うは費用対効果で決める標準・高精度・高速は買う/独自・密結合は作る
図19-1 ホストとマイコンの役割分担。

2. 作る/買うの判断

状況寄せ方
標準プロトコル・高精度・高速が要る買う(ロジアナ、PPK2、オシロ、SDR)
独自プロトコル・特殊な注入・自動化に密結合作る(マイコン+スクリプト)
一度きり・探索段階まず既存の糊付け(3 節)
繰り返す・チームで共有作ってハーネス(18 章)に組み込む

原則: 観測・解析はホストのソフトで、リアルタイムな注入・タイミングはマイコンで分担すると相性がよい。

3. 既存ツールを糊で束ねる — 最小の自作

いちばん安上がりな「自作」は、既存ツールを Python で繋ぐこと。

これだけで「BLE で書き込みながら電流を録画し、同時にコンソールも監視する」といった多点同時テストが組める。

4. マイコンを注入・観測エージェントにする

安価なマイコン(RP2040、ESP32、STM32、FPGA なら iCE40 等)を、PC の手足として使う。PC はミリ秒でしか動けないが、マイコンはマイクロ秒で正確に動ける——この役割分担が肝。

# ホスト側から自作エージェントを叩く(シリアルの簡単プロトコル)
agent.write(b"FAKE_TEMP 850\n")      # 偽 I2C センサに 85.0℃ を返させる
agent.write(b"TRIG?\n"); t = agent.readline()   # 警報 GPIO の立ち上がり時刻を回収

5. ホスト側の解析ツール

観測データを「意味」に変えるソフトも自作価値が高い。

6. 設計の勘所

7. 何を大事にするか

8. 手を動かす

自作ツールの型を選ぶ


この章のポイント