• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+

beerfreakのブログ一覧

2025年04月21日 イイね!

XPROGでFRM3を修理その2

XPROGでFRM3を修理その2前回はXPROGと殻から取り出した基板むき出しのFRM3をはんだ付けするという作業まで行いました。
ほぼ蘊蓄でしたが。

ここからは、Windows7 32bit PC上でXPROGのソフトを使い、D-Flashの読み込み、EEPROM形式への変換、EEP-ROMの消去、EEP-ROMへの書き込みを実施していきます。

XPROG購入時についてくるXPROGソフトウェアをインストールしましょう。
(私はXPROGのファームウェアをアップデートしたので、そのファームウェアにあうソフトウェアをインストールしました。)
インストールは英語ですが、特に難しくはありません。
もし、ソフトウェアと一緒に.regという拡張子のファイルがある際は、それを右クリックして「結合」を実行しましょう。

あとは、Adobe Reader XIもインストールしておく必要があります。
というのも、
XPROGソフトウェアの起動時にReader XIのDLLを求められます。

続いて、XPROGのドライバをインストールします。
XOROGとPCをUSBケーブルで接続します。
(インストールとFRM3の読み書きにはXPROGに12V電源を接続する必要はありません。)
Windows7のデバイスマネージャーを開くと、XPROG-boxに!マークがついています。


そこを右クリックして「ドライバのインストール」をクリックすると、ドライバのインストール方法を聞かれますので、「コンピューターを参照してドライバソフトウェアを検索します」を選びます。



フォルダの検索画面が出ますから、XPROGソフトウェアを保存(ZIPやRARなら解凍しておく)してあるフォルダを指定します。
(サブフォルダーも検索するにチェックをしておくと良いです。)



ドライバが見つかると、「署名がない」という警告が出ます。
Windows10だとこれを無視するのが難しいですが、Windows7は「このドライバーをインストールします」で続行可能です。


ドライバのインストールが完了すると、デバイスの名称が「XPROG-box programmer」に変わります。


デバイスマネージャーに戻ると、「XPROG-box」が「XPROG-box programmer」に変わってることがわかります。
続いて、「USB Serial Port」も同じように右クリックしてドライバーのインストールを実行し、XPROGソフトウェアが保存してあるフォルダを指定します。
すると、「XPROG-box programmer (COMx)」(xには番号が入る)に変わります。


これでドライバーのインストールは完了です。

XPROGソフトウェアを起動します。
初回は利用規約等のPDFが表示されることでしょう。
(おそらくそのためにAdobe Reader XIのインストールが必要なのです。)

起動すると、次のような画面になります。
2つのドライバが正しくアタッチされていれば、COMポートの指定は自動的にされてるはずです。
(この画像の場合はCOM3)


まずは、FRM3のD-Flashの読み取りに適したデバイス指定をしてあげる必要があります。
「Device」ボタンを押します。


デバイスボタンを押すと、デバイス一覧が出ます。
上から順に、「MCU/MPU」ー「9S12XE-Secured」ー「9S12XEQ384 D-Flash Secured」を選択します。
(Securedじゃない方を選択しても大丈夫そうでした。)


元の画面に戻るので、新しいセッションを開くために「New」ボタンを押します。


すると、真っ黒なセッションウィンドウが出ます。
Readボタンを押して、FRM3からD-Fashの読み込みを開始します。


もし、次のような画面が出たら、読み取りパーティションサイズを指定してあげる必要があります。


サイズ指定画面のキャプチャを取り忘れましたが、デフォルトである、
EEPROM Size: 0kB
D-Flash Size: 32kB
を選択します。

読み取りが開始されます。
(間違ってP-Flashを読み取っているところをキャプチャしてしまいましたが、本来はType:D-Flashになっているはずです。)


読み取りが完了し、Verifyが成功すると、黒いセッションウィンドウにD-Flashのデータが表示されるので、Saveをクリックします。


D-flash形式であることがわかるようなファイル名にして保存します。
(この後変換するEEPROM形式も、拡張子が.binで、ファイル名でわかるようにしておかないと変換前後の区別がつかなくなります。)


