E8aを使用し、R5F21266をHEWでデバッグしております。
ユーザープログラムにブレークを張り、その都度停止させながら、デバッグしたいのですが
下記のような動作をしております。
マイコンとPC(HEW)を接続し、
ダウンロードモジュールのダウンロード(v100.x30)をしたのちに、
メイン文内でブレークを張り、CPUリセットをすると、
ncrt0.a30の
ldc #istack_top, isp ;set istack pointer
という行(ncrt0.a30 259行目)に飛びます。
その後実行すると
勝手に逆アセンブリモードに変わり、メイン文内のブレークにかかることなく
逆アセンブリアドレス:FFFFF オブジェクトコード:FF 逆アセンブリ:UND
に飛ばされてしまいます。
メイン文のブレークで動作を停止するためには何をしなければならないのでしょうか?
HEW Version 4.09.00.007 + C/C++ Compiler Package for M16C Series and R8C Family V.6.00 Release 00 (8-2-2019 15:13:38) を使用して R8C/26 用にプロジェクトを作成して設定、
ビルド(B)→ビルド(B)
デバッグ(D)→接続(N)
の操作で main() の頭のところで停止することを確認しました。
r8c26breakPointTest.zip
添付のプロジェクトは HEW の標準の設定である C:\Workspace 下に作成したものであり、それ以外のフォルダ下に展開するとうまく動作しない可能性があります。
こんにちはNAKAといいます。 いっそ新規のプロジェクトを作成し、使ってるファイルをどんどん追加していって(MAINのファイルやsect30.incなどはコードをコピペ)して、ビルドが上手くいったら、デバッグの設定をしてやった方が早くないですか?他のPCで動いてたプロジェクトなんですよね?
こんにちは
現在設定されているオプションは「ビルド」メニュー⇒「Renesas xxxx Standard Toolchain」で開くダイアログボックスで確認できると思います。
HEWのユーザーズマニュアルやコンパイラのアプリケーションノートなども参考にしてみてください。
https://ja-support.renesas.com/knowledgeBase/17797771
https://www.renesas.com/jp/ja/search/keyword-search.html#q=High-performance%20Embedded%20Workshop%20V.4.09%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%BA%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB&genre=document&rows=20
https://www.renesas.com/jp/ja/search/keyword-search.html#q=M3T-NC308WA%20M3T-NC30WA%20%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%8E%E3%83%BC%E3%83%88&genre=document&rows=20
seald9さん、こんにちは。NoMaYと申します。念の為、確認しておくのが良いかと思ったのですが、今現在も、元のパソコンではビルド出来て、main()の中でブレーク出来る、という状況でしょうか? たまに聞く話ですが、それが出来ていたのは10年前の話で、ボードは10年間ロッカーに保管されてはいたものの誰かが使ってジャンパ設定が変わっているかも知れない、というのが実際の状況だったりすることもあったりするからです。> 既存のプロジェクト一式を別のパソコンでビルドしようとしてこのような事象となってそれから、思うに、ncrt0.a30のldc #istack_top, ispの行からmain()をcallする行まで、それほど行数があるわけではないと思いますので、一体どこで「逆アセンブリアドレス:FFFFF オブジェクトコード:FF 逆アセンブリ:UND」へ飛んでしまうのか、ステップ実行で追って調べてみるのも、原因の究明に役立つのではないでしょうか。
seald9さん、こんにちは。NoMaYです。その後、どうでしょうか?main()内でブレークさせることが出来るようになりましたでしょうか?