Renesas Synergy™

FAQ 1011026 : E1/E20をターゲット基板から切り離し、マイコン単体でプログラムが動作しない場合

Q: 質問

E1/E20を使用してRXファミリのマイコンのデバッグ時にプログラムを実行すると意図した動作するが、その状態でE1/E20をターゲット基板から切り離し、マイコン単体ではプログラムが動作しない。


A: 回答

  1. Renesas Flash Programmer(RFP)もしくはフラッシュ開発ツールキット(FDT)等の書き込み専用ツールを使用して書き込みを行っているか。

    CS+もしくはHigh performance Embedded Workshopでデバッグ時には、デバッガがダウンロードしたユーザプログラムのデータの一部をを変更する場合がありますので、この状態でマイコン単体でプログラムの動作させるとユーザが意図しない動作をする可能性があります。
    E1/E20ををターゲット基板に接続せずにマイコン単体でプログラムの動作を確認するには、かならず書き込みソフトを使用するか、 High performance Embedded Workshopを使用している場合は、[フラッシュメモリデータの書き込み]モードを使用してください。

    また、書き込みソフト使用時に書き込みソフト設定でエンディアンの指定が正しいか確認してください。

  2. デバッグ時にはE1/E20で制御される端子の処理が正しいか。

    1. ユーザシステムのリセット端子の処理が正しいか。
      ユーザシステムのリセット端子が"L"に固定されたままになっていないか確認し、マイコンの仕様に合わせてリセットが解除されるようにしてください。E1/E20接続時にはユーザーシステムのリセット端子をE1/E20が制御しており、例えばプルダウンで"L"に固定されているような場合でもプログラムが動作してしまう場合があります。

    2. モード端子(MD0端子,MD1端子,MD端子等)の処理が正しいか。
      モード端子をE1/E20に接続している場合、E1/E20がモード端子を制御するためモード端子設定が間違っていても正常に動作する場合があります。

  3. ユーザプログラムでスタックポインタ、汎用レジスタ、内蔵RAMの初期化を行っているか。

    一般的にE1エミュレータ使用時と、実チップ単体での違いとしては、初期値に関する問題があります。

    • スタックポインタの初期値
    • 汎用レジスタの初期値
    • 内蔵RAMの初期値

    上記について初期化を行わないプログラムでも、E1エミュレータ使用時は、E1エミュレータにて一部領域を初期化をしているため、動作してしまう可能性があります。

  4. ユーザプログラムでFCURAMの初期値の設定をしているか。

    内蔵フラッシュメモリをプログラムで書き変えており、事前にFCU ROMの内容をFCU RAMに転送しておく必要があるマイコンを使用している場合、エミュレータ使用時はこの転送をエミュレータのプログラムが行っているため、ユーザプログラムが転送を行っていなくても、フラッシュメモリの書き変えができてしまいます。

  5. ユーザプログラムでオプション設定メモリのエンディアン選択レジスタS(MDES)でエンディアンの設定をしているか。

    エミュレータ使用時はプロパティの起動時設定に従ってエミュレータのプログラムが本レジスタに書き込みを行うため、ユーザプログラム中に本レジスタ設定がない場合も動作してしまいます。

  6. ソフトウェアスタンバイモードを使用している場合、ソフトウェアスタンバイモードに移行する際に、次の制限事項に該当していないか。

    ・ 制限事項
    システムクロックとして選択しているかどうかに関わらず、サブクロック発振器を動作設定にしてソフトウェアスタンバイモード、ディープソフトウェアスタンバイモードに移行する場合は、発振が安定した状態でWAIT命令を実行する必要がある

    発振が安定する前にソフトウェアスタンバイモードに移行するとマイコンが誤動作する可能性があります。
    エミュレータ使用時は発振が停止しないのでユーザプログラムで発振安定時間を待たなくても動作してしまいます。

また、このようなケースをデバッグするためにホットプラグイン機能がありますので併せてご検討ください。
以下の資料を参考にしてください。

適用製品

RX ファミリ
CS+ (旧 CubeSuite+)
High-performance Embedded Workshop
E1 [R0E000010KCE00]
E20 [R0E000200KCT00]
他にご質問がございましたら、リクエストを送信してください