こんにちは。NoMaYです。#2連投の1つ目です。どうやればRXスマートコンフィグレータで生成したソースを使ってCC-RXのライブラリファイル(libファイル)を作れるか試してみました。まだ、ライブラリを使う側で、本意でないobjファイルをリンクする必要があったり、よく分からないリンクワーニングメッセージが表示されたり、といった点はありますけれども、プロジェクトのファイル一式を以下のzipファイルに固めました。rxsc_ccrx_lib_20220114.ziprxsc_ccrx_lib_20220114_2.zip 実行プロジェクト側でmcu_interrupts.objのリンクを削除しました手順は次の投稿の通りです。(e2 studioの画面コピーがあります。)以下、e2 studioの画面コピーの1つです。
こんにちは。NoMaYです。補足です。実行形式プロジェクトのリンクでは、resetprg.obj以外の2つのobjファイルはリンクしないと以下のリンクエラーになりますが、resetprg.objファイルはリンクしなくてもビルドも出来て実行も出来ます。実は、resetprg.objをリンクしたのは、後々のコンパイル/リンクの最適化を強くする必要が出てきた場合のことを気にしてリンクするようにしたものです。具体例は、以下のスレッドにあります。dbsect.objを実行形式プロジェクトでリンクしなかった場合の実行形式プロジェクトのリンクエラー、及びdbsect.cの例
E0562132:Cannot find "D_2" specified in option "rom"
github.com/renesas/rx-driver-package/blob/master/source/r_bsp/r_bsp_vx.xx/r_bsp/mcu/all/dbsct.cvecttbl.objを実行形式プロジェクトでリンクしなかった場合の実行形式プロジェクトのリンクエラー、及びvecttbl.cの例
E0562133:Cannot find defined symbol "_undefined_interrupt_source_isr" in option "vect"
github.com/renesas/rx-driver-package/blob/master/source/r_bsp/r_bsp_vx.xx/r_bsp/mcu/rx72n/vecttbl.cresetprg.obj(resetprg.c)が関係してくる最適化のスレッドCC-RXの未使用の変数/関数を削除する最適化の効き目がGNURX/ICCRXより歴然と弱いのですが、、、japan.renesasrulz.com/cafe_rene/f/forum21/6403/cc-rx-gnurx-iccrxRX MCUのROM/RAM usage sizeがRenesas QuickConnect IoTのsample programでボロ負け(very worse than)している件(RA MCUやRL78 MCUに比べて)japan.renesasrulz.com/cafe_rene/f/analog/7575/rx-mcu-rom-ram-usage-size-renesas-quickconnect-iot-sample-program-very-worse-than-ra-mcu-rl78-mcu