bluetoothモジュールに載っているchipのFLASHのデータを吸い出したり、焼いたりできるでしょうか?
BuleLabと一緒にインストールされる、BlueFlashというツールを使います.
PSTOOLと同じく、パラレルポートからbluetoothモジュールを接続し、電源を入れておきます.
BlueFlashを起動しますと、次の画面が出ます.
Stop Processerをクリックしますと、chipが止まります.
ボタンがStart Processorに変わります.
データ吸い出し
chipからデータを吸い出すために、Dumpボタンを押します.
すると、.xpv .xdv .xuv .bin のどれで保存するかを聞かれます.
これらのファイルはどういう素性のファイルなんでしょうか?
ファイルサイズを比較するとこのようになっています.
.xdv 896kB アスキーファイル データ領域 アドレス0~FFFF
.xpv 6.12MB アスキーファイル コード領域 アドレス0~6FFFF
.xuv 7.0MB アスキーファイル データ+コード アドレス0~7FFFF
.bin 1.0MB バイナリファイル アドレス0~FFFFF
どうやら、 xdv + xpv = xuv という関係であるようです.
binはよくわかりません.
というわけで、xuvで保存するのがよいらしいです.
後述する理由で、binはオススメしません.
焼き戻し
choose fileボタンをクリックすると、ダンプしたファイルを焼き戻せます.
ここで、焼き戻すために指定できるファイルは、.xpvまたは.xuvだけです.
.binはしていできません.
.xdvは、.xpvを指定したときに自動的にペアで読み込まれます.xpv+xdvがペアで存在しないとエラーになります.
消去
Flash Eraseボタンをクリックすると、消去できます.
次の表示がでますけど、意味はよくわかりません.
ともあれ片っ端からチェックすりゃ全部消せるということのようです.
消去にまつわる注意
開発ツールであるBlueLabの解説はまだですけど、全領域消去後のモジュールに、BlueLabで生成した.xpv をblueflashで焼いても、動きません.
この理由は、BlueLabが生成した.xpvが、PSTOOLで設定するべき領域の情報を含んでないからです.
なので、PSTOOLで焼くべき.psr の領域が空っぽのままだからです.
したがって、全領域消去後の基板を動かすには、次の手順が必要です.
step0: 完動するモジュールからPSTOOLで.psr を吸い出して保存しておく
step1: bluelabで.xpvを生成する
step2: buleflashで.xpvを焼く
step3: PSTOOLでdump.psrを焼く
このように、PSKEYは謎が深いです.
release 2012.3.3