これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド ncc です。
プログラム:
NAME
ncc - TinyOS 用の nesC コンパイラ
SYNOPSIS
ncc [-ターゲット=パソコン|マイカ|マイカ2|マイカ2ドット|...] [-トシム]
[-ボード=micasb|基本b|micawb|...]
[-tosdir=DIR] [-tosscheduler=...] [-ノストディンク]
[- バージョン] [-印刷tosdir] [-印刷プラットフォーム] [-印刷対象]
[任意の nescc オプション] [任意の gcc オプション] ファイル...
DESCRIPTION
ncc の拡張です ネスク TinyOS 用に nesC アプリケーションをコンパイルする方法を知っている人
環境。 通常の C ファイルで呼び出された場合、次のように動作します。 gccの。 nesC で起動した場合
コンポーネントまたはインターフェイス (.nc 拡張子) ファイルをコンパイルしてリンクします (通常の場合を除く) -c,
-S, -E or -fsyntaxのみ オプションが使用されます) そのコンポーネントと指定された他のファイル
コマンドライン。
ncc ただ呼び出すだけ ネスク 選択したプラットフォームに基づく追加オプションと
センサーボード。 そして ネスク それ自体が呼び出すだけです gccの。 したがって、完全に理解するには、
可能 ncc 読むべきオプション ネスク gccの マニュアルページ。
OPTIONS
ncc すべてを受け入れます gccの ネスク オプション、およびいくつかの追加の TinyOS 固有オプション:
-ターゲット=X
このコンパイルのターゲット アーキテクチャを指定します。 もし -トシム も指定され、
コンパイルでは tossim 環境が使用され、ローカルで実行可能なファイルが生成されます。
デフォルトのターゲットは、 .default-プラットフォーム TinyOS 内のファイル
ディレクトリ(を参照) -トスディル オプション)、デフォルトは マイカ そのファイルが存在しない場合。 あ
TinyOS ディストリビューションに含まれていないプラットフォームも、そのディレクトリが次の場合に使用できます。
明示的な -I ディレクティブで指定されます (プラットフォーム名は
ディレクトリの名前、プラットフォーム ディレクトリは、
。プラットホーム ファイル)。
-tosdir=DIR
TinyOSの場所を指定します。 この場所は次のコマンドでも指定できます。 トスディル
環境変数。 変数とオプションの両方が指定された場合、 ncc 使用
オプションで指定した値。 環境変数もオプションも指定されていない場合
指定すると、ncc はコンパイル済みの TinyOS ディレクトリを使用します。
-tosscheduler=コンポーネント、一意の文字列、インターフェイス名、インターフェイス定義、実行イベント、ポスト
command
デフォルトでは、nesC は以下の使用をコンパイルします。 タスク ボイド タスク名() ... 〜へ ボイド タスク名(),
役職 タスク名() 〜へ TOS_post(タスク名).
このオプションを使用すると、各タスクは独自のタスクを取得します インターフェース定義 インターフェース、
タスクの実装は次のように変換されます。 実行イベント イベント そして投稿は電話になる
から ポストコマンド 指示。 このタスクごとのインターフェイスは自動的に接続されます
パラメータ化されたものへ インターフェイス名 スケジューラのインターフェース コンポーネント コンポーネント。
接続のパラメータ ID は次のように選択されます。 ユニーク("一意の文字列")。
このオプションが明示的に設定されていない場合、そのパラメータはデフォルトで次のように割り当てられます。
以下:
-tosscheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask
-トシム
ネイティブ プラットフォームではなく TOSSIM 環境用にコンパイルします。 すべてのディレクトリ
検索パス内のファイルが複製され、最初のコピーには /sim に追加
ボーマンは
-印刷tosdir
使用する TinyOS ディレクトリを出力して終了します。 -トスディル
オプション トスディル 環境変数。 次の場合はコンパイルは行われません -印刷tosdir is
中古。
-印刷プラットフォーム
有効な TinyOS プラットフォーム (明示的に利用可能になったものを含む) を出力します。 -I
ディレクティブ (参照 -目標 オプション)。
-印刷対象
選択したターゲットの名前を出力します。 最も役立つのは次の場合です -目標 指定されていません。
-ノストディンク
TinyOS ディレクトリを検索パスに自動的に含めないでください。 を参照してください。
詳細については、以下の検索パスの説明を参照してください。
-ボード=Y
XNUMX つ (または複数) のセンサー ボードを指定します。 これは検索パスとプリプロセッサに影響します。
シンボル。 ボードのセットは、TinyOS ディストリビューションによって設定されます (「
tos/センサーボード ディレクトリ)。 ターゲットと同様に、センサーボードのディレクトリを作成できます。
明示的な方法で利用可能 -I ディレクティブ (センサーボード ディレクトリは次のように認識されます)
の存在 。センサー ファイル)。
- バージョン
のバージョンを印刷する ncc, ネスク および選択したものに使用される gcc コンパイラの
ターゲット。
例
コンポーネント Bar.nc を C ファイルにコンパイルする場合は、次のように実行できます。
ncc -c -o /dev/null -fnesc-cfile=Bar.c Bar.nc
検索 パス
ncc で指定されたディレクトリに対して次の置換を実行します。 -I オプション:
%T TinyOS ディレクトリに置き換えられます。 %p 選択したターゲットに置き換えられます。 %P is
ターゲットのプラットフォーム ディレクトリに置き換えられます。 %% の代わりに %.
時を除いて -ノストディンク が指定されている場合、nesC コンポーネントの検索パスは次のようになります。
コラボレー トスディル は要求された TinyOS ディレクトリであり、 ターゲット は選択されたターゲットです:
※カレントディレクトリ
* -I ディレクティブ (オプション順)
* %T/センサーボード/ボード名、それぞれについて -ボード=ボード名 オプション指定(オプション内)
order) - 明示的な -I ディレクティブを介してセンサーボードが見つかった場合を除く
* %T/platform/%p - 明示的な -I ディレクティブによってプラットフォームが見つかった場合を除く
* 選択したターゲットによって要求された追加ディレクトリ (例: %T/platform/avrmote)
マイカターゲット用)
* %T/インターフェイス
* %T/システム
* %T/lib
* ネスパス 環境変数ディレクトリ (%T と %p の置換はできないことに注意してください)
これらのディレクトリ上で実行されます)。
日時 -ノストディンク が指定されている場合、検索パスは次のようになります。
※カレントディレクトリ
* -I ディレクティブ
* ネスパス 環境変数ディレクトリ
プリプロセッサ 記号
で定義されたプリプロセッサ シンボルに加えて、 gccの ネスク, ncc 定義します:
プラットホーム_ターゲット
コラボレー ターゲット 選択したターゲット名を大文字に変換したものです
ボード_ボード名
それぞれ -ボード=ボード名 オプション(ボード名は大文字に変換されます)
ENVIRONMENT 変数
トスディル Status -tosdir=DIR オプションは使用されません、 トスディル 環境変数で指定する
TinyOS の場所。
onworks.net サービスを使用してオンラインで ncc を使用する
