SPI Programmerの使用方法

ソフトウェアで書き換えできないFlash ROMの書き換えに必要なハードウェアSPI Programmerについての使用方法。

使用方法については下記を例に記載している。

  • PC: Lenovo G580(2689)
  • SPI Programmer: CH341A
  • Flash ROM: EN25Q64(SOP8)
  • OS: Windows10
  • 書き換えソフトウェア:AsProgrammer 1.4.1

SPI Programmerの接続

一般的には電源/バッテリー/ボタン電池/CPUを外せばSOP8テストクリップで読み出し/書き込みができるようだが、Lenovo G580(2689)はSPI Programmerを電源として、周辺部品が動作してしまうようで、ROMデータが正しく読み出せない。

そこで、ROMの電源ピン(下記写真ではROM上側左端。緑のテープが巻いてある黒線接続先のピン)を基盤から浮かせ、基板側への電源供給を断つ。

SOP8テストクリップのクリップ部分を切断し、電源ピン以外を上の写真のように半田付けする。
ROM書込み後に基盤側からの電源に切り替えられるよう、SPI ProgrammerとROMと基板側電源(電源ピンの少し左のランド。写真の左端の黒線接続先)に電源切替スイッチを半田付けする。
回路図としては下記の通り。

SPI Programmerは下記のように接続する。

書き換えソフトウェアのインストール

  1. ここから AsProgrammer_1.4.1.zip をダウンロードする。
  2. 任意のディレクトリを作成する。
  3. ダウンロードした AsProgrammer_1.4.1.zip を作成したディレクトリに解凍する。
  4. 解凍したディレクトリの下記ファイルを実行し、ドライバをインストールする。
    CH341-Drivers\CH341Parallel_driver_support WIN7\CH341PAR.EXE
  5. この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか」のダイアログには[はい]をクリックする、
  6. 下記画面が表示されることを確認し、[INSTALL]ボタンをクリックする。
  7. 下記画面が表示されることを確認し、[OK]ボタンを押す。
  8. 下記ファイルを実行する。
    AsProgrammer.exe
  9. 下記画面が表示されればインストール成功。

各種操作

下記各種操作手順。

  • ROM認識
  • ROM読み込み
  • ROM Verify
  • ROM書き込み

ROM認識

  1. 前記電源切替スイッチをSPI Programmer側に倒す。
  2. [?]アイコンをクリックする。
  3. 下記画面が表示されることを確認する。

    ここにROM名(EN25Q64)が表示されないことが多々あり、2回目に成功する。
    もし3回やっても表示されない場合、接続やインストールの再確認が必要となる。
  4. ROM名(EN25Q64(EON))をダブルクリックする。
  5. 裏のメイン画面が下記のように IC: 欄にROM名が表示され、Size、Page欄が更新されることを確認する。
  6. Find IC 画面を[X]ボタンをクリックし、閉じる。

ROM読み込み

  1. 「ROM認識」されていることが前提
  2. 緑の右矢印「→」アイコンをクリックし、緑のステータスバーが進むのを確認する。
  3. 完了すると、下記ログが表示される。
    Current programmer: CH341
    17:37:55
    Reading memory...
    Done
    Execution time: 0:01:21
    
  4. 「ROM Verify」し、一致すれば、「フロッピーディスク」アイコンをクリックし、保存する。

ROM Verify

  1. 「ROM認識」されていることが前提
  2. 緑のイコール「=」アイコンをクリックし、緑のステータスバーが進むのを確認する。
  3. 一致した場合、下記ログが表示される。
    Current programmer: CH341
    17:40:14
    Verify memory...
    Done
    Execution time: 0:01:25
    
  4. 不一致の場合、赤字のログが表示される。

ROM書き込み

  1. 「ROM認識」されていることが前提前提
  2. 緑の左矢印「←」アイコンの横の“▼”をクリックし、”Unprotect -> erase -> programm -> verify”を選択、緑のステータスバーが進むのを確認する。
  3. 下記ダイアログで[ Yes ]ボタンをクリックする。
  4. 成功した場合、下記ログが表示される。
    Current programmer: CH341
    17:48:58
    Programming memory(verifying)...
    Done
    Execution time: 0:03:56