UART受信すると、デバッガがブレークしてしまいます

いつもお世話になっております。

E1でのデバッグについて質問があり、投稿させていただきます。

RL78/G13(GR-KURUMI)において、E1でデバッグ中、

UARTでデータ受信をすると、ブレークポイントを入れていないのに

必ず以下の写真のように、関数r_uart0_interrupt_receiveにおいてブレークしてしまいます。

開発環境はCS+を使用しています。

デバッグ中に1byte受信する度に停止するため、データの送受信が検証できないでいます。

本現象が発生する理由や対策について何かご存知でしたら、教えていただきたくお願い申し上げます。

Parents
  • ぼくもkurumiや自社製kurumi互換?ボードでCubeSuite+(とかCS+)でデバッグするけれど

    そういう事態にはなってないなあ。

    デバッガ接続するためにはTOOL0ピンとRXだっけ?の部分に抵抗をいれないとだめだけど

    その抵抗値がちがうんじゃない?

  • befigureさん、

    停止時のレジスタ状態がわかる画像を貼ってもらえませんか?

    受信時にデータを格納する gp_uart0_rx_address のアドレスも知りたいです。

    よろしくお願いします。

  • チョコです。

    RL78ではいくつもUART受信を行うプログラムを作成しましたが、

    投稿されたような状態は経験したことはありません。

    現象から想像すると、不正命令の実行の可能性が考えられます。

    (デバイスの本来の動作では、不正命令の実行はリセットとなり

    ますが、オンチップ・デバッグではリセットではなく、ブレーク

    になったと思います。)

    どちらにしても、鈴木さんがコメントされているように、もっと

    情報がないと判断はできません。

  • 各位

    皆様におかれては、早速のご回答ありがとうございます。

    tetnoguchi様

    GR-KURUMIは以下のように始めからTOOL0などに抵抗が入っており、
    抵抗値に問題はないと考えていたので、
    自作した接続治具は、直接にE1とこれら端子をつなげていました。

    また、それとは別にRX0端子とTX0端子はpullupさせています。

    tetnoguchi様の環境では使用できているとのことなので、

    資料『E1/E20エミュレータ ユーザーズマニュアル別冊 (RL78接続時の注意事項)』

    などを参照して、抵抗値を変えて再度試してみたく思います。


    鈴木 康之様

    説明不足で申し訳ありません。

    受信データは以下の命令で受信割り込みを待機して、受信データをグローバル変数に格納しています。

    R_UART0_Receive(&global_var[0], 1);

    グローバル変数のアドレスが0xFAFCEで、受信時のgp_uart0_rx_addressのアドレスも0xFAFCEで
    そこに受信したデータが格納されているのを確認しました。

    レジスタについては制御レジスタやUART0のレジスタに特に不審な点は見られませんでした。

    チョコ様

    本現象はUART2などを使用した場合には発生していないので、

    P11/RxD0/TOOLRxDとP12/TxD0/TOOLTxDの端子をUART0とE1エミュレータに使用していることが

    原因ではないかと推測しています。

    E1と接続していないときは、プログラムは正常に動作し、

    E1と接続しているときも、停止後に実行(F5)すれば、通信タイミングを逃してデータを取りこぼす以外は、

    プログラムの続きが正常に行われます。

    私の作成したE1との接続治具が不正な動作の原因となっているかもしれないので、

    E1の資料を読んで、再調査してみます。

    動作がうまくいきましたら、また改めて報告させていただきます。

    以上よろしくお願い申し上げます。

  • 一応参考になるかもしれないので貼っておきます。

    『GR-KURUMIとE1接続』

  • R2とR7は何のために入っているのですか。

  • befigureさん、 fujitaさん

    GR-KURUMIと接続していたのを見逃してました。プログラムではなく、回路の問題ような気がします。

    GR-KURUMIのRXD0がTOOL0と2KΩの抵抗(R2)でつながっているのが問題かもしれません。

    >また、それとは別にRX0端子とTX0端子はpullupさせています。

    RX0端子のプルアップを外すとどうなるでしょうか?

    以上、よろしくお願いします

Reply
  • befigureさん、 fujitaさん

    GR-KURUMIと接続していたのを見逃してました。プログラムではなく、回路の問題ような気がします。

    GR-KURUMIのRXD0がTOOL0と2KΩの抵抗(R2)でつながっているのが問題かもしれません。

    >また、それとは別にRX0端子とTX0端子はpullupさせています。

    RX0端子のプルアップを外すとどうなるでしょうか?

    以上、よろしくお願いします

Children
No Data