ブレークポイントが設定できない

HEWの動作で質問があります。

Interface2010年6月号付属のSH-2A基板でHEWを使用しています。InterfaceのWebから「技術解説 SH-2Aマイコン基板とTOPPERS/ASPを用いたライン・トレース・カーの製作(OS移植編)SH-2A用TOPPERS/ASP」をダウンロードして、「APSH2A_RENESAS.hws」でHEWを起動して、すべてビルドを実行してプログラムを転送します。普段HEWを使用しているときは、プログラムを転送したら、C言語の行に対応したプログラムのアドレスが表示され、ブレークポイントが設定できるのですが、このツリーの場合、プログラムのアドレス情報も表示されないし、ブレークポイントも設定できません。アセンブラ画面にするとブレークポイントを設定できます。C言語の画面でブレークポイントを設定することはできないのでしょうか。HEWのブレークポイントの設定で何か行わなければならないのでしょうか。

Webでいろいろ検索してみたのですが、同様の現象の方はおられなかったようです。何か情報があれば、ぜひご教授よろしくお願いします。
  • rx62n_cqさん

    ゆきほといいます。
    ソース上のブレークポイント設定にはコンパイラと最適化リンカの両方にデバッグオプションを設定する必要があります。この設定でソースの行とメモリの番地との対応がとれ、シンボル情報でデバッグできるようになります。

    設定は、ビルド設定のコンパイラ、リンカタグの出力にあります。
    デフォルトのオプション設定はコンフィグレーションで異なっていて、debugではあり、releaseは無しです。なので、コンフィグレーション設定も確認ください。



  • ご回答ありがとうございます。
    頂いた内容をもとにビルド設定を見直したところ、両オプションともにデバッグ情報出力はオンになっていました。

    もう少しいろいろ見て試してみたところ、ソース行とメモリの番地の対応が取れるようになりました。

    原因は、おそらくですが、ダウンロードしたツリーはJTAGデバッガ使用が前提でしたが、私はUSB(シリアル)接続のデバッグをしようしていました。*.bleというファイルが何らかのデバッグ情報の設定をしているらしく、ここにnodebugというオプションが設定されているようでした。(多分。。)
    また、オブジェクトファイルの出力パスと、MAPファイル&MOTファイルの出力パスが異なっており、これも原因だったのかもしれません。。JTAGデバッガを持ってないため、詳細な原因追求はできませんでしたが、上記を通常の設定に直したところ、解決いたしました。

    ありがとうございました。
  • 誤記を訂正します。

    すいません、*.bleではなく、*.blsでした。
  • rx62n_cqさん

     既に解決されたようですが、*.blsファイルに関してお知らせします。*.blsファイルは「外部変数アクセス最適化」のオプションを「モジュール間」に設定した際の「外部シンボル割付情報ファイル」です。
     従いまして、投稿にありました「*.blsというファイルが何らかのデバッグ情報の設定をしているらしく。。。」は、勘違いのようです。
     ですが、既に解決されたようなので問題はありませんね!

  • エビスクラウンさん

    情報ありがとうございます。
    なるほど、別のオプションのファイルでしたか、勉強になります。いろいろと試してるうちに解決していたので、何が原因だったか分からず、です。。

    ありがとうございました。