Community Translation - Creating a Library Project as an Object Code – KBA90606

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
JuIn_1625121
Level 5
Level 5
100 sign-ins First solution authored 100 replies posted

Hi

I want to translate KBA90606.

Please confirm to my work.

Best Regards,

Inoue

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, Inoue-san

Confirm to work this KBA.

Thanks

Jenna

Jenna Jo
0 Likes

Original:Creating a Library Project as an Object Code – KBA90606

=======================================================

タイトル:ライブラリプロジェクトをオブジェクトコードの形で作成する

質問:ソース コードを保護しつつ、PSoC® Creator™ プロジェクトでコード ブロックを使用する機能を維持するにはどうすればよいですか?

回答:

PSoC Creatorでは、オブジェクトコードの形でコードを作成することができます。以下の手順では、ライブラリプロジェクトを作成し、ライブラリプロジェクトのソースコードを公開せずに、アプリケーションプロジェクトでライブラリプロジェクトを利用する方法を説明します。

1.  ライブラリプロジェクトを作成します。

  図 1. ライブラリプロジェクトの作成

2.  PSoC Creator Workspace ExplorerでSourceタブをクリックします。

  図 2. Workspace ExplorerのSourceタブ

3.  Header Filesの下にcytypes.hファイルを追加します。このファイルは“\Cypress\PSoC Creator\3.0\PSoC Creator\psoc\content\CyComponentLibrary\CyComponentLibrary.cylib\cy_boot_v4_0\PSoC3\API”からコピーします。PSoC Creatorとcy_boot Componentのバージョンによってパスが変わることがあるので注意してください。このファイルは、多くのデータ型(uint8など)が定義されているので必要です。このファイルではCY_PSOC3というマクロを使用していますが、このマクロの値はデバイスをPSoCの特定のファミリ(PSoC 3、PSoC 5LPなど)として選択した場合にのみ定義されます。これはライブラリプロジェクトなので、デバイスは選択しません。このマクロには値を代わりに手作業で入力します。PSoC 3用のライブラリをビルドしている場合は、マクロのCY_PSOC3に "1 "を、その他のマクロのCY_PSOC4CY_PSOC5に "0 "を代わりに入力してください。fitterファイルはアプリケーションプロジェクト(ライブラリプロジェクトではない通常のプロジェクト)でしか生成されないので、cyfitter.hファイルの#include行をコメントアウトしてください。

  図3. cytypes.hファイル

4.  ソースコードをSource Filesの下に複数の.cファイルの形で追加し、ソースコードを記述します。

  図4. ソースコード

5.  ソースコードのすべての関数プロトタイプとグローバル変数を含むヘッダーファイルを作成します。

  図5. ヘッダーファイル

6.  ライブラリプロジェクトをビルドします。デバッグモードとリリースモードの両方でライブラリが作成されるように、デバッグモードとリリースモードの両方でビルドします。

  図6. リリースモードとデバッグモード

7.  ライブラリプロジェクトを開発コードとして任意の場所にバックアップします。ソースコードをすべて削除します。前のステップでライブラリをコンパイルしているので、ソースを削除することができます。すべての関数プロトタイプとextern宣言が含まれているヘッダファイル、Header01.hは削除しないでください。この時点では、ソースコードはオブジェクトコードの形でしか存在しません。このライブラリはオブジェクトコード形式になっているので、ソースコードを公開することなく、どのようなアプリケーションプロジェクトでも使用することができます。

  図7. ソースコードの削除

8.  アプリケーションプロジェクトでライブラリを使用します。アプリケーションプロジェクトでは、ライブラリプロジェクトに依存関係を追加します。

  図8. ライブラリの依存関係

9.  ヘッダーファイル Header01.h をアプリケーションプロジェクトのフォルダにコピーします(例:“ApplicationProject.cydsn”)。アプリケーションプロジェクトにヘッダーファイルを追加します。このようにして、アプリケーションプロジェクトは関数プロトタイプとextern宣言を取得します。

  図9. アプリケーションプロジェクトへのヘッダーファイルのコピー

10.  アプリケーションプロジェクト内のライブラリ関数を使用します。ライブラリコードを使用するファイルにHeader01.hファイルをインクルードするだけです。

  図10. ライブラリの使用

=======================================================

Regards,

Inoue

0 Likes