デバッグ中の誤ったチェックサム値

テクニカル・ノート 48021

アーキテクチャ:

All

コンポーネント:

debugger

更新日:

2018/09/04 7:45

はじめに

ソフトウェアブレークポイントを設定すると、BREAK命令がフラッシュメモリに設定される。このとき、そのメモリ範囲のチェックサムが正しく計算されない。

解決方法

チェックサムのアルゴリズムをデバッグする場合、ハードウェアブレークポイントを使用するか、一切のブレークポイントを使用しないでください。

ハードウェアブレークポイントの使い方については、テクニカルノート31070を確認してください。

デバイスごとの仕様

Atmel AVR

  • Xmegaデバイスでは、通常、ソフトウェアブレークポイントが使用されます。そのため、デバッグモードではチェックサムが正しく計算されません。
  • debugWIREには、ソフトウェアブレークポイントしか用意されていません。debugWIREを使用するデバイスでは、チェックサムアルゴリズムをデバッグできません。

デバッグプローブごとの仕様

IAR Embedded Workbench for ARMでJ-Linkを使用する場合

J-Linkドライバは、「フラッシュブレークポイント」を設定できます。このブレークポイントを無効にする必要があります。
J-Linkコントロールパネルが開いている状態(デバッグ中など)で、次のメニューからフラッシュブレークポイントを無効にできます: 設定(Settings) > フラッシュブレークポイント(Flash breakpoints)

IAR Embedded Workbench for MSP430でFETプローブを使用する場合

IAR Embedded Workbench for MSP430バージョン5.51以降では、デフォルトでフラッシュブレークポイントが有効になっています(そのため、ハードウェアブレークポイントがすべて使用されている場合、この類の問題が発生する可能性があります)。

 

全ての製品名は、それぞれの所有者の商標または登録商標です。

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。