D-Flashを保存したら、いったんXPROGソフトウェアは終了し、「https://tlvps.tomvanleeuwen.nl/frm/」のサイトにアクセスします。

このサイトで、D-Flash形式のファイルを、書き込みができるEEPROM形式に変換します。
サイト上の「ファイルの選択」で、先ほど読み取って保存したD-Flashの.binファイルを指定します。
「I accept the terms and understand that the D-flash image is stored on the server」に同意し、チェックを入れます。
(同意したくない場合は先に進めませんが、オフラインバージョンを使用してアップロードを回避できます。)
「Upload」ボタンを押すと、割とすぐにページが更新され、正しいD-Flashであれば、VINとVO(FA)、Production date、HW-NRなどが表示されます。
(XPROG5.5.5など、読み取りバグがあるバージョンだと、VINに明らかにおかしな記号が入ってきます。)
Download EEPROM imageをクリックして、EEPROM形式になったファイルを保存します。EEPROM形式であることがわかるような名称で保存します。

再びXPROGソフトウェアを起動します。
読み込み時と同じように、Deviceボタンから、デバイスを指定しますが、今回はD-Flash Securedではなく、「MCU/MPU」ー「9S12XE-Secured」ー「9S12XEQ384 EEE Secured」を選択します。

そして、Openボタンを押します。


EEPROM形式に変換した.binファイルを指定します。


ファイルを読み込んだら、黒いセッションウィンドウにデータが表示されます。
まず、Eraseボタンを押して、書き込み前にEEP-ROM内を消去します。


消去を確認されるので、躊躇なくYesを押します。


キャプチャし忘れましたが、プログレスバーがSTEP4くらいまで進むと、「Number of Sectors for EEPROM partition」と聞かれます。
16と入力してOKを押します。

消去が終了すると、セッションウィンドウに戻ります。
続いてWriteボタンを押して、セッションウィンドウのEEPROM形式のファイルを書き込みます。


「Write file to Device?」と聞かれる場合はYesを押して続行します。
十数秒で書き込みが終了します。
念のため、「Verify」を押して、書き込みデータが正しいか確認しましょう。
これもキャプチャし忘れました。

そして、この「Erase」→「Write」→「Verify」を3回繰り返します。
これは、電荷の保持力が弱くなったEEP-ROMを、消去に強い電力をかけることで、復活させようという考えです。
(EEP-ROMは、SSDと同じ挙動のため、一緒で何度も消去すると寿命を迎えますが、その寿命は数千回以上もありますので、消去寿命よりも、電荷保持力を優先しましょう)

ちなみに、ここでD-Flashを読み取っても0x00と、何も読み取れないそうですが、デフォルトの挙動で問題ないそうです。

ここまでできたら、XPROGもWindows7も終了し、FRM3の基板からはんだを除去、ケースに収めて車両にインストールできます。

と、言いつつ、私が修理したFRM3はまだ車両にインストールできていませんので、これが成功したのか失敗したのかはわからず・・・。

(失敗したら、生きているFRM3からデータを抽出し、ふたたび中古のFRM3に書き込みを試みてみます。)
Posted at 2025/04/22 00:35:33 | コメント(0) | トラックバック(0) | 一般 | クルマ
2025年04月20日 イイね!

ようやくXPROGでFRM3を修理

ようやくXPROGでFRM3を修理いままで、Windows7 32bitをセットアップしたり、
USBASPなるものをアップデートしたり、
XPROGのファームウェアをアップデートしたり、
古いAcrobat XIをインストールしたりと、
なんだかわけがわからないことをやってまいりましたが、すべてはこのための回り道でした。

(渡辺真知子の歌にありましたね、と、言いたかったのですが、あれば「迷い道」でした。)

いつも世話になっている元整備士である弟の嫁さんが、MINI R56に乗っているのですが、NeoTuneのショックを入れ替えるために実家に帰った際、余ったPC(前回登場したWindows7をインストールしたPC。いつもはWindows10が入ってる)にISTAを入れて、そのまま弟に渡し、デモがてらフォルトメモリーの表示と消去をしたのですが、「左サイドマーカー異常」が消えなかったのです。

