SmartConfiguratorでlibraryを作るやり方を試してみた

こんにちは。NoMaYです。#2連投の1つ目です。

どうやればRXスマートコンフィグレータで生成したソースを使ってCC-RXのライブラリファイル(libファイル)を作れるか試してみました。まだ、ライブラリを使う側で、本意でないobjファイルをリンクする必要があったり、よく分からないリンクワーニングメッセージが表示されたり、といった点はありますけれども、プロジェクトのファイル一式を以下のzipファイルに固めました。

rxsc_ccrx_lib_20220114.zip
rxsc_ccrx_lib_20220114_2.zip    実行プロジェクト側でmcu_interrupts.objのリンクを削除しました

手順は次の投稿の通りです。(e2 studioの画面コピーがあります。)

以下、e2 studioの画面コピーの1つです。


 

Parents
  • こんにちは。NoMaYです。

    幾つか前の投稿にて、以下のコードをアプリケーション側のソースに記述して貰うようなことを書きましたが、アプリケーション側コードが直接的にせよ間接的にせよ必ず使わなければならない関数や変数が定義されている下回り側のAPIライブラリのソース内に記述しても同様な作用があります。(アプリケーション側プロジェクトでvecttbl.objとdbsect.objを実行形式プロジェクトのリンク設定で指定しなくて良い、という作用があります。)

    #include <stdint.h>

    extern void (* const Reset_Vector[])(void);
    void (* const * const link_helper_vecttbl_obj)(void) = Reset_Vector;
    extern const uint32_t deadSpace;
    const uint32_t * const link_helper_dbsct_obj = &deadSpace;

     

Reply
  • こんにちは。NoMaYです。

    幾つか前の投稿にて、以下のコードをアプリケーション側のソースに記述して貰うようなことを書きましたが、アプリケーション側コードが直接的にせよ間接的にせよ必ず使わなければならない関数や変数が定義されている下回り側のAPIライブラリのソース内に記述しても同様な作用があります。(アプリケーション側プロジェクトでvecttbl.objとdbsect.objを実行形式プロジェクトのリンク設定で指定しなくて良い、という作用があります。)

    #include <stdint.h>

    extern void (* const Reset_Vector[])(void);
    void (* const * const link_helper_vecttbl_obj)(void) = Reset_Vector;
    extern const uint32_t deadSpace;
    const uint32_t * const link_helper_dbsct_obj = &deadSpace;

     

Children
No Data