監修:株式会社コンピューテックス
フラッシュプログラマとは
フラッシュプログラマとは、フラッシュメモリへの書き込みを行う装置です。
これは、デバイスプログラマ (ROM ライタ) の一種で、特にフラッシュメモリに特化したものを指します。フラッシュROM ライタと呼ばれる場合もあります。フラッシュプログラマには、パソコンに接続してフラッシュメモリに書き込むタイプや、パソコンで作成した書き込みファイルをフラッシュプログラマに保存し、スタンドアロンで書き込むタイプのものがあります。また、書き込み方式によってオンボードや、オフボードをサポートする機種など様々なタイプがあります。フラッシュプログラマは、主に生産現場で使用されますが、ソフトウェア開発時や、最終製品のフィールドメンテナンスにも使用されます。
フラッシュプログラマの使用用途
フラッシュメモリは、工業的および産業的に様々な機器に組み込まれ、制御プログラムやデータを記憶するためのデバイスです。フラッシュメモリにはNOR型とNAND型があり、主な使用例は以下のようになります。
NOR型:産業機器、家電、プリンタ、携帯情報端末、車載機器
NAND型:パソコン、スマートフォン、デジタルカメラ、車載機器 (ナビの地図データ、ドライブレコーダーなど)
フラッシュプログラマは、これらのフラッシュメモリにプログラムを書き込むために使用されます。主な使用用途としては以下の通りです。
- 組込み機器の生産ラインでの書き込み
- 車載機器(ドアセンサやミラー制御など)のMCUへの書き込み
- 各種製品の現場でのファームウェア更新
- 検査工程の一部としてプログラムの書き込み
オンボード・プログラミングに対応している製品では、基板実装後や最終工程において基板実装済みのフラッシュメモリを書き換えることが可能です。生産・検査システムに組込んで使用したり、LIN接続などを利用して複数の車載機器などに書き込みを行える機種も存在します。外部信号を接続してフラッシュメモリへの書き込みや、書き込み状態の取得が可能な機種では、生産システムの自動化が実現できます。
フラッシュプログラマの原理
1. 概要
フラッシュプログラマは、フラッシュメモリへ電気的にデータの書き込み、消去などを⾏う装置です。CPU内蔵フラッシュメモリでは、JTAGまたはSWDなどの接続方法で書き込みが行われます。UART接続やLIN接続に対応しているものもあります。また、シリアルフラッシュメモリの場合は、SPI信号をハードウェアで直接制御して書き込む、専用のフラッシュプログラマもあります。
2. 主な機能
-
フラッシュメモリの全領域の一括書き換え及び、部分書き換え
-
書き込み内容の読み出しと照合 (ベリファイ)
-
書き込みデータファイルの読み込み (ヘキサファイル、ELF ファイルなど)
-
フラッシュメモリの全消去
-
フラッシュメモリのプロテクト設定・解除
フラッシュメモリの種類によっては、セキュリティやプロテクトの機能を搭載したものがあります。こういったデバイスは初期状態で書き込みが禁止されていることがあり、フラッシュプログラマにはプロテクト解除、書き込み、再プロテクトを行う機能が必要とされます。
フラッシュプログラマの種類
1. オンボード/オフボード
フラッシュプログラマには、オンボードとオフボードの書き込み方法があります。オンボードとは、ボードに実装されたフラッシュメモリへの書き込みで、オフボードとは未実装のフラッシュメモリへの書き込みです。
フラッシュプログラマには、それぞれオンボードとオフボード専用の機種があり、本体にアダプタを接続して、両方に対応できる機種もあります。オブボード用のフラッシュプログラマは、1個単位で書き込むタイプや、一度で複数個に書き込める、ギャングライタと呼ばれるタイプがあります。
2. NOR型/NAND型
フラッシュメモリにはNOR型、NAND型があります。NOR 型フラッシュメモリは、ランダムアクセスの読み取りが高速で小容量に適しており、主に機器に組み込んで制御プログラムの記憶装置として使用されます。NAND型フラッシュメモリは、大容量のデータストレージに適しており、USBメモリ、SDカード、SSDなどのストレージに使用されています。
フラッシュプログラマにも、NOR型、NAND型それぞれに対応した機種があります。両方に対応している製品もありますが、対応機能はNOR型とNAND型によって異なる場合があります。
3. その他
その他、フラッシュプログラマには、下記のような機能を搭載している機種もあります。
- SPI フラッシュメモリ書き込み専用の機種
- 複数個の書き込みデータ保存可能
- モバイルバッテリーで動作可能
- フラッシュプログラマからボードへの電源供給が可能
- 検査システム等に組込んで外部から制御可能
本記事はフラッシュプログラマを製造・販売する株式会社コンピューテックス様に監修を頂きました。
株式会社コンピューテックスの会社概要はこちら