「そもそも左サイドマーカーなんてないんですけど。」
一応左ウィンカーやハザードを確認してみても異常はありません。

これ、ネットで調べると、MINI R5xやBMW Exx世代の、ライト周りやパワーウィンドウスイッチ周りを司る、FRM(フットウェルモジュール、F世代のFEM-BODYやG世代のBDC-BODY相当)の経年劣化のようで、放置するとモジュール自体がお亡くなりになって、パワーウィンドウもウィンカーも効かず、ライトが付きっぱなしの状況になります。

原因は、FRMのEEP-ROMの経年劣化。
しかし、FRM3のEEP-ROMは、上書きしてあげると復活します。(FRMとFRM2は上書き復活できないそうです)
EEP-ROM自体、記録する前にいったん該当ブロックの全消去が必要で、その時に通常より強めの電圧で消します。そのあと書き込むことで、保持される電荷が復活する、という仕組みなんでしょう。

おそらく今は、左サイドマーカーの設定が保存されているEEP-ROMの領域が、読み込み不良により、「左サイドマーカー不良」が出ているものと思われます。

クルマのモジュールは、P-Flashという領域と、D-Flashという領域に分かれます。
PはプログラムのP。OSと同じように、そのモジュールが動作するプログラムが格納されています。
一方のDはデータのD。そのモジュールの設定情報が格納されています。つまり、コーディングはこのD-Flashの一部を書き換えているんですね。
FRM3はこのD-Flashの電荷が弱くなり、読みだせなくなる現象が発生しやすいようです。

ちなみに、FRM3は電力をあまり食わないモジュールのようでして、システムオフでも起動しっぱなしになっていて、バッテリーを外した作業や、フォルトメモリーの消去による再起動など、入力電力がなくなったとき、それまでメインメモリにあった設定値が消え、電源復帰した際のエンジン始動で、FRM3は初期化されて起動し、設定値をEEP-ROMから読みに行くそうです。
なので、バッテリーを再接続したとき、とか、フォルトメモリーを消したときとかに、起動しようとするもの、電荷が少なくなったEEP-ROMから設定値を読み込めず、FRM3がお亡くなりなりやすいようです。

そこで、XPROGでD-Flashを読み取り、EEP-ROMを消去し、PCに保存したD-Fashを、EEPROM形式というフォーマットで書き込むことで、復活させます。

と、は、い、え。

今は何とか生きているモジュールにEEP-ROMを上書きするのは、気乗りしません。。
そこで、メルカリで同一部品番号のFRM3を入手し、そいつのD-Flashを書き込みしてみます。

入手したFRM3です。


同一の部品番号を入手。


このFRM3をMINI R56に取り付け、WINKFPでVINを書き込み、NCS ExpertでVO(FA)を書き込み、コーディングを初期化してみたところ、運転席側のパワーウィンドウが上まで上がらないという不具合が・・・。
まさに壊れかけのFRM3でした。

部品実装面です。
ここ20年くらい、洗濯機や食洗機、ボイラーをはじめ、水回りや屋外などに設置するような電子機器の基板を、湿気や水分から守るために樹脂で埋める対策がされていますが、世界のどこで使われるかわからない世界戦略車の室内電子基盤も、最低限のコーティングで湿気対策をしているようです。



が、裏は基板むき出し。
ま、おかげで作業しやすいのですが。


ケーブルをはんだ付けするポイントはこの4つ。
少なくてありがたい。
けど、このランドははんだが乗りにくいので注意。
私は作業中にGNDが浮いて、D-Flash読み込みできず、はんだをやり直すハメに。


一方のXPROGですが、本体にBDM HC12 (HCS12)というアダプタを載せて使います。


このBDMアダプタに書いてあるピンアサインの通り接続します。
ただ、なぜか5VのVCCはVdd(5V)って書いてありますね。
あと、本当かどうかわかりませんが、B0のGND(上の写真だと右下)は使うなと書いてあるサイトもありました。

FRM3とXPRGを接続するとこうなりました。


