主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

target.create

创建目标对象

说明

targetObject = target.create(targetType) 创建并返回指定类的对象。

示例

targetObject = target.create(targetType,Name,Value) 使用一个或多个名称-值参量配置对象。

注意

您可以只通过一个步骤创建对象并为这些类指定属性:

示例

示例

全部折叠

此示例说明如何注册新硬件设备。

为新硬件设备创建一个 target.Processor 对象。

myProc = target.create("Processor",Name="MyProcessor", ...
                        Manufacturer="MyManufacturer");

为语言实现详细信息创建一个 target.LanguageImplementation 对象。

myLanguageImplementation = target.create("LanguageImplementation", ...
                                          Name="MyProcessorImplementation");

指定语言实现详细信息。

myLanguageImplementation.Endianess = target.Endianess.Little;

myLanguageImplementation.AtomicIntegerSize = 64;
myLanguageImplementation.AtomicFloatSize = 64;
myLanguageImplementation.WordSize = 64;

myLanguageImplementation.DataTypes.Char.Size = 8;
myLanguageImplementation.DataTypes.Short.Size = 16;
myLanguageImplementation.DataTypes.Int.Size = 32;
myLanguageImplementation.DataTypes.Long.Size = 64;
myLanguageImplementation.DataTypes.LongLong.IsSupported = true;
myLanguageImplementation.DataTypes.LongLong.Size = 64;
myLanguageImplementation.DataTypes.Float.Size = 32;
myLanguageImplementation.DataTypes.Double.Size = 64;

myLanguageImplementation.DataTypes.Pointer.Size = 32;

myLanguageImplementation.DataTypes.SizeT.Size = 64;
myLanguageImplementation.DataTypes.PtrDiffT.Size = 64;

将语言实现与硬件设备相关联。

myProc.LanguageImplementations = myLanguageImplementation;

target.Processor 对象添加到内部数据库中。

objectsAdded = target.add(myProc);
target.add summary:

    Objects added to internal database for current MATLAB session:
        target.LanguageImplementation    "MyProcessorImplementation"
        target.Processor                 "MyManufacturer-MyProcessor"
  • 如果您使用的是 MATLAB® Coder™:在硬件选项卡上,您会看到新设备。或者,您现在可以使用 coder.hardware 函数为此设备创建一个 coder.Hardware 对象。

  • 如果您使用的是 Simulink® Coder™:在硬件实现窗格中,您现在可以将设备供应商设备类型分别设置为 MyManufacturerMyProcessor

要从内部数据库中删除对象,请输入:

target.remove(objectsAdded)
target.remove summary:

    Objects removed from internal database:
        target.LanguageImplementation    "MyProcessorImplementation"
        target.Processor                 "MyManufacturer-MyProcessor"

如果某个现有硬件实现包含新硬件实现中所需的大部分值,则可以通过创建和修改该现有实现的副本来快速创建新实现。

为新硬件设备创建一个 target.Processor 对象。

myProc = target.create("Processor",Name="MyProcessor", ...
                        Manufacturer="MyManufacturer");

创建一个用于复制现有语言实现的 target.LanguageImplementation 对象。

myCopiedImplementation = target.create("LanguageImplementation", ...
                                      Name="MyCopiedImplementation", ...
                                      Copy="Atmel-AVR");

指定所需的语言实现详细信息。例如,字节顺序。

myCopiedImplementation.Endianess = target.Endianess.Big;

将语言实现与硬件设备相关联。

myProc.LanguageImplementations = myCopiedImplementation;

target.Processor 对象添加到内部数据库中。

objectsAdded = target.add(myProc);
target.add summary:

    Objects added to internal database for current MATLAB session:
        target.LanguageImplementation    "MyCopiedImplementation"
        target.Processor                 "MyManufacturer-MyProcessor"

要从内部数据库中删除对象,请输入:

target.remove(objectsAdded)
target.remove summary:

    Objects removed from internal database:
        target.LanguageImplementation    "MyCopiedImplementation"
        target.Processor                 "MyManufacturer-MyProcessor"

如果您的硬件设备需要与现有实现相同的硬件实现,您可以重用现有实现。

为新硬件设备创建一个 target.Processor 对象。

myProc = target.create( "Processor",Name="MyProcessor", ...
                        Manufacturer="MyManufacturer");

通过使用设备供应商的标识符和类型检索现有实现。

existingImplementation = target.get("LanguageImplementation", ...
                                  "ARM Compatible-ARM Cortex");

将语言实现与硬件设备相关联。

myProc.LanguageImplementations = existingImplementation;

target.Processor 对象添加到内部数据库中。

objectsAdded = target.add(myProc);
target.add summary:

    Objects added to internal database for current MATLAB session:
        target.Processor                 "MyManufacturer-MyProcessor"
    1 object not added because they already exist.

要从内部数据库中删除对象,请输入:

target.remove(objectsAdded);
target.remove summary:

    Objects removed from internal database:
        target.Processor    "MyManufacturer-MyProcessor"

输入参数

全部折叠

指定对象的类。例如,指定:

  • 'Processor' 创建一个 target.Processor 对象。

  • 'LanguageImplementation' 创建一个 target.LanguageImplementation 对象。

  • 'Alias' 创建一个 target.Alias 对象。

有关受支持类型的完整列表,请参阅 target

示例: 'Processor'

名称-值参数

全部折叠

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: myProc = target.create('Processor', 'Name', 'myProcessor', 'Manufacturer', 'myProcessorManufacturer');

通过从现有目标对象复制值来创建一个目标对象。例如:

myLangImp = target.create('LanguageImplementation', ...
                          'Name', 'myLanguageImplementation', ...
                          'Copy', 'ARM Compatible-ARM Cortex');

向由 target.create 生成的 ID 添加前缀。

创建属性设置为指定值的目标对象。

输出参量

全部折叠

创建并返回的对象。例如,对象的情况如下:

  • 如果 targetType'Processor',则为 target.Processor 对象

  • 如果 targetType'LanguageImplementation',则为 target.LanguageImplementation 对象

  • 如果 targetType'Alias',则为 target.Alias 对象

版本历史记录

在 R2019a 中推出