Imagecraft Compilerを使用して外部CファイルをPSoC Designerプロジェクトにリンクする- Community Translated (JA)

Version 1

    Community Translated by NoTa_4591161          Version: **

     

    Translation - English: Linking External C Files to a PSoC Designer Project with Imagecraft Compiler

     

    質問:

    Imagecraftコンパイラを使用して外部CファイルをPSoC Designerプロジェクトにリンクする方法は?

     

    回答:

    プロジェクトディレクトリの外部にある外部ファイルをPSoC Designerプロジェクトにリンクするには、Local.mkファイルを編集する必要があります。これについては、「IDEユーザーガイド」のドキュメント(Help -> Documentation -> Designer Specific Documents)のセクションB.5.3で説明されています。

    Imagecraftコンパイラを使用してPD5.1で正しくコンパイルされたサンプルプロジェクトがここに添付されています。local.mkファイルに次の行を追加することにより、外部のcファイルがリンクされました。local.mkファイルを開くには、Project -> "Open Local.mk for this Project" をクリックします。次の行を追加します。

     

    # CSRCS is used by makedepends to get the external headers/dependencies

    CSRCS:=$(CSRCS) C:/ExtFile/ExtFunctions.c

    OBJECT_SOURCES:=$(OBJECT_SOURCES) ExtFunctions.c

    # new rule to tell MAKE to get C files from C:/ExtFile

    # DON'T have files in COMMON with the same name as this project's Source

    # Files because we won't know which file MAKE will build last.

    obj/%.o : C:/ExtFile/%.c

    ifeq ($(ECHO_COMMANDS),novice)

          echo $(call correct_path,$<)

    endif

          $(CCMD) $(CFLAGS) $(CDEFINES) $(INCLUDEFLAGS) $(DEFAULTCFLAGS) -o $@ $(call correct_path,$<)

     

      注意すべき重要な点がいくつかあります。

      -"echo ...." "$CCMD..."の行頭にタブ(スペースではない)があります。 これらの行をコピーしてlocal.mkファイルに貼り付ける場合、これは重要です。

      -メインコードの上部にある外部Cファイルで定義されている関数を宣言する必要があります。それ以外の場合、コンパイラは警告を出します。

      -メインコードに「include」ステートメントを追加する必要はありません。また、.hまたはインクルードファイルを外部ディレクトリに配置している場合は、ビルダーがファイルを見つけられないため、このプロセスを変更する必要があります。

    -local.mkファイルに追加されたこれらの行は、Imagecraftコンパイラでのみ機能し、Hi-Techコンパイラでは機能しません。

     

      このサンプルプロジェクトでは、C/Extfileにある外部ファイル "ExtFunctions.c"がリンクされています。プロジェクトをテストするには、

    1. 添付されているzipファイルを開き、内容を抽出します。
    2. ExtFile」フォルダをC:ドライブにコピーします。
    3. Add_External_C_File」プロジェクトを開きます。
    4. プロジェクトを生成してビルドします。
    5. CY3210キットを使用して、コードをCY8C29466-PXIデバイスにダウンロードします。
    6. P0 [0]に接続されたLEDが点滅するかどうかを確認します。