さて、接続がすんだところで、次回はWindows7 32bitのXPROGで実際にD-Flashを読みだして、EEPROM形式に変換し、EEP-ROMを消去&書き込みをしてみます。
Posted at 2025/04/21 22:48:42 | コメント(0) | トラックバック(0) | 一般 | クルマ
2025年04月10日 イイね!

古いAdobe ReaderをWindows7 32bitにインストール

古いAdobe ReaderをWindows7 32bitにインストールWindows7 32bitのPCにAdobe Acrobat Reader XIをインストールします。
なぜそんなことするかというと、XPROGを起動するためには、Adobe Acrobat Reader XIが必要なためです。
インストールしていないと、エラーで起動しません。
XPROGが起動時にPDFを表示させたいようです。

当然、最新のAdobe ReaderはReader 2025で、これでは起動できないようです。
しかし、Adobeは親切で、サポートが終了した古いReaderもダウンロードが可能です。(2025年3月時点)

まずは、以前のバージョンの Adobe Reader をインストールする | Windowsというサイトに行きます。

中断くらいにある、1.Adobe Acrobat Readerのインストールページにアクセスします。というリンクから、「https://get.adobe.com/jp/reader/otherversions/」にアクセスします。(直接飛んでもOK)



ここで、Windows7 Japaneseを選択すると、Adobe Reader 2025のダウンロードに進んでしまいます。
そこで、OSをWindows Server 2003 Japaneseを選択します。



そうすると、Adobe Acrobat Reader 11.0.10がダウンロード可能になるので、これをダウンロードしてインストールしましょう。

なお、サポートが終了しているので、脆弱性があるかもしれません。
当然ですが、Windows7同様、常用は禁物です。
Posted at 2025/04/10 14:32:32 | コメント(0) | トラックバック(0) | 一般 | 日記
2025年04月10日 イイね!

XPROGのファームウェアバージョンアップ

XPROGのファームウェアバージョンアップUSBASPのファームウェアバージョンアップに続いて、XPROGのファームウェアバージョンアップを実行します。
ようやく、クルマ修理に近づいてまいりました。

XPROGは、PCからクルマのECUのEEPROMを直接読み書きする装置です。
クルマのECUも、その一つ一つはマイコンが動いています。
USBASPもマイコンのプログラムを書き込むためのマイコンでした。
XPROGはクルマのマイコンを読み書きするマイコンです。
XPROGのファームウェアをUSBASPで書き込もうという魂胆です。

そもそも、なのですが・・・。
私が入手したXPROGはバージョン5.5.5でした。
このバージョン、特定のECUを読もうとするたびに、毎回内容が変わるというバグがあります。読み込んだ後、ベリファイ(読み込みを2回行い、1回目と2回目の読み込みデータが一致するか検証する作業)が成功しません。
読み込んでPCに保存したデータを確認しても、VINが文字化けしています。

そこで、ファームウェアをバージョンアップします。
どこから拾ってきたのか、怪しいファームウェア、V5.8.4を書き込んでみます。

まずXPROGとUSBASPを接続するため、XPROGの基板を取り出し、2.54mmピンヘッダーを取り付けます。
この世代のXPROGはケースが金属製で、側面のネジ合計8本を取り外します。



取り出したら、スルーホールに3列11本のピンヘッダーをはんだ付けします。
写真はすでにピンヘッダーをつけた状態。





メス-メスのジャンパーケーブルを使って、USBASPとXPROGを接続します。
まずはXPROGのピンアサインです。
MISOとMOSIがあるので気を付けて!





PC ==(USB)== USBASP ==(ジャンパーケーブル)== XPROGを接続するとこんな感じ。



USBASPのバージョンアップの際に、Zadigを使って汎用USBドライバ"libusbK"をインストール済みですので、USBASPにはドライバがアタッチされた状態になっています。

拾ってきたファームウェアがZIPやrarで圧縮されていたら、ATMEGA64A-flash.binとATMEGA64A_eeprom.binという2つのファイルを抽出します。
そして、USBASPをファームウェアバージョンアップしたときに使ったコマンドプロンプト型のavrdudeを、ここでも使っていきます。

avrdude一式とATMEGA64A-flash.bin、ATMEGA64A_eeprom.binを、C:\tempに保存したとして、次のコマンドを実行します。

