RAMパリティエラー発生箇所の特定

Kirinさん

現在、RL78での開発をしています。

単体動作でRAMパリティエラーが発生しています。
オンチップデバッグではRAMパリティエラーが発生しないみたいなのでオンチップデバッグによるチェックができません。

何処でRAMパリティエラーが発生しているか確認できる方法はあるのでしょうか?

RAMの初期化は出来ているはずなのですが・・・
Parents
  • yutyuさん

    電源OFF-ON操作で、少し現象に近づきましたね。

    ちなみに、RPEFにアクセスブレークを設定してもブレークは掛かりません。RAMパリティが発生してもCPUがRPEFに1をライトしているわけではないので、、

    おそらくスタートアップルーチンを修正して使っていらっしゃると思いますけれども、ライトする前にリードしている個所があると思います。

    一旦ブレークすると再RUNさせても、もうRAMパリティが出なくなる可能性があるのでブレーク毎に毎回電源のOFF/ONが必要かと思います。


    PS
    デバッグ手順に不備があったの削除しました。
    代わりに、スタートアッププログラムの先頭に
    RPERFが1(RPEFによるリセット)だったら分岐するようなアセンブラコードを埋め込んで、そこにブレークポイントを設定してみてください。
    RAMパリティ(内部リセット)が発生したらそこに分岐するはずです。

    ;----------------------------------------------------------------
    ; setting the register bank RB0 as work register set
    ;----------------------------------------------------------------
    MOV A,RESF
    CMP0 A
    SKZ
    BR $$ ;ここにブレークポイント設定

    SEL RB0
    ;----------------------------------------------------------------
    ; setting the mirror area
    ;----------------------------------------------------------------

Reply
  • yutyuさん

    電源OFF-ON操作で、少し現象に近づきましたね。

    ちなみに、RPEFにアクセスブレークを設定してもブレークは掛かりません。RAMパリティが発生してもCPUがRPEFに1をライトしているわけではないので、、

    おそらくスタートアップルーチンを修正して使っていらっしゃると思いますけれども、ライトする前にリードしている個所があると思います。

    一旦ブレークすると再RUNさせても、もうRAMパリティが出なくなる可能性があるのでブレーク毎に毎回電源のOFF/ONが必要かと思います。


    PS
    デバッグ手順に不備があったの削除しました。
    代わりに、スタートアッププログラムの先頭に
    RPERFが1(RPEFによるリセット)だったら分岐するようなアセンブラコードを埋め込んで、そこにブレークポイントを設定してみてください。
    RAMパリティ(内部リセット)が発生したらそこに分岐するはずです。

    ;----------------------------------------------------------------
    ; setting the register bank RB0 as work register set
    ;----------------------------------------------------------------
    MOV A,RESF
    CMP0 A
    SKZ
    BR $$ ;ここにブレークポイント設定

    SEL RB0
    ;----------------------------------------------------------------
    ; setting the mirror area
    ;----------------------------------------------------------------

Children
No Data