このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
C2000 プロセッサ用モデルの作成と実行可能ファイルの生成の概要
Embedded Coder ブロックライブラリへのアクセス
ブロック ライブラリにアクセスし、必要なターゲット ハードウェアを開く方法について説明します。
C2000マイクロコントローラーブロックセット のハードウェア セットアップ を入手したら、C2000™マイクロコントローラーブロックセット のブロック ライブラリを開くことができます。
C2000マイクロコントローラーブロックセット ライブラリを開くには、MATLAB® コマンド プロンプトで次のコマンドを入力します。
c2000lib

または、Simulink® ライブラリ ブラウザから、C2000 マイクロコントローラー Blockset を見つけて選択します。

デバイス ドライバー ブロックにアクセスするには、必要なターゲット ブロックを開きます。
他の Simulink モデルを作成するのと同じ方法で、アプリケーション用のリアルタイムモデルを作成します。次のソースまたは製品からモデルを構築するためのブロックを選択します。
c2000libブロックライブラリ内のライブラリ (ターゲットハードウェア上の入出力出力関数を処理するため)Simulink Coder™ ソフトウェア
Simulinkからの離散時間ブロック
ニーズを満たし、離散時間領域で動作する別のブロックセット
ターゲットハードウェアリソースの構成
構成パラメーターを使用してターゲット ハードウェア リソースを構成する方法について説明します。
モデルに必要なブロックを追加した後、[Modeling] タブを開いて [Model Settings] をクリックします。

Configuration Parameters ウィンドウで、Hardware Implementation をクリックし、Hardware Board を選択します。

必要に応じて Target Hardware Resources を設定します。詳細については、Model Configuration Parameters for Texas Instruments C2000 Processors および Model Configuration Parameters for Texas Instruments F2838x (ARM Cortex-M4) を参照してください。
メモ
C2000マイクロコントローラーブロックセット でサポートされるペリフェラルは、次のいずれかの構成になります。
ブロックのみ - ブロックを通じてのみ構成できる機能。(ハードウェア割り込みなど)
ブロック + 構成パラメーター- ブロックと構成パラメーターの両方で構成できる機能。(ADC、 ePWM、SCI、SPIなど)
構成パラメーターのみ - 構成パラメーターを通じてのみ構成できる機能。(EMIF、DMA、クロック構成など)
ハードウェア選択のための追加オプションの設定
次の構成設定は、TI C2000 ハードウェア選択の一環として自動的に実行されます。TI C2000 ターゲット以外の異なるハードウェアを選択すると、以下の構成がデフォルトに再構成されます。
ModelReferenceNumInstancesAllowed を Multiple から One に変更すると、XCP over CAN を使用して外部モードを実行するときに子モデルに記録される信号 (出力信号) の名前が変更されます。
Oneに設定すると、<ChildModelName>_B.<outputsignalname>になりますMultipleに設定すると、<TopModelName>_DW.Model_InstanceData.rtb.<outputsignalname>になります
hCS はモデルの構成セット オブジェクトです。次のコマンドを使用して、構成セット オブジェクトを取得できます。
hCS = getActiveConfigSet(mdlname);
Configuration Parameters 、 Math and Data Types に移動し、Simulation behavior for denormal numbersパラメーターを
Flush to Zero (FTZ)に設定します。set_param(hCS,'DenormalBehavior', 'FlushToZero');
Configuration Parameters 、 Math and Data Types に移動し、Default for underspecified data typeパラメーターを
Singleに設定します。set_param(hCS,'DefaultUnderspecifiedDataType','single');
Configuration Parameters 、 Code Generation 、 Interface に移動し、TI C2000 プロセッサの C28x コアの場合は Code replacement librariesパラメーターを
TI C28xに設定します。set_param(hCS,'CodeReplacementLibrary','TI C28x');
Configuration Parameters 、 Code Generation 、 Optimization 、 Advanced parameters に移動し、プロセッサに応じて Maximum stack size (bytes)パラメーターを選択します。
SL No デバイスファミリ 最大スタックサイズ(バイト) 1 F281x
5122 F2802x、F2803x、F2805x、F2834x、F2804x、F28M35x、F28M36x
7683 F2806x、F2837x、F28004x、F28003x、F2838x、F28002x
10244 ARMコア 2560set_param(hCS,'MaxStackSize','1024');
Configuration Parameters 、 Hardware Implementation 、 Device details に移動し、Support long longパラメーターを
Onに設定します。set_param(hCS,'ProdLongLongMode','on');
メモ
CLA を使用するモデルでは、long long モードを
offに設定する必要があります。Configuration Parameters 、 Code Generation 、 Optimization に移動し、Remove root level I/O zero initializationパラメーターを
Onに設定します。set_param(hCS,'ZeroExternalMemoryAtStartup', 'on');
カスタムボードのモデルを SIL モードで実行する必要がある場合は、上記の構成が行われていることを確認してください。SIL モードでは、次の追加設定が行われていることを確認してください。
Configuration Parameters 、 Code Generation 、 Verification に移動し、Enable portable word sizesパラメーターを On に設定します。これにより、 PILと SIL モードのモデルに対して同一のコードが生成。
コード生成の追加オプションの設定
以下の手順に従って、Code Generation ペインでのコード生成に必要なコンパイラ フラグ、CRL、カスタム コードなどの追加オプションを設定できます。
Configuration Parameters ウィンドウで、Code Generation ペインをクリックします。