C:\temp\avrdude -c usbasp -p m64 -B 0.5 -e -U flash:w:C:\temp\ATMEGA64A-flash.bin:a -U eeprom:w:C:\temp\ATMEGA64A_eeprom.bin:a -U lfuse:w:0x2F:m -U hfuse:w:0xCA:m -U efuse:w:0xFF:m -U lock:w:0xFC:m

こちらも2~3分ほどで完了します。

これで、ファームウェアバージョンアップが完了しました。
XPROGの古いバージョンは、ドライバに署名がなく、通常のWindows10ではドライバをインストールできません。(署名無効モードにすれば、インストールできるとかできないとか・・・。)

次は、Windows 7 32bitにXPROGドライバとソフトウェアをインストールして、XPROGを使えるようにしましょう。
Posted at 2025/04/10 14:07:30 | コメント(0) | トラックバック(0) | 一般 | 日記
2025年04月06日 イイね!

UABASPのバージョンアップ

UABASPのバージョンアップWindows7 32bitのインストールといい、UABASPといい、何がクルマに関係あるんだ? という感じですが、わかる人にはわかる、あの電子部品の修理をするために、かなり遠回りな準備をしております。

今回はUSBASPという小さな基盤のファームウェアアップデートです。
USBASPとはなんぞや? と、思いますでしょうが、これは「マイコンにプログラムを書き込むためのマイコン」です。
ホント、ややこしいのですね。
マイコンって直接プログラムを書き込める機種ってあんまりない気がします。
(ESP32はUSB-シリアル変換さえすれば直接書き込めたかも?)
なので、プログラムを書き込むためマイコンを使って、プログラムを書き込むためのマイコンのファームウェアをバージョンアップさせるのです。

このUSBASPは、そんなマイコンプログラミングツールの中では、回路が公開され、オープンソースの回路として多くのクローンが出回っているツールです。

私が購入したのはこちら↓



Atmega8aチップが搭載された基盤2枚です。
2枚でたったの1,480円で、ケーブルまで付いてきます。
この汎用USBASPは、なぜなのか、古いファームウェアで出荷されています。
ファームウェアをアップデートしてから使いたいな、と、思うのですが、ファームウェアをアップデートするためには2台必要なのです。
一番最初に書いたように、USBASPはマイコンのプログラムを書き込むためのマイコン。USBASP自体がマイコンなので、そのプログラムたるファームウェアをバージョンアップするためには、それを書き込むためのマイコンが必要なのです!
(ニワトリタマゴ!)

ファームウェアバージョンアップをするためには、USBASPの基盤にあるJP02のスルーホールをショートさせて、ファームウェア書き込みモードにする必要があります。JP02に2.54mmのピンヘッダーをはんだ付けします。



ちなみに、電圧を変更するJP01は最初からピンヘッダーがあり、ジャンパーピンも5V側刺さっています。
JP03は今回は使わないのでほっといて、JP02だけにピンヘッダーをはんだ付けし、ジャンパーピンでショートさせると、ファームウェア書き換えモードに入ります。

JP02がショートされていないUSBASPと、付属のストレートケーブルで接続します。
私が購入したUSBASP 2台はストレートケーブルが付属しており、コネクターの溝があって、ストレート接続状態以外ではケーブルがはまらないようになっています。
(とはいえ、ストレート状態でも差し込むのにとてつもない力が要ります。)

JP02をジャンパーしていないほうのUSBASPをPCのUSBポートに刺します。
すると、ドライバを要求する画面が出てきます。
しかし、USBASPはアーキテクチャが古すぎて、「署名付きドライバ」がありません。
そこで、汎用USBドライバなるものをインストールします。

汎用USBドライバは、Zadigというフリーソフトを使ってインストールします。
Zadigはインストーラーとかがなく、ダウンロードした.exeファイルが、まんま起動します。

ドライバ選択画面をキャンセルし、ダウンロードしたZadig.exeを起動します。

起動直後は何も表示されていないか、ほかのUSBデバイスが表示されていると思います。(USBASPが最初から表示されていることのほうが珍しいです。)
メニューにあるOptionからList All Decicesをクリックすると、すべてのUSBデバイスをプルダウンから選べるようになります。



