Q & A
その他のQ & A
原因追及のため回答をお願い致します。
A: BeeprogXの本体の右横にアースへ落とす端子があります、それをGNDに落として下さい。 PC側のアースも同一のGNDに落として下さい。 計測器側のGNDも同一のGNDに落としていますか?浮いていませんか? ±68VはこれらのGNDが共通のアースにうまく落ちていないためどれかの ACフィルタの中点電位がアースとなりAC100Vの√2倍の半分の電位が観測されていると思われます。 今一度すべてのGNDがどのように接続されているか確認下さい。
A: 知っている限りでは、RAMはパワーダウン後にコンテンツを失いますが、 しかし、このケースでもこれが起こるのか否かはNordic Semiconductor社ご確認下さい。
従って、不完全にプログラムされたチップの場合やプログラミング操作後のベリファイではエラーを示さなかったチップの場合でも
"単独ベリファイ操作"はパスしません。
2. 単独ベリファイ操作は保護されたデバイスの場合にもエラーを報告します。 それはチップがそのデータ領域のアクティブな読み取り保護を持っているからです。
エディットを確認しましたが、DATAエリアにデータが無かったので、CODEのみレ点を入れて書込みを行いました。 プログラムはpassとなったのですが、ベリファイ単独ですとエラーになります。 CODE、DATA両方レ点入れて書込みを行うとベリファイがpassになります。 データがないのでDATAエリアの書込みは不要だと思ったのですがレ点入れないとベリファイが取れないのでしょうか?
A: これは意図的なSWの機能ですので変更、又は、修正されることはありません。
このコマンドは、特別な領域と設定(使用可能な場合)を含むデバイス全体の内容(*)を、PC(バッファ、及び/又は、 他のストレージ領域)、又は、プログラマ自体(プログラマのモデルに応じて)に保存されているデータと比較します。 制御プログラムは、ベリファイ操作の結果を情報ウィンドウとプログラマ・アクティビティ・ログに報告します。
PG4UWのメニュー・コマンド"デバイス/デバイス・オプション/操作オプションを使用すると使用可能な操作オプションをカスタマイズできます。
ノート:
ベリファイ操作はチップ全体の内容とソフトウェアのデータが比較されるため、プログラムされたチップが不完全な場合、プログラミング後の ベリファイでエラーは表示されませんが、単独ベリファイ操作は成功しません。
ベリファイ操作では、データの読み取り保護がアクティブになっている保護されたデバイスの場合にもエラーが報告されます。
(*)一般に"デバイス全体"とは、ダイアログ"デバイス/デバイス・オプション/操作オプション"で設定された デバイス開始アドレスとデバイス終了アドレスの間のデバイス範囲を意味します。
全てのデバイスが開始-終了デバイス・アドレスのカスタマイズをサポートしているわけではありません。
一部のデバイス(NANDフラッシュなど)には、カスタマイズ可能なセクター、又は、ページ数/範囲があり、"デバイス全体"とは、 これらのオプションで指定されたデバイスの範囲を意味します。
書込みは正常に行えるのですがベリファイ(単独ベリファイ)を行うとエラーになってしまいます。
A: ユーザー様が"Main Flash"のみをプログラムされておられる場合、 プログラミング後のベリファイではMain FlashのみがベリファイされますのでPassします。
単独(SOLO)ベリファイはデバイス全体がベリファイされます。従って、"HTM code area"や"General Purpose Data"と呼ばれる領域等 プログラムされていない領域も含めてデバイスの全てがベリファイされますので、Errorが報告されます。
この領域のデータはデバイス(0xFF値)ではプログラムされないまま残りますが、この領域のバッファでのデータ は0x00となります。従いまして、このデバイスではプログラム直後のベリファイを除き、単独でベリファイされますとVerify errorとして報告されます。
A: Checksum は常にフル・バッファの範囲(即ち、Flash + Extended block)を計算します。
バッファの Extended blockにデータを持っていない場合は、チェックサム計算のアドレス範囲を変更して行って下さい。
例えば、Flashのみ(Extended block無し)プログラミングの後のベリファイはプログラムされた部分のみベリファイします。 もし、Flash部分がプログラムされいる場合はFlash部分のみベリファイします。
単体ベリファイは常に全デバイス、即ち、boot FlashとExtended block部分をベリファイします。 従って、Extended block がプログラムされていない場合は、ベリファイはその部分のベリファイを試みて、そして、エラーを出します。
バッファの Extended blockにデータを持っていない場合は、チェックサム計算のアドレス範囲を変更して行って下さい。例えば、Flashのみ(Extended block無し)
チェックサム計算のアドレス範囲を変更方法
下記の2)のダイアログ・ボックスで希望のアドレス範囲を設定して下さい。
1) チェックサム計算やメイン・チェックサム・オプションについてはBuffer/Checksum[バッファ/チェックサム] をご覧下さい。
2) 同じダイアログ・ボックスは以下の方法でも表示出来ます。 PG4UWのメニュー-> バッファ -> チェックサム -> メイン・チェックサム・オプションからも 編集ダイアログが表示されますので、その中で”メイン・チェックサムのための カスタム・アドレス範囲”で”有効にする”をチェックにして設計者からのチェックサムと 合う様に操作して下さい。
詳しくはデバイスのデータシートをご参考の上、自己責任で操作して下さい。
内容は、マスターICからデータを吸い上げて、期待しているチェックサム値は問題なし。書込み工程でBPVを行うも問題なし。
(このとき、デバイス領域分の0~FFFFFまでの書込みをするためバッファを修正しております)
問題は単独のベリファイを行った際にデバイスの領域外までROMライタが読み取ってしまいベリファイ・エラーとなる状況にあります。
実は、ICの方も領域外に特有のデータが入っている場合と入っていない場合があります。入っていないICの場合、 正常にベリファイはできます。しかし特有のデータが領域外にあると単独ベリファイの時にエラーとしてはじかれてしまいます。
(*領域内のデータは正常) どうしてベリファイ時に指定領域外の部分まで読込むようになっているのですか?
A: 下記の2)のダイアログ・ボックスで希望のアドレス範囲を設定して下さい。
1) BeeProg2日本語マニュアルの 40ページ Buffer / Checksum[バッファ/チェックサム]をご覧下さい。
2) 同じダイアログ・ボックスは以下の方法でも表示出来ます。 PG4UWのメニュー-> バッファ -> チェックサム -> メイン・チェックサム・オプションからも 編集ダイアログが表示されますので、その中で”メイン・チェックサムのための カスタム・アドレス範囲”で”有効にする”をチェックにして設計者からのチェックサムと 合う様に操作して下さい。
詳しくはデバイスのデータシートをご参考の上、自己責任で操作して下さい。
A: Nordic nRF51822の書込みでの問題に関しまして、ELNECより社内で出来る限りの ことを試みましたが、残念乍ら、ソフトウエアで解決出来るデバイスの構造になっていないことが判明致しました。 プログラムされたコードがデバイス自身に何らかの変更を行っている様ですので、 このデバイスに関しましては単独ベリファイは使用しないで下さい。 プログラミングの際のVerify操作もdisableにされた方が良いと思います。 もし、上記の説明に疑問がお有りの場合は、この点についてNordic社ご確認下さい。 その上で、もし、疑問がある場合はNordic社様からELNEC社に連絡をして頂ける様にお願いして下さい。