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

Kirinさん

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

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

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

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

    > 原因はスタートアップの最初からstkinit迄に含まれているということでしょうか?

    そうですね。
    ステップ実行で、あやしい部分の命令コードを1つずつ追っていき
    リード命令があれば、どこをリードしているかを追い詰めると良いと思います。


    まさか、RETの時にスタックリードでRAMのパリティエラーが出てはいないと思いますけれども、
    もし該当部分が無ければ、試しにCALLする前に、

    PUSH AX ;追加
    PUSH AX ;追加
    POP AX ;追加
    POP AX ;追加
    MOVW HL,#LOWW _@STEND ;HL <- stack end address
    CALL !!_stkinit

    という感じで4命令を埋め込んでみてください。

    あとは、stkinitに渡すHLの値が妥当な値かも確認しておいたほうがいいですね。余計なところまで初期化されてしまうと大変なので。

Reply
  • yutyuさん

    > 原因はスタートアップの最初からstkinit迄に含まれているということでしょうか?

    そうですね。
    ステップ実行で、あやしい部分の命令コードを1つずつ追っていき
    リード命令があれば、どこをリードしているかを追い詰めると良いと思います。


    まさか、RETの時にスタックリードでRAMのパリティエラーが出てはいないと思いますけれども、
    もし該当部分が無ければ、試しにCALLする前に、

    PUSH AX ;追加
    PUSH AX ;追加
    POP AX ;追加
    POP AX ;追加
    MOVW HL,#LOWW _@STEND ;HL <- stack end address
    CALL !!_stkinit

    という感じで4命令を埋め込んでみてください。

    あとは、stkinitに渡すHLの値が妥当な値かも確認しておいたほうがいいですね。余計なところまで初期化されてしまうと大変なので。

Children
No Data