このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
target.upgrade
ハードウェア デバイスの既存の定義をアップグレードする
構文
説明
target.upgrade(
はアップグレード プロシージャを使用して、現在のアーティファクトのデータ定義からオブジェクトを作成します。関数は upgraderForRegistrationMechanism
, pathToRegistrationFile
)registerUpgradedTargets.m
を現在の作業フォルダーに作成します。
アップグレードされたデータ定義を MATLAB® に登録するには、registerUpgradedTargets()
を実行します。
MATLAB セッションにわたって持続性を維持するために、registerUpgradedTargets('UserInstall', true)
を実行します。
target.upgrade(___,
は、1 つ以上の名前と値のペアの引数を使用して追加のオプションを指定します。Name,Value
)
例
rtwTargetInfo.m
ファイルまたは sl_customization.m
ファイル (Simulink® Coder™ および Embedded Coder® にのみ適用) を介して指定された既存のハードウェア デバイス定義をアップグレードするには、target.upgrade
関数を使用します。
rtwTargetInfo.m
ファイル
ハードウェア デバイス定義が rtwTargetInfo.m
ファイルにあるものとします。
function rtwTargetInfo(tr) % Add registration function handle to the Target Registry tr.registerTargetInfo(@loc_register_hardware); end function hw = loc_register_hardware hw = RTW.HWDeviceRegistry; hw.Vendor = 'MyManufacturer'; hw.Type = 'MyDevice'; hw.Alias = {}; hw.Platform = {'Prod', 'Target'}; hw.setWordSizes([8 16 32 64 64 64 64 64 64 64 64]); hw.Endianess = 'Little'; hw.IntDivRoundTo = 'Zero'; hw.ShiftRightIntArith = true; hw.LargestAtomicInteger = 'Long'; hw.LargestAtomicFloat = 'Double'; end
このファイルに含まれているデータ定義をアップグレードするには、次を入力します。
target.upgrade("rtwTargetInfo","myPathTo/rtwTargetInfo.m");
現在のフォルダーに、関数によってこの registerUpgradedTargets.m
ファイルが作成されます。
function processor = registerUpgradedTargets(varargin) % This function was generated using target data export. % Create target.LanguageImplementation 'MyManufacturer-MyDevice' languageimplementation = target.create('LanguageImplementation'); languageimplementation.AtomicFloatSize = 64; languageimplementation.AtomicIntegerSize = 64; languageimplementation.DataTypes.Char.Size = 8; languageimplementation.DataTypes.Double.Size = 64; languageimplementation.DataTypes.Float.Size = 64; languageimplementation.DataTypes.Half.IsSupported = false; languageimplementation.DataTypes.Half.Size = 16; languageimplementation.DataTypes.Int.Size = 32; languageimplementation.DataTypes.Long.Size = 64; languageimplementation.DataTypes.LongLong.IsSupported = false; languageimplementation.DataTypes.LongLong.Size = 64; languageimplementation.DataTypes.Pointer.Size = 64; languageimplementation.DataTypes.PtrDiffT.Size = 64; languageimplementation.DataTypes.Short.Size = 16; languageimplementation.DataTypes.SizeT.Size = 64; languageimplementation.Name = 'MyManufacturer-MyDevice'; languageimplementation.WordSize = 64; % Create target.Processor 'MyManufacturer-MyDevice' processor = target.create('Processor'); processor.LanguageImplementations(1) = languageimplementation; processor.Manufacturer = 'MyManufacturer'; processor.Name = 'MyDevice'; % Add the target objects to MATLAB memory target.add(processor, varargin{:}); end
ハードウェア デバイスを MATLAB® に登録するには、次を入力します。
registerUpgradedTargets()
MATLAB セッションをまたいで登録を保持するようにするには、次を入力します。
registerUpgradedTargets(UserInstall=true)
sl_customization.m
ファイル (Simulink Coder および Embedded Coder にのみ適用)
sl_customization.m
ファイルに複数のハードウェア デバイス定義があるとします。
function sl_customization(cm) % sl_customization function to register a device % vendor and type with Simulink. % Copy or rename this file to sl_customization.m. cm.registerTargetInfo(@loc_register_device); cm.registerTargetInfo(@loc_register_device2); cm.registerTargetInfo(@loc_createConfig); cm.registerTargetInfo(@locRegisterTfl); cm.CodeCoverageTools.add('DummyCoverageToolForTesting',... 'HDummyCovTool',... 'A Coverage Tool Vendor'); end function thisDev = loc_register_device thisDev = RTW.HWDeviceRegistry; thisDev.Vendor = 'MyDevVendor'; thisDev.Type = 'MyDevType'; thisDev.Alias = {}; thisDev.Platform = {'Prod', 'Target'}; thisDev.setWordSizes([8 16 32 32 32]); thisDev.LargestAtomicInteger = 'Char'; thisDev.LargestAtomicFloat = 'None'; thisDev.Endianess = 'Unspecified'; thisDev.IntDivRoundTo = 'Undefined'; thisDev.ShiftRightIntArith = true; thisDev.setEnabled({'IntDivRoundTo'}); end function thisDev = loc_register_device2 thisDev = RTW.HWDeviceRegistry; thisDev.Vendor = 'MyDevVendor'; thisDev.Type = 'MyDevType2'; thisDev.Alias = {}; thisDev.Platform = {'Prod', 'Target'}; thisDev.setWordSizes([8 16 32 32 32]); thisDev.LargestAtomicInteger = 'Char'; thisDev.LargestAtomicFloat = 'None'; thisDev.Endianess = 'Unspecified'; thisDev.IntDivRoundTo = 'Undefined'; thisDev.ShiftRightIntArith = true; thisDev.setEnabled({'IntDivRoundTo'}); end % local function function config = loc_createConfig config = rtw.connectivity.ConfigRegistry; config.ConfigName = 'Infineon->C16x, XC16x'; config.ConfigClass = 'pil_slcust.HostDemoConfig1'; config.SystemTargetFile = {'custom_target.tlc'}; config.TemplateMakefile = {'custom_target.tmf'}; config.TargetHWDeviceType = {'Infineon->C16x, XC16x'}; end function thisTfl = locRegisterTfl thisTfl(1) = RTW.TflRegistry; thisTfl(1).Name = 'myTFL1'; thisTfl(1).Description = 'Test'; thisTfl(1).TableList = {'tfl_table_Sum',... 'tfl_table_Product',... }; % Sum includes Add and Subtract thisTfl(1).BaseTfl = 'ANSI_C'; thisTfl(1).TargetHWDeviceType = {'*'}; end
ファイルの RTW.HWDeviceRegistry
データ定義をアップグレードするには、次を入力します。
target.upgrade("sl_customization","myPathTo/sl_customization.m")
現在のフォルダーに、関数によってこの registerUpgradedTargets.m
ファイルが作成されます。
function targetObjects = registerUpgradedTargets(varargin) % This function was generated using target data export. % Create target.LanguageImplementation 'MyDevVendor-MyDevType' languageimplementation = target.create('LanguageImplementation'); languageimplementation.AtomicIntegerSize = 8; languageimplementation.DataTypes.Char.Size = 8; languageimplementation.DataTypes.Double.Size = 64; languageimplementation.DataTypes.Float.Size = 32; languageimplementation.DataTypes.Half.IsSupported = false; languageimplementation.DataTypes.Half.Size = 16; languageimplementation.DataTypes.Int.Size = 32; languageimplementation.DataTypes.Long.Size = 32; languageimplementation.DataTypes.LongLong.IsSupported = false; languageimplementation.DataTypes.LongLong.Size = 64; languageimplementation.DataTypes.Pointer.Size = 32; languageimplementation.DataTypes.PtrDiffT.Size = 32; languageimplementation.DataTypes.Short.Size = 16; languageimplementation.DataTypes.SizeT.Size = 32; languageimplementation.Endianess = target.Endianess.Unspecified; languageimplementation.Name = 'MyDevVendor-MyDevType'; languageimplementation.WordSize = 32; % Create target.Processor 'MyDevVendor-MyDevType' processor = target.create('Processor'); processor.LanguageImplementations(1) = languageimplementation; processor.Manufacturer = 'MyDevVendor'; processor.Name = 'MyDevType'; % Create target.LanguageImplementation 'MyDevVendor-MyDevType2' languageimplementation2 = target.create('LanguageImplementation'); languageimplementation2.AtomicIntegerSize = 8; languageimplementation2.DataTypes.Char.Size = 8; languageimplementation2.DataTypes.Double.Size = 64; languageimplementation2.DataTypes.Float.Size = 32; languageimplementation2.DataTypes.Half.IsSupported = false; languageimplementation2.DataTypes.Half.Size = 16; languageimplementation2.DataTypes.Int.Size = 32; languageimplementation2.DataTypes.Long.Size = 32; languageimplementation2.DataTypes.LongLong.IsSupported = false; languageimplementation2.DataTypes.LongLong.Size = 64; languageimplementation2.DataTypes.Pointer.Size = 32; languageimplementation2.DataTypes.PtrDiffT.Size = 32; languageimplementation2.DataTypes.Short.Size = 16; languageimplementation2.DataTypes.SizeT.Size = 32; languageimplementation2.Endianess = target.Endianess.Unspecified; languageimplementation2.Name = 'MyDevVendor-MyDevType2'; languageimplementation2.WordSize = 32; % Create target.Processor 'MyDevVendor-MyDevType2' processor2 = target.create('Processor'); processor2.LanguageImplementations(1) = languageimplementation2; processor2.Manufacturer = 'MyDevVendor'; processor2.Name = 'MyDevType2'; targetObjects = [processor, processor2]; % Add the target objects to MATLAB memory target.add(targetObjects, varargin{:}); end
MATLAB でハードウェア デバイス定義を登録するには、次を入力します。
registerUpgradedTargets()
MATLAB セッションをまたいで登録を保持するようにするには、次を入力します。
registerUpgradedTargets(UserInstall=true)
入力引数
現在の登録メカニズムに対するアップグレード プロシージャを選択します。
現在の登録メカニズムを含むファイルを指定します。
例: target.upgrade('rtwTargetInfo', 'myPath/mySubfolder/rtwTargetInfo.m')
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name
を引用符で囲みます。
例: target.upgrade('rtwTargetInfo', 'myPath/mySubfolder/rtwTargetInfo.m','ExportFileName','myNewFile')
true
––target.add
を使用してアップグレードされた定義を登録する MATLAB 関数を生成します。false
–– 関数を生成しません。
ExportToMATLABFunction
が true
である場合、引数は生成された MATLAB 関数のファイル名を指定します。そうでない場合、引数は無視されます。
true
––ExportFileName
によって指定されたファイルが存在する場合、そのファイルを上書きします。false
––ExportFileName
によって指定されたファイルが存在する場合、関数はエラーを生成します。
ExportToMATLABFunction
が false である場合、引数は無視されます。
バージョン履歴
R2019b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)