e2 studio v6とPDG2を組み合わせた時のトラブル回避策を探してみました(Workaround)

こんにちは。NoMaYです。

別スレッドでe2 studio v6でPDG2が使えないというトラブルを聞きましたので調べてみました。回避策として、PDG2のメニュー[ツール]→[e2 studioプロジェクトの設定]を実行する前に、以下の(1)の作業が必要なようです。更に、あたかも(1)の作業により正常に実行されるようになったように見えても実はまだ失敗していますので、実行後(実行前に(1)と一緒にでも可)に(2)と(3)の作業が必要なようです。

(1) e2 studioのプロジェクトジェネレータが生成したファイルのフォルダの移動と名前の変更
  generate/intprg.c → src/interrupt_handlers.c
  generate/vecttbl.c → src/vector_table.c
(2) コンパイルオプションの追加
  e2 studio v6.0.0ではv5.4.0に有ったGUI項目が無く文字列で直に記述 [訂正]
  e2 studio v6.0.0ではv5.4.0でのGUI項目の表記とは別物になっています
  -dbl_size=8
(3) ライブラリファイルの追加
  PDG2で選択したデバイスに対応したPDG2のlibファイル(以下は一例)
  "${eclipse_home}..\..\PDG2\lib\RX62N\RX62N_library_144_little.lib"

参考までに、以前に別スレッド「RX62NにおいてSCI送受信でデータが受信できない」でCS+用に作成したファイルを流用してe2 studio v6用に作成し直したものを、以下に固めてあります。

issue_20170926.zip
issue_20170926_2.zip

なお、画面コピーは以下の通りです。

generate/intprg.c → src/interrupt_handlers.c
generate/vecttbl.c → src/vector_table.c


-dbl_size=8



"${eclipse_home}..\..\PDG2\lib\RX62N\RX62N_library_144_little.lib"


PDG2のメニュー[ツール]→[e2 studioプロジェクトの設定]を実行 (変な場所にエラーが表示される件は要調査)



ビルド完了



ビルドログ

issue_20170926.build.log
issue_20170926_2.build.log

[関連リンク]

事前に以下の設定も行っています。

FAQ 1011677 : PDG2でe² studioプロジェクトを設定すると 「インテグレーションサービスをインストールしてください」エラーが出る

ちなみに、e2 studio v6.0.0のヘルプでは以下のショートカットを作成するようにとありましたので、とりあえず、それぞれショートカットを作成して実行しました。



ところで、e2 studioでは以下はどうやるのが良いのだろう、、、

FAQ 1010977 : Peripheral Driver Generator V.2が生成する関数が呼び出している、ライブラリ(Renesas Peripheral Driver Generator Library)の内部処理をCS+またはHigh-performance Embedded Workshop でデバッグすることはできませんか?

  • こんにちは。NoMaYです。

    すみません。前の投稿の "(2) コンパイルオプションの追加" の "-dbl_size=8" ですが、この時はe2 studio v5.4.0に有ったGUI項目がv6.0.0に無かったのでユーザー追加オプションとして文字列で直に記述したのですが、今になってv6.0.0では該当するGUI項目が以下であったことに気付きました。ですので、前の投稿の文や画面コピーやzipファイルを訂正しました。

    e2 studio v6.0.0で-dbl_size=8を設定するGUI項目
    ⇒ [double型およびlong double型のfloat型への変更を抑止する] にチェックマークを付ける


    e2 studio v5.4.0で-dbl_size=8を設定するGUI項目
    ⇒ [double型の精度] で [Double precision] を選択する


    (参考)CS+で-dbl_size=8を設定するGUI項目
    ⇒ [double型、およびlong double型の精度] で [倍精度として扱う(-dbl_size=8)] を選択する