COFF ABI 形式では、Simulink の double データ型が C28x プロセッサの 32 ビット浮動点として解釈され、ELF ABI 形式では、Simulink の double データ型が TI F2838x (C28x™)、TI F2807x、F2837x、F28004x、F28003x、F28002x、F28001x、F28P5x プロセッサの 64 ビット浮動点として解釈されます。COFF ABI および ELF ABI に関する詳細情報。詳細については、Exploring TI C2000 Toolchain Optionsを参照してください。
Build process の下の Generate code only オプションを使用すると、コード生成と実行可能ビルドのどちらを指定するかを指定できます。詳細については、コード生成のみ (Simulink Coder) を参照してください。
コードのコンパイルに必要なコンパイラ フラグを取得するには、build configuration オプションを選択できます。
より高速なビルド
より速く走る
Debug
指定
Specify オプションを使用して列 Tool Options を編集し、追加のフラグを追加します。詳細については、ビルド構成 (Simulink Coder)、Enhance Code Execution Speed in TI C2000 Simulink Applications、および Exploring TI C2000 Toolchain Options を参照してください。
Code Generation > Optimization カテゴリには、モデルのシミュレーション速度を向上させ、生成されたコードのパフォーマンスを向上させるためのパラメーターが含まれています。詳細については、モデル コンフィギュレーション パラメーター: コード生成の最適化 (Simulink Coder) を参照してください。
Code Generation > Report カテゴリには、コード生成レポートを生成およびカスタマイズするためのパラメーターが含まれています。詳細については、モデル コンフィギュレーション パラメーター: コード生成レポート (Simulink Coder) を参照してください。
Code Generation > Custom Code カテゴリには、生成されたコードにカスタム C コードを挿入するためのパラメーターが含まれています。詳細については、モデル コンフィギュレーション パラメーター: コード生成のカスタム コード (Simulink Coder) を参照してください。
Code Generation > Interface カテゴリには、生成されたコードとコード置換ライブラリ (CRL) のインターフェイスを構成するためのパラメーターが含まれています。詳細については、モデル コンフィギュレーション パラメーター: コード生成インターフェイス (Simulink Coder) を参照してください。
Code Generation > Verification カテゴリには、SIL およびPILシミュレーションのコード検証およびパフォーマンス分析パラメーターが含まれており、プロファイリング オプションも構成できます。さらに、次のオプションを構成して、SIL およびPILシミュレーションとは独立したプロファイリングを実行することもできます。
タスク実行時間を測定 - 構成パラメーターでこのパラメーターを有効にすると、プロファイリングをリアルタイムで実行できます。
関数の実行時間を測定します - 構成パラメーターでさまざまなレベルのプロファイリング (タスク、サブシステム、または関数) を取得するように構成します。それに応じてプロファイリング ロジックが追加されます。測定時間のプロファイリング ロジックにより、追加のオーバーヘッドが発生します。現在、非同期システム プロファイリングではハードウェア割り込みのみがサポートされています。
オフ - それぞれのタスクで時間を測定
コース - タスク、参照モデル、サブシステムのみ
詳細 - タスク、参照モデル、サブシステム、ブロック/関数の内部化、ステップ ロジック
保存オプション - 概要データのみを保存するか、構成パラメーターで詳細なタイムラインを取得するためにすべてのデータを保存するかを選択します。メトリック オプションは C2000 ではサポートされていません。
Profiling with Build, Load and Run
プロファイリング データ - プロファイリング データとレポートおよびタスクのスケジュールを取得するには、MATLAB コマンド ウィンドウで次のコードを実行します。
プロファイリング データ - ターゲット ハードウェアからプロファイリング データを収集し、変数に保存します。
codertarget.profile.getData('ModelName')プロファイリング レポート - プロファイリング データに基づいて HTML レポートを提供します。
executionProfile.report
タスクのスケジュール設定 - さまざまなタスクと関数のスケジュール設定を視覚化します。
executionProfile.schedule
詳細については、モデル コンフィギュレーション パラメーター: [コード生成] [検証] (Embedded Coder) および Real-Time Code Execution Profiling を参照してください。
Profiling with Monitor & Tune
C2000マイクロコントローラーブロックセット を使用すると、XCP on Serial および XCP on TCP/IP インターフェースを備えた Texas Instruments® C2000ボード上で実行可能ファイルとして実行される生成されたコードのリアルタイム実行をプロファイルできます。詳細については、Code Execution Profiling on Texas Instruments C2000およびTroubleshooting External Mode Issuesを参照してください。
Profiling with PIL
プロファイリング オプションを設定し、 PILモードで使用することができます。
コードを生成し、ビルドして実行ファイルをダウンロードする
モデルのハードウェア リソースとコード生成を構成したら、コードを生成し、リアルタイム実行可能ファイルをビルドして、Texas Instruments 開発ボードにダウンロードできます。Simulink Coder ソフトウェアは、C コードを自動的に生成し、ハードウェア ブロックで指定された I/O デバイス ドライバーと構成パラメーターを Simulink モデルに挿入します。
メモ
CPU1 や CPU2 など、makefile 内のキーワードや定義済み識別子を使用してモデルに名前を付けることは避けてください。
モデル パスに非 ASCII 文字が含まれている場合、
Microsoft Visual C++ Runtime Libraryエラーが発生します。この問題を回避するには、コード生成ディレクトリ パスで ASCII 文字のみが使用されていることを確認してください。
S 関数を使用してカスタム デバイス ドライバー ブロックを作成する場合は、MATLAB_MEX_FILE マクロを使用して、シミュレーションとコード生成の動作を区別します。たとえば、MEX ファイルを作成するために生成されたコードに Texas Instruments ヘッダー ファイルを含める場合は、次に示すように #else セクションを使用してコンパイル エラーを回避します。
#ifdef MATLAB_MEX_FILE /* /* Simulation behavior */ #else /* Code generation behavior*/ #endif
ビルド操作中に、Texas Instruments クロスコンパイラは生成されたコードから実行可能ファイルを構築します。ビルド操作により、ソース ファイル (.c) ごとに依存関係ファイル (.dep) が生成され、これを使用してオブジェクト ファイル (.obj) が作成されます。次に、オブジェクト ファイルはリンカー コマンド ファイルを使用してリンクされ、マップ ファイル (.map) と実行可能ファイル (.exe) が作成されます。
デフォルトのリンカー コマンド ファイルを変更できます。また、必要に応じてオプション Hardware Implementation > Target Hardware Resources > Build options > Use custom linker を使用して別のリンカー コマンド ファイルを提供することもできます。
メモ
データ型が CAN_MESSAGE の場合、出力ポートのサンプル時間は一定であってはなりません。入力ポートで Zero Order Hold ブロックを使用して非定数のサンプル時間を強制するか、S 関数を変更して SS_OPTION_DISALLOW_CONSTANT_SAMPLE_TIME を使用します。詳細については、https://in.mathworks.com/matlabcentral/answers/405090-sample-time-error-when-can-pack-block-has-constant-block-inputを参照してください。
Dependency Build
後続のビルドでは、ソース ファイルまたはヘッダー ファイルが変更された場合、または make ファイルが更新された場合にのみ、依存関係ファイルを使用してオブジェクト ファイルを再コンパイルします。依存関係ビルドでは、Windows® PowerShell を使用して依存関係ファイルを更新します。したがって、コンピューターに Windows PowerShell が存在しない場合は、依存関係ビルドは使用されず、オブジェクト ファイルが再コンパイルされます。
Parallel Build
ビルドでは、並列ビルドを有効にしてオブジェクト ファイルを高速にコンパイルすることにより、ホスト コンピューターの複数のコアを活用します。これにより、ビルドに失敗した場合、ビルド ログに表示されるメッセージの順序に問題が発生する可能性があります。Hardware Implementation > Target Hardware Resources > Build options > Disable parallel build を使用してこのオプションを無効にすることができます。
Hardware Implementation > Target Hardware Resources > Build options > Build actionパラメーターで Build, load and run オプションを選択すると、生成された実行可能ファイルが自動的にターゲットにダウンロードされます。
アプリケーションをフラッシュにロードする必要がある場合は、オプション Boot from Flash を選択します。このオプションを選択しない場合、アプリケーションは RAM にロードされます。Hardware Implementation > Target Hardware Resources > Build options > Boot from Flash。
デフォルトでは、選択したハードウェアボードのコントロール カードまたはランチパッドへのダウンロードをサポートするために、ターゲット構成ファイルが提供されます。カスタムボードがある場合は、[ハードウェア実装] > [ターゲット ハードウェア リソース] > [ビルド オプション] > [ターゲット構成の選択] のオプションで独自のターゲット構成ファイルを提供できます。
CCS v5 以降のバージョンでは、ビルド プロセス中に CCS プロジェクト ファイルも生成されます。このプロジェクト ファイルは、CCS IDE でのデバッグに使用できます。
メモ
Rapid Acceleratorシミュレーションは、C2000 マイクロコントローラー Blockset ではサポートされていません。
参考
モデルから CCS プロジェクトを作成する | Enhance Code Execution Speed in TI C2000 Simulink Applications | Measuring Code Execution Time on TI C2000 Using Custom Code Blocks | Troubleshooting External Mode Issues