adviceLUNA / TRQer サポート

【Tips】フラッシュメモリが書けるかを確認する

フラッシュメモリにダウンロードを行ってもエラーとなる要因の一つに、フラッシュメモリがICEから書き込みできないために、エラーとなっている場合があります。
その場合、下記のコマンドを実行すれば、少なくともフラッシュメモリは正しく繋がっていることが確認でき、ICE作業用RAMやその他要因がダウンロードエラーに関係していることが切り分けられます。

※このコマンドはフラッシュメモリが0x10000000番地にあることを前提として作られています。ご使用の環境に合わせてアドレスを変更してください。

【処理概要】
・コマンドは、バス幅16x2(32x1)、16x1(8x2)、8x1 全てをフォローするように作成しています。

・実施している内容は、以下の4パターンです。
1)初期化
2)内容確認のダンプ
3)イレーズ(消去)ができるか
4)書き込みができるか

・一旦イレーズされ(0xFF)になって、その後データが書き込まれていれば、フラッシュメモリは正しく動作しています。

・実行後、メモリの内容が最初のダンプ結果と変わらない場合、フラッシュメモリが正しく動作していません。ハードのご担当者様にご確認ください。

・実行結果から判断出来ない場合、結果を添えて弊社adviceサポートまでお問い合わせください。
備考##--- ここから先をテキストファイルなどにコピーして、microVIEW-PLUSのコマンドファイル(*.mvw)として保存し、実行してください。

echo off
echo ダンプ
mdump #0x10000000,,0x20 w

#################################################
# フラッシュROM書き込みコマンド(JEDEC 16bitx2 32bitx1)
#################################################

echo ********** 16bit x 2 **********

echo 初期化
mem w #0x10000000 = 0xF0 off

echo セクタプロテクト状態確認(JEDEC 16bit×2)
mem w #0x10001554 = 0x00AA off
mem w #0x10000AAA = 0x0055 off
mem w #0x10001554 = 0x0090 off

echo ダンプ
mdump #0x10000000,,0x20 w

echo 初期化
mem w #0x10000000 = 0xF0 off

echo フラッシュROMブロック消去コマンド(JEDEC 16bitx2)
mem w #0x10001554 = 0x00AA off
mem w #0x10000AA8 = 0x0055 off
mem w #0x10001554 = 0x0080 off
mem w #0x10001554 = 0x00AA off
mem w #0x10000AA8 = 0x0055 off
mem w #0x10000000 = 0x0030 off

delay 1

echo ダンプ
mdump #0x10000000,,0x20 w

echo アドレス0x10000000へデータ0x5678を書き込み
mem w #0x10001554 = 0x00AA off
mem w #0x10000AAA = 0x0055 off
mem w #0x10001554 = 0x00A0 off
mem w #0x10000000 = 0x5678 off

echo ダンプ
mdump #0x10000000,,0x20 w


#################################################
# フラッシュROM書き込みコマンド(JEDEC 16bitx1 8bitx2)
#################################################

echo ********** 16bit x 1 **********

echo 初期化
mem w #0x10000000 = 0xF0 off

echo セクタプロテクト状態確認(JEDEC 16bit×1)
mem w #0x10000AAA = 0x00AA off
mem w #0x10000554 = 0x0055 off
mem w #0x10000AAA = 0x0090 off

echo ダンプ
mdump #0x10000000,,0x20 w

echo 初期化
mem w #0x10000000 = 0xF0 off

echo フラッシュROMブロック消去コマンド(JEDEC 16bit×1)
mem w #0x10000AAA = 0x00AA off
mem w #0x10000554 = 0x0055 off
mem w #0x10000AAA = 0x0080 off
mem w #0x10000AAA = 0x00AA off
mem w #0x10000554 = 0x0055 off
mem w #0x10000000 = 0x0030 off

delay 1

echo ダンプ
mdump #0x10000000,,0x20 w


echo データ0x1234を書き込み
mem w #0x10000AAA = 0x00AA off
mem w #0x10000554 = 0x0055 off
mem w #0x10000AAA = 0x00A0 off
mem w #0x10000000 = 0x1234 off

echo ダンプ
mdump #0x10000000,,0x20 w



#################################################
# フラッシュROM書き込みコマンド(JEDEC 8bitx1)
#################################################

echo ********** 8bit x 1 **********

echo ダンプ
mdump #0x10000000,,0x20 b

echo 初期化
mem b #0x10000000 = 0xF0 off

echo セクタプロテクト状態確認(JEDEC 8bitx1)
mem b #0x10000AAA = 0xAA off
mem b #0x10000555 = 0x55 off
mem b #0x10000AAA = 0x90 off

echo ダンプ
mdump #0x10000000,,0x20 w

echo 初期化
mem w #0x10000000 = 0xF0 off

echo フラッシュROMブロック消去コマンド(JEDEC 8bitx1)
mem b #0x10000AAA = 0xAA off
mem b #0x10000555 = 0x55 off
mem b #0x10000AAA = 0x80 off
mem b #0x10000AAA = 0xAA off
mem b #0x10000555 = 0x55 off
mem b #0x10000000 = 0x30 off

delay 1

echo ダンプ
mdump #0x10000000,,0x20 b

echo データ0xABを書き込み
mem b #0x10000AAA = 0xAA off
mem b #0x10000555 = 0x55 off
mem b #0x10000AAA = 0xA0 off
mem b #0x10000000 = 0xAB off

echo ダンプ
mdump #0x10000000,,0x20 b
更新日:2014/09/19

 

アンケートにご協力お願いします

この解答はお客様のお役に立てましたでしょうか?

 

           

検索に戻る