IT用語集 › ハードウェア › セミホスティング

セミホスティング

ハードウェア Svenska → 更新: 2026-11-02

デバッグプローブ経由で、ファームウェアがホストPCのコンソールやファイルシステムを借りるARMの仕組み。画面のないチップでも printf が動く。

プログラムは操作コードとポインタを二つのレジスタに入れ、特殊なブレークポイント命令(Cortex-Mでは BKPT 0xAB)を実行する。デバッガがコアを止め、要求の中身(この文字列を表示せよ、このファイルを開け)を読み、PC上で実行し、結果をレジスタに置いてプロセッサを再開させる。UARTも追加ピンも要らない。

ただし呼び出しのたびにCPUが止まるので極端に遅く、有名な罠もある。デバッガがつながっていないとブレークポイントを受け止める者がおらず、HardFaultになるのだ。セミホスティングなしで再ビルドし忘れると、自分の机の上でしか動かない製品を出荷することになる。SWO経由のITMやSEGGERのRTTは、コアを止めずに同じ役割を果たす。

← 用語集に戻る