Укажите новые аппаратные устройства

На вкладке Hardware приложения MATLAB® Coder™ можно задать параметры, которые описывают целевой компьютер и свойства компилятора для программного обеспечения MATLAB, которое позволяет:

  • Сгенерируйте оптимизированный код для производства или протестируйте оборудование.

  • Непосредственно протестируйте или разверните сгенерированный код на целевом компьютере.

Вкладка Hardware поддерживает область значений целевого компьютера. Чтобы расширить область значений, укажите новые аппаратные устройства при помощи классов target.LanguageImplementation и target.Processor.

Задайте аппаратную реализацию для нового устройства

Указывать новое аппаратное устройство:

  1. Создайте объект target.Processor для нового аппаратного устройства.

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

  2. Создайте объект target.LanguageImplementation для деталей реализации языка.

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

  3. Задайте детали реализации языка.

    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;

  4. Сопоставьте реализацию языка с аппаратным устройством.

    myProc.LanguageImplementations = myLanguageImplementation;
    

  5. Сохраните объект target.Processor в память MATLAB.

    target.add(myProc);

На вкладке Hardware вы видите новое устройство.

Создайте новую аппаратную реализацию путем изменения существующей реализации

Если существующая аппаратная реализация содержит большинство значений, вы хотите в новой аппаратной реализации, можно быстро создать новую реализацию путем создания и изменения копии существующей реализации.

  1. Создайте объект target.Processor для нового аппаратного устройства.

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

  2. Создайте объект target.LanguageImplementation, который копирует существующую реализацию языка.

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

  3. Задайте необходимые детали реализации языка. Например, порядок байтов.

    myCopiedImplementation.Endianess = target.Endianess.Big;

  4. Сопоставьте реализацию языка с аппаратным устройством.

    myProc.LanguageImplementations = myCopiedImplementation;

  5. Сохраните объект target.Processor в память MATLAB.

    target.add(myProc);

Создайте новую аппаратную реализацию путем многократного использования существующей реализации

Если ваше аппаратное устройство требует той же аппаратной реализации как существующая реализация, можно снова использовать существующую реализацию.

  1. Создайте объект target.Processor для нового аппаратного устройства.

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

  2. Получите существующую реализацию при помощи идентификатора для поставщика устройства и введите, например, 'ARM Compatible-ARM Cortex'.

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

  3. Сопоставьте реализацию языка с аппаратным устройством.

    myProc.LanguageImplementations = existingImplementation;

  4. Сохраните объект target.Processor в память MATLAB.

    target.add(myProc);

Создайте альтернативный идентификатор для целевого объекта функции

Чтобы создать альтернативные идентификаторы для целевых объектов функции, используйте класс target.Alias.

Например, если объект target.Processor имеет долгий идентификатор класса, можно создать объект target.Alias, который обеспечивает короткий идентификатор для объекта target.Processor.

  1. Получите объект target.Processor.

    proccesorObj = target.get('Processor', ...
                              'Analog Devices-ADSP-CM40x (ARM Cortex-M)');

  2. Используйте функцию target.create, чтобы создать объект target.Alias.

    aliasProcessorObj = target.create('Alias');

  3. Используйте свойства объектов target.Alias, чтобы задать альтернативный идентификатор и исходный целевой объект функции.

    aliasProcessorObj.Name = 'myShortName';
    aliasProcessorObj.For = proccesorObj;

  4. Сохраните объект target.Alias в память MATLAB.

    target.add(aliasProcessorObj);
  5. Получать исходный объект target.Processor, выполнение:

    target.get('Processor', 'myShortName');

Смотрите также

|