OIL ファイルの選択 (-osek-multitasking)
OIL ファイル定義からのマルチタスキング構成の設定
説明
OSEK プロジェクトのマルチタスキング構成を設定するために Polyspace® で解析する OIL ファイルを指定します。
オプションの設定
以下のいずれかの方法を使用してオプションを設定します。
Polyspace ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [マルチタスキング] ノードを選択してから、このオプションを選択します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。
Polyspace Platform ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成の [静的解析] タブで [マルチタスキング] ノードを選択してから、このオプションを選択します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。
コマンド ラインとオプション ファイル: オプション
-osek-multitaskingを使用します。コマンド ライン情報を参照してください。
このオプションを使用する理由
プロジェクトに OIL ファイルが含まれる場合、Polyspace ではそれらのファイルを解析して、タスク、割り込み、周期タスク、およびクリティカル セクションを設定できます。それらを手動で設定する必要はありません。
設定
オフ (既定の設定)Polyspace では OSEK プロジェクトのマルチタスキング構成を設定しません。
オンPolyspace では OIL を検索、解析して、マルチタスキング構成を設定します。
autoプロジェクトのソース フォルダーとインクルード フォルダー内で OIL ファイルを検索しますが、サブフォルダー内は検索しません。
custom指定されたパスとパス サブフォルダーで OIL ファイルを検索します。OIL ファイルのパスまたは OIL ファイルを含むフォルダーのパスを指定できます。
このオプションを選択した場合、ソース コードでは、Polyspace によって以下の OSEK マルチタスキング キーワードがサポートされます。
TASKDeclareTaskActivateTaskDeclareResourceGetResourceReleaseResourceISRDeclareEventDeclareAlarm
Polyspace では、TASK、ISR、RESOURCE、および ALARM 定義に指定する OIL ファイルを解析します。解析ではこれらの定義とサポートされているマルチタスキング キーワードを使用して、タスク、割り込み、周期タスク、およびクリティカル セクションを構成します。
Polyspace で OIL ファイルから TASK、ISR、および RESOURCE 定義をモデル化する方法を確認するには、[ダッシュボード] ペインで [Concurrency window] を開きます。
Polyspace はタスクがエントリ ポイントであるか周期タスクであるかどうかを判断するために、以下の決定木を使用します。

その他の考慮事項
タスクを想定している関数またはマクロにパラメーターとしてタスクを渡す前に、
DeclareTaskまたはTASKキーワードを使用してすべてのタスクが宣言されていることを確認してください。たとえば、DeclareTask(foo);を使用せずにタスクfooをActivateTaskに渡した場合は、Polyspace がタスクfooを未定義と見なしてコンパイル エラーが発生します。解析では、ソース コード内の
TerminateTask()宣言を無視し、それ以降のコードが実行されると見なします。Polyspace では、ここで定義された構文に従っていない OIL ファイルの構文要素を無視します。
このオプションは、C コードを使用するプロジェクトに対してのみ使用できます。
依存関係
デスクトップ製品のユーザー インターフェイスでこのオプションを有効にするには、次のようにします。
オプション
[ソース コードの言語] (-lang)の値を[C]に設定します。オプション
[外部マルチタスキング構成](Polyspace Platform ユーザー インターフェイスでは[マルチタスク用の外部ファイル]という名前に変更されます) で値[osek]を選択します。
コマンド ライン情報
パラメーター: -osek-multitasking |
値: auto | custom=' |
| 既定値: オフ |
例 (Bug Finder): polyspace-bug-finder -sources |
例 (Code Prover): polyspace-code-prover -sources |
例 (Bug Finder Server): polyspace-bug-finder-server -sources |
例 (Code Prover Server): polyspace-code-prover-server -sources |
バージョン履歴
R2017b で導入
