1103855_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1103855_ja-JP

1103855_ja-JP

TSAを使用してFreeMasterプロジェクトをボードにエクスポートする方法<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

はじめに

FreeMasterドライバには、TSA(Target Side Addressing)と呼ばれる 機能があり、組み込みアプリケーションのソースコードでデータ型と変数を直接記述し、この情報をFreeMASTERツールで使用して、FreeMaster で表示したい変数を記述し、ボードからFreeMasterソフトウェアに情報を自動的に利用できるようにするメカニズムがあります。


TSAを使用すると、 FreeMasterアプリケーションがアプリケーションの変数を見るために通常必要とするシンボルファイル(組み込みアプリケーションのすべての変数の説明を含むファイル(変数の名前、アドレス、およびサイズ) を必要とせずに 、変数のアドレスを利用可能にします 。TSA メカニズムのおかげで、組み込みアプリケーションでファイルを記述したり、ファイルを 16 進数の値にマッピングしたり、それらの値を含む変数を作成したりすることもできます。これとシンボルファイルの必要性の排除を組み合わせることで、組み込みアプリケーションにFreeMasterプロジェクトを挿入し、ボードにプラグアンドプレイ機能を与えることができます。


TSAなし

pastedImage_1.png


TSAと

pastedImage_2.png


メモリマップドファイルのようなユーザーリソースには特別なタイプがあり、これにより、組み込みアプリケーションからFreeMasterソフトウェアでFreeMasterプロジェクトファイルを利用できるようにし、プロジェクトにFreeMasterとのプラグアンドプレイ機能を提供できます。


pastedImage_3.png

例の説明

この例では、FreeMasterプロジェクトファイル(.pmpまたは.pmpx)を変換しますメモリマップドファイルに、そのファイルを組み込みアプリケーションに追加し、新しいメモリマップドファイルを記述するファイルやその他のタイプのアクティブコンテンツ用の新しいTSAテーブルを作成し、最後にFreeMasterに接続して、ボードからプロジェクトを自動的に実行します。


この例に従うには、FreeMaster プロジェクト (.pmp または .pmpx) が必要であることに注意してくださいまた、プロジェクトに接続するための FreeMaster ドライバーが既にある組み込みアプリケーションの場合は、FreeMaster プロジェクトの作成とそれを実行するためのボードの構成の詳細については、「 FreeMaster を使用してインターフェイスを実装する方法」を参照してください。このドキュメントでは、 FreeMasterを使用してインターフェイスを実装する方法の例を拡張し、FreeMasterプロジェクトも使用したり、FreeMasterプロジェクトを使用したりすることもできます(このドキュメントのサンプルコードは、他の例の投稿に基づいていることに注意してください)。


使用したソフトウェア/ハードウェア

ハードウェアのセットアップ:

使用ボード:FRDM-K64F

SDK: SDK_2.x_FRDM-K64F Version 2.8.2 (最新バージョン)



ソフトウェアのセットアップ:

メインアプリケーション(組み込みアプリケーションとFreeMaster構成)開発:MCUXpresso IDE v11.2.0

FreeMasterデスクトップアプリケーションバージョン:FreeMaster 3.0.2.6


FreeMasterプロジェクトファイルを16進数のデータブロックに変換します

まず、プロジェクトファイル(.pmpx)をCヘッダーファイルのデータブロックに変換する必要がありますが、必要なのはプロジェクトファイルを16進数で表現し、それを変数として保存して、FreeMasterが後でTSAメカニズムを使用してメモリマップファイルとしてアクセスできるようにすることです。

 

これを行うには、bin2hアプリケーションを使用することができます、我々はbin2hでそれを行う方法を説明するつもりですが、あなたはあなたの処分で他の方法を自由に使用することができます。bin2hをダウンロードするには、 次の http://www.deadnode.org/sw/bin2h/ にアクセスしてください。

pastedImage_4.png


bin2hプログラムはコマンドラインユーティリティであるため、使用するには任意のコマンドラインインタープリターを開く必要があります(この例では、Windowsコマンドプロンプトを使用します)。コマンドラインインタプリタを開き、bin2hプログラムをダウンロードした方向に移動します(Path環境変数に追加して、どこからでもbin2hにアクセスできるようにすることもできます。https://www.java.com/en/download/help/path.xml)からそれがどのように行われるかを確認できます)。

 

ここで、bin2h を使用する構文は次のとおりです。

 

bin2h -flags variable_name< input file > 出力ファイル

入力ファイルはFreeMasterプロジェクトファイルであり、出力ファイルは生成されるCヘッダーファイルの名前であり、変数名はプロジェクトファイルを表す16進数の配列の名前になります(任意の名前にすることができます)。-c フラグを追加して、配列のサイズを持つ変数をアプリケーションに含めるように指示します。


したがって、コマンドラインでは次のように記述します。

pastedImage_5.png

これにより、data_example.h が生成されます。example という名前の文字配列を含むファイル:

pastedImage_6.png

data_example.h含む:

pastedImage_7.png

ファイルの最後に、配列のサイズ (バイト単位) を持つ別の変数:

pastedImage_8.png

data_example.h を作成した後ファイルの場合、組み込みアプリケーションのMCUXpressoプロジェクトのソースフォルダに渡す必要があります(このドキュメントでは、https://community.nxp.com/docs/DOC-347236 のプロジェクト例を使用していることを忘れないでください)。


pastedImage_9.png

それをコードに実装する

TSAは、FreeMasterと共有したい情報とデータを説明するためにテーブルを使用します。FreeMaster プロジェクトのメモリ マップ ファイル (data_example.h ) の説明を含む新しいテーブルを作成する必要がありますファイル)。


アプリケーションのcファイルに、以下を追加します。

pastedImage_10.png

/* We include data_example.h in our code */
#include "data_example.h"

FMSTR_TSA_TABLE_BEGIN(files_and_links)
 FMSTR_TSA_MEMFILE("/example.pmpx", example, example_size)
 /* projects to be made available in FreeMASTER */
 FMSTR_TSA_PROJECT("FreeMASTER Project (embedded in device)", "/example.pmpx")
FMSTR_TSA_TABLE_END();‍‍‍‍‍‍‍‍‍‍‍‍‍

この例では、テーブルの内容を説明するためにテーブルに files_links という名前を付けましたが、任意の名前にすることができます。FMSTR_TSA_MEMFILEを使用して、ファイルがメモリマップされている変数を示し、引数として、FreeMasterアプリケーションを実行しているときにプロジェクトファイルを参照する名前を取ります(FreeMasterがプロジェクトファイルであることを確認するためにpmpまたはpmpxで終わる必要があります)、メモリマップされたファイルを含む変数、およびその変数のサイズ。

 

FreeMasterアプリケーションからFreeMasterプロジェクトへのアクセスを容易にするFMSTR_TSA_PROJECT、FreeMasterのウェルカムページからプロジェクトへのハイパーリンクを作成し、ハイパーリンクのテキストとプロジェクトファイルの名前(FMSTR_TSA_MEMFILEで設定したもの)を示す必要があります。ウェルカムページでは次のようになります。


pastedImage_11.png


テーブルを作成したら、テーブルリストにテーブルを追加する必要があります(この例では、変数用の別のテーブルがすでにあります)。

pastedImage_12.png

FMSTR_TSA_TABLE_LIST_BEGIN()
 FMSTR_TSA_TABLE(first_table)
 FMSTR_TSA_TABLE(files_and_links)
FMSTR_TSA_TABLE_LIST_END();‍‍‍‍

メモリマップドファイルに対する TSA の使用を示すために、投稿の例を拡張しています FreeMasterを使用してインターフェースを実装する方法FreeMasterを使用してインターフェースを実装する方法 この例では、変数を共有するための TSA テーブルがすでに存在しています。


コードは次のようになります。

float sin_value = 0;
float angle_step = 0.0001;


FMSTR_TSA_TABLE_BEGIN(first_table)
 FMSTR_TSA_RW_VAR(sin_value, FMSTR_TSA_FLOAT)
 FMSTR_TSA_RW_VAR(angle_step, FMSTR_TSA_FLOAT)
FMSTR_TSA_TABLE_END();

FMSTR_TSA_TABLE_BEGIN(files_and_links)
 FMSTR_TSA_MEMFILE("/example.pmpx", example, sizeof(example))
 /* projects to be made available in FreeMASTER */
 FMSTR_TSA_PROJECT("FreeMASTER Compare Project (embedded in device)", "/example.pmpx")
FMSTR_TSA_TABLE_END();

FMSTR_TSA_TABLE_LIST_BEGIN()
 FMSTR_TSA_TABLE(first_table)
 FMSTR_TSA_TABLE(files_and_links)
 FMSTR_TSA_TABLE_LIST_END();

//The rest of our application
int main(void) {
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

これが完了すると、コードをコンパイルし、ボードのフラッシュをプログラムして、最終的にボードからFreeMasterプロジェクトを実行できます。


プロジェクトの実行

次に、組み込みアプリケーションからプロジェクトを実行し、最初にFreeMasterソフトウェアを開き、接続ウィザードを使用してボードに接続しましょう。

pastedImage_13.png

「オンボードUSBポートへの直接接続を使用する」オプションを使用して、以下を選択します。


pastedImage_14.png


その後、ウェルカムページでは、ウェルカムページの「ボードを探索する」セクションの下に新しいボックスボタンが表示されます。

pastedImage_15.png


ボタンをクリックするとプロジェクトが開き、オシロスコープや変数グリッドの構成などのFreeMasterツールがFreeMasterメモリマップファイルからインポートされたことがわかります。FreeMaster プロジェクトは、作成時と同じように見えるはずです。

pastedImage_16.png


まとめ

TSA機能を使用して、FreeMasterにプラグアンドプレイ機能を提供し、プロジェクトファイルをそのコンピューターに渡すことなく、FreeMasterを使用して任意のコンピューターでプロジェクトを実行できるようになりました。また、TSAテーブルでは、仮想ディレクトリ、Web URLハイパーリンク、EEPROMファイル、SDカードファイルなどの組み込みアプリケーションユーザーリソースを共有することもでき、アプリケーションで共有およびデモンストレーションできる内容の可能性が広がります。

Tags (1)
No ratings
Version history
Last update:
‎01-05-2026 11:24 AM
Updated by: