asmファイルのみで構成されるプロジェクトをe2studioでビルド

  • このエントリーをはてなブックマークに追加
  • LINEで送る

かふぇルネに投稿しました。

本件はRL78のタイマサンプルプロジェクト(an_r01an1052jj0200_rl78_timer:asmファイルのみでソースが構成されている)をe2studioでビルドした場合、V2.2とV3.0で挙動が異なるというものでした(V2.2ではビルドできるのに、V3.0ではプロジェクトを構成するファイルが無いと言われビルドできない)。

V3.0でもダミーのCファイルをソースに加えるとビルドが行えるというもの特徴です。

使用しているツールチェインはKPITのRL78用Cコンパイラ13.02であり、e2studioのバージョンに依存しません。また、インポート元のプロジェクトも共通であるためビルド条件も除外されます。となると、考えられるのは上位のCDTバージョンによるものなのか、makeファイルビルドに問題があるか…です。

まずはCDT(c/c++ development tooling)からチェックしました。e2studio V2.2に採用されているCDTは8.2.1、一方e2studio V3.0に採用されているのはCDTは8.3.0です。CDT8.3.0のリリースノートを見ましたがバグフィックスこそあれ、ビルド条件に関する項目は見つけられませんでした(英語表記なので完全によめているわけではありません)。

とりあえずで対策が打てるのはビルド(make)関連ファイルの生成についてです。調べたところ、ビルド条件に「自動Makefileを作成」を含めるとうまくビルドできないことが分かりました。どうやら、自動生成ではasmのみのフォルダをプロジェクトフォルダとして認識してくれないようです。

修正は以下の手順で行います。

<

ol>

  • 「自動Makefileを作成」のチェックを外す
  • プロジェクトのプロパティを開き、ビルドの項目に自動Makefileを作成についてチェックボックスがあるので、こちらを解除します。
    timer2

  • ビルド対象を指定する
  • makefileの自動作成を解除したので正しいビルド対象ファイルを登録する必要があります。面倒な場合は一度自動生成でビルドした後、自動生成を解除して修正します。

    <

    pre class=”nums:false lang:default decode:true title=”asm.sub” > -Wa,-adlhn=”opt.lst” -nostdinc -I”D:\Renesas\E2_STU~1\GNURL7~1.02-\rl78-ELF/rl78-elf/optlibinc” -g2 -g -Wa,-gdwarf2

    (※makefileに修正を加えていません)

    以上のことを処理した後、Makefileの自動生成を解除してビルドすると下記のようになりました。
    timer4

    以後、ファイルを追加・削除した場合は手動でプロジェクトファイルの設定が必要となります。
    そもそも、どうしてasmファイルだけだと認識されないのか?という疑問は解消できていません。

    SNSでもご購読できます。

    スポンサー リンク

    コメントを残す

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください