Main Content

ベアメタル ターゲット ハードウェアへ展開するメイン プログラムの生成

この例では、ベアメタル ターゲット ハードウェア (オペレーティング システムをもたない) への展開用にカスタマイズできるメイン プログラム例がコード ジェネレーターで生成されるようにモデルを設定する方法を示します。モデル コンフィギュレーション パラメーター [メイン プログラム例の生成] を選択すると、コード ジェネレーターは例のファイル ert_main.c または ert_main.cpp を生成します。このファイルには次が含まれます。

  • 生成されるプログラムの関数 main()

  • モデルの各タイム ステップでブロック計算をいつどのように実行するかを決定するタスク スケジューリング コード

main プログラムの操作とスケジューリング アルゴリズムは主に次に依存します。

  • モデルがシングルレート モデルとマルチレート モデルのどちらであるか

  • モデルのソルバー モードがシングルタスクとマルチタスクのどちらであるか

詳細については、Deploy Applications to Target Hardwareを参照してください。

あるいは、ホスト オペレーティング システムで実行するスレッド コードを実行しているターゲット ハードウェアへ展開するメイン プログラム例を生成するようモデルを設定できます。コード ジェネレーターが生成する例のファイル ert_main.c に、生成された例のコードを展開する方法が示されます。

生成されたメイン プログラムはカスタム ファイル処理 (CFP) テンプレートを使用してカスタマイズできます。以下のような場合にテンプレート ファイルの使用を検討します。

  • 生成コードをバッファー内で組み立てる

  • API を呼び出し、生成されたソース ファイルとヘッダー ファイルの固有のセクションにバッファー コードを取得する

詳細については、File customization templateを参照してください。

モデル例を開く

モデル例 rtwdemo_examplemain を開きます。

open_system('RollAxisAutopilot');

モデルの設定

1. Embedded Coder アプリを開きます。

2. モデル コンフィギュレーション パラメーター [メイン プログラム例の生成] を選択します。このパラメーターを選択すると、パラメーター [ターゲット オペレーティング システム] が有効になります。

3. パラメーター [ターゲット オペレーティング システム]BareBoardExample または NativeThreadsExample に設定します。詳細については、Target operating systemを参照してください。

4. カスタム ファイル処理テンプレートを指定するかどうかを検討します。テンプレートを設定するには、テンプレート TLC ファイルのファイル名と拡張子をモデル コンフィギュレーション パラメーター [ファイル カスタマイズ テンプレート] の文字列として指定します。

コードの生成

コードを生成して検査します。

ハンド コードされたカスタマイズの追加

必要に応じてハンド コードで生成コードを拡張します。