На панели Hardware Implementation можно задать параметры, которые описывают целевой компьютер и свойства компилятора для MATLAB, который позволяет:
Наблюдайте целевой компьютер во время симуляций модели.
Сгенерируйте оптимизированный код для производства или протестируйте оборудование.
Непосредственно протестируйте или разверните сгенерированный код на целевом компьютере.
Панель Hardware Implementation поддерживает область значений целевого компьютера. Чтобы расширить область значений, укажите новые аппаратные устройства при помощи классов target.LanguageImplementation
и target.Processor
.
Указывать новое аппаратное устройство:
Создайте объект 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
в память MATLAB.
target.add(myProc);
На панели Hardware Implementation можно теперь установить Device vendor и Device type к 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
в память MATLAB.
target.add(myProc);
Если ваше аппаратное устройство требует той же аппаратной реализации как существующая реализация, можно снова использовать существующую реализацию.
Создайте объект target.Processor
для нового аппаратного устройства.
myProc = target.create('Processor', ... 'Name', 'MyProcessor', ... 'Manufacturer', 'MyManufacturer');
Получите существующую реализацию при помощи идентификатора для поставщика устройства и введите, например, 'ARM Compatible-ARM Cortex'
.
existingImplementation = target.get('LanguageImplementation', ... 'ARM Compatible-ARM Cortex');
Сопоставьте реализацию языка с аппаратным устройством.
myProc.LanguageImplementations = existingImplementation;
Сохраните объект target.Processor
в память MATLAB.
target.add(myProc);
Чтобы создать альтернативные идентификаторы для целевых объектов функции, используйте класс target.Alias
.
Например, если объект target.Processor
имеет долгий идентификатор класса, можно создать объект target.Alias
, который обеспечивает короткий идентификатор для объекта target.Processor
.
Получите объект target.Processor
.
proccesorObj = target.get('Processor', ... 'Analog Devices-ADSP-CM40x (ARM Cortex-M)');
Используйте функцию target.create
, чтобы создать объект target.Alias
.
aliasProcessorObj = target.create('Alias');
Используйте свойства объектов target.Alias
, чтобы задать альтернативный идентификатор и исходный целевой объект функции.
aliasProcessorObj.Name = 'myShortName';
aliasProcessorObj.For = proccesorObj;
Сохраните объект target.Alias
в память MATLAB.
target.add(aliasProcessorObj);
Получать исходный объект target.Processor
, выполнение:
target.get('Processor', 'myShortName');
target.LanguageImplementation
| target.Processor