リストからUsbaspを選択し、ドライバの右側の項目をlibusbKにします。
そして右下のInstall Driver(すでにほかのドライバがインストールされている場合は、ドライバをアタッチしなおすので、Re-Install Driverボタンに変わっています)をクリックします。

ドライバがアタッチされたら(デバイスマネージャーに!マークとかがなければOK)、2台のUSBASPをストレートケーブルで繋がれているのと、ファームウェアアップデートする方のJP02がショートされているのを確認します。(電圧は両方デフォルトの5VでOK)

PC -- USBASP(JP02open) -<ストレートリボンケーブル>- USBASP(JP02Short)
という接続になっています。



このUSBASPにプログラムを書き込むための書き込みソフトと、最新のファームウェアを入手せねばなりません。

ソフトはコマンドライン型ですが、avrdudeというのを使いました。
GUI版もあるようです。
そして、最新はGitHubのVer8の用ですが、なぜかその時、探せなかったのか、それともVer7以上はUSBASPににとって不都合があったのか、6.4をダウンロードして使いました。
Ver6.4のWndows版は「avrdude-6.4-mingw32.zip」とうファイル名でこことかにあります。

USBASPのファームウェアはこちらに、フリーソフトとして公開されています。
ありがたや。
最新はusbasp.2011-05-28.tar.gzのようです。もう10年以上も前!

avrdude-6.4-mingw32.zipも、usbasp.2011-05-28.tar.gzも、中を解凍して、avrdude.exeや、解凍時に同じディレクトリに存在していた各種ファイルと、usbasp.2011-05-28.tar.gzの中に入っていた、usbasp.atmega8.2011-05-28.hexというファイルがC:\tempにあると仮定して話を進めます。

まずはコマンドプロンプトを起動し、
cd c:\temp
と打ち込みます。すると、現在のディレクトリがc:\tempになります。
c:\temp\avrdude.exe -C avrdude.conf -P usb -b 19200 -c usbasp -p m8 -U flash:w:c:\temp\usbasp.atmega8.2011-05-28.hex
と打ち込むと、ファームウェアのアップデートが始まります。

2分くらいでファームウェアの書き換えがすみますから、終わったら、2個のUSBASPの接続を逆にし、ジャンパーJP02の設定変更も忘れないようにして、汎用USBドライバをインストールし、上記のコマンドを実行して、両方のUSBASPをバージョンアップさせましょう。
Posted at 2025/04/06 22:59:56 | コメント(0) | トラックバック(0) | 一般 | 日記

プロフィール

beerfreakです。よろしくお願いします。
みんカラ新規会員登録

ユーザー内検索

<< 2025/8 >>

     12
3456789
10111213 141516
17181920212223
24252627282930
31      

ブログカテゴリー

リンク・クリップ

BMW 335i カスタマイズ集②(市販品DIY取付) 
カテゴリ:その他(カテゴリ未設定)
2016/11/06 01:07:34

愛車一覧

BMW 3シリーズ ツーリング BMW 3シリーズ ツーリング
F31からG21に乗り換え ディーゼルの燃費に期待!
BMW 3シリーズ ツーリング BMW 3シリーズ ツーリング
オプションてんこ盛り+コーディングで最高に使いやすいクルマだった。

過去のブログ

2025年
01月02月03月04月05月06月
07月08月09月10月11月12月
2024年
01月02月03月04月05月06月
07月08月09月10月11月12月
2022年
01月02月03月04月05月06月
07月08月09月10月11月12月
2021年
01月02月03月04月05月06月
07月08月09月10月11月12月
2020年
01月02月03月04月05月06月
07月08月09月10月11月12月
2019年
01月02月03月04月05月06月
07月08月09月10月11月12月
2018年
01月02月03月04月05月06月
07月08月09月10月11月12月
2017年
01月02月03月04月05月06月
07月08月09月10月11月12月
2016年
01月02月03月04月05月06月
07月08月09月10月11月12月
ヘルプ利用規約サイトマップ
© LY Corporation