Q: 質問
E8エミュレータでデバッグ完了後、マイコン単体で動作確認をする場合の注意事項はありますか。
A: 回答
H8マイコンの場合で、とくにE8の仕様に起因してマイコン単体での動作に問題が起きた事例を以下に記載します。
「Writing FlashMemoryモード」は通常のROMライタと同様に全ROM領域に対して書き込みが可能です。実チップ単体での動作確認をする場合は以下の事項に注意してください。
- E8未接続時のRES端子、NMI端子の処理が正しいか
E8を外したときに、RES端子またはNMI端子がLowレベルに固定されてしまいマイコンが正常動作できないという例がありました。
(例:基板側でNMI端子のプルアップ抵抗が無ければE8を外すと端子処理がNCになってしまう) - E8占有領域をSUMチェックで考慮しているか
各デバイス別マニュアルに記載しているようにE8に占有されるROM領域があります。ユーザプログラムのイニシャライズ部でROM領域全てのSUMチェックをしているような場合、 「download Emulatorfirmwareモード」と「Writing Flash Memoryモード」では これらの領域のメモリ内容が違うためにSUM値も変わってしまいます。ROMのSUMチェックをする場合にはこのことを考慮のうえプログラムを作成してください。 - WDTの設定
E8はエミュレータの仕様上、デバッグ中エミュレータがWDTをOFFにする場合があります。ゆえに、デバッグ中はリセットが発生しなくても実チップ単体動作時にリセットが発生する場合があります。
また、以下のマイコンはWDTが初期値でONですのでご注意ください。
H8/38602RF、H8/38902F、H8/36912F、H8/38124F、H8/38104F、H8/36064F
なお、「download Emulatorfirmwareモード」であってもE8は内蔵フラッシュROMを書き換えながらデバッグするエミュレータなので、E8を外せば実チップで単体動作の確認ができます。
しかし、PCブレークポイントなどを設定したままですと、ROMにブレーク用の命令が書き込まれてしまい、実チップ単体では正常に動作しない場合があります。ですので、Does not download Emulator firmwareモードで読み出すことを前提にどうしてもこちらのモードを使用したいのであれば、ブレークポイントを全て外して書き込み動作が行われたことを確認してからE8の接続を解除してください。 - ユーザプログラムでスタックポインタの初期化を行っているか
E8エミュレータでデバッグする場合、デバッガがスタックポインタを初期化することがあります。
このような場合、E8でデバッグ時は正常に動作しても単体で動作させた場合に正常に動作しません。
スタックポインタの初期化は必ずユーザプログラムで行ってください。
適用製品
E8 |