レジスタアクセス処理をステップ実行すると例外処理となる

お世話になります。

仕事でe2studio(GCC ARM Embedded)+RZマイコン(RZ/A2M)で開発をすることになりました。

以前のプロジェクト(DS-5で開発されたもの)をe2studioに置き換える作業をしているのですが、プログラムロード後に

デバッガ(J-Link)にてステップ実行させたところ、レジスタアクセスにて例外処理(0xFFFF0004)となってしまいます。

(例外処理となる処理はリセットハンドラ実行後、PowerControlRegister(REG15)を設定するところです)

また、e2studioにて新規プロジェクトを作成、ビルドしてダウンロードしても同様の結果となります。

おそらくデバッガ設定の「初期化コマンド」である程度レジスタの初期化を行う必要があるのではないかとにらんでいます。

下記のとおりレジスタの設定を行っているつもりですが、これ以外で追加するレジスタ等をご教授いただけますでしょうか。

余談ですが基板はサンプルボードではなく、DS-5対応時に使用されていた基板となります。

初期化コマンドでセットしているデータ
set {char} 0xFCFE0434=0xF7
set {long} 0x1F000000=0x01AAA200
set {long} 0x1F80000C=0x00030100
set {long} 0x1F800010=0x00030000
set {long} 0x1F80001C=0x00004700
set {long} 0x1F800058=0x00000000
set {long} 0x1F80005C=0x00000000
set {long} 0x1F80007C=0x00000260
set {long} 0x1F800080=0x31511144
set {long} 0xFCFFE900=0x00000101
set {long} 0xFCFFE960=0x05555555
set {char} 0xFCFFE2FF=0x40

Parents
  • わわいです

    まあ、こういう場合は、機械語レベル(アセンブルコード)のステップ実行を行って、どこのアドレスでどういう命令を実行しているのか、それでどこのレジスタがどういうふうに設定されるか、を見ていくしかないかと思います。

    まあ、実行コードの問題の他、ウオッチドッグがどこかで動いていないか、電圧チェックが動いていないか、などもみていく必要があるかと思います

  • 回答ありがとうございます。

    画像を添付させていただきました。

    エントリ「Start」(=ベクタテーブル)からリセットハンドラをステップ実行させてる最中、赤枠で囲まれた命令を実行すると例外処理にとびます。

    やってることは提供されているサンプルプロジェクトのスタートアップと変わらないので、ウォッチドッグが働いていると思えない・・・と思ってます。

    電圧についても安定化電源を使用しているので問題はない(そもそもリセット後すぐなので電源監視設定を行っていない・・・はず)と思っています。

    こんな感じなので初期化コマンドの設定が足りてないのかと思っています。

Reply
  • 回答ありがとうございます。

    画像を添付させていただきました。

    エントリ「Start」(=ベクタテーブル)からリセットハンドラをステップ実行させてる最中、赤枠で囲まれた命令を実行すると例外処理にとびます。

    やってることは提供されているサンプルプロジェクトのスタートアップと変わらないので、ウォッチドッグが働いていると思えない・・・と思ってます。

    電圧についても安定化電源を使用しているので問題はない(そもそもリセット後すぐなので電源監視設定を行っていない・・・はず)と思っています。

    こんな感じなので初期化コマンドの設定が足りてないのかと思っています。

Children
No Data