IT用語集 › ハードウェア › IAP(In-application programming)

IAP(In-application programming)

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

ライタやデバッグプローブを接続せず、動作中のファームウェア自身が自分のフラッシュメモリを書き換えること。

ISPは基板に載せたまま外部ライタでチップを書き込む方式だが、IAPはそれすら不要にする。実行中のプログラムがUART、USB、無線などで新しいイメージを受け取り、セクタを消去して自分で書き込む。あらゆるブートローダとOTAアップデートは実際にはこの仕組みで動いている。NXPのLPCファミリは、ブートROMにIAPルーチンを最初から用意し、アプリケーションが関数ポインタを呼ぶだけで済むようにしていた。

問題は、フラッシュが消去中は一般に読み出せないことだ。同じバンクからコードを実行していると、CPUは割り込みも含めて数ミリ秒停止する。そのため重要なルーチンは先にRAMへコピーしておく。デュアルバンクフラッシュなら、片方のバンクを読みながらもう片方に書けるので、この問題を避けられる。消去の最中に電源が落ちれば、製品が文鎮になるのは昔から変わらない。

← 用語集に戻る