кодер. HardwareImplementation

Специфичные для оборудования параметры конфигурации для генерации кода C/C++ из кода MATLAB

Описание

Объект coder.HardwareImplementation содержит специфичные для оборудования параметры конфигурации, которые codegen использует для генерации статической библиотеки, динамически подключаемой библиотеки или исполняемой программы.

Чтобы использовать объект coder.HardwareImplementation, необходимо сопоставить его с объектом настройки (объект coder.CodeConfig или объект coder.EmbeddedCodeConfig), что вы передаете codegen. Чтобы создать объект coder.HardwareImplementation и сопоставить его с объектом настройки, создайте объект настройки при помощи coder.config.

Свойства Access coder.HardwareImplementation одним из этих способов:

По умолчанию свойства coder.HardwareImplementation задают характеристики хоста - компьютера MATLAB®. Чтобы задать различное устройство, измените свойство ProdHWDeviceType. Аппаратное устройство определяет значения других специфичных для устройства свойств и свойств, которые можно изменить.

Создание

Чтобы создать объект coder.HardwareImplementation, используйте coder.config, чтобы создать объект настройки (объект coder.CodeConfig или объект coder.EmbeddedCodeConfig) для генерации автономного кода. Когда coder.config создает объект настройки, он также создает объект coder.HardwareImplementation. coder.config устанавливает свойство HardwareImplementation объекта настройки к объекту coder.HardwareImplementation.

Свойства

развернуть все

Описание объекта coder.HardwareImplementation, заданного как вектор символов.

Имя объекта, заданное как вектор символов.

Эквивалентность производства и цели (тест) характеристики оборудования, заданные как true или false.

Объект coder.HardwareImplementation имеет два набора аппаратных свойств — один для характеристик производственного оборудования и один для характеристик цели (тест) оборудование. По умолчанию codegen использует свойства производственного оборудования. Как правило, вы оставляете набор ProdEqTarget true и работаете только с производственными свойствами.

Установка ProdEqTarget к false является расширенной функцией, которая включает свойства целевого компьютера. Если вы изменяете ProdEqTarget на false, codegen использует свойства для целевого компьютера и генерирует код, чтобы эмулировать поведение производственного оборудования на целевом компьютере. Если вы устанавливаете ProdEqTarget на false для тестирования, прежде чем вы развернете сгенерированный код на производственном оборудовании, установите ProdEqTarget на true и регенерируете код.

В начале процессора Embedded Coder® в цикле (PIL) выполнение программное обеспечение проверяет свойства аппаратной реализации со ссылкой на целевой компьютер, на котором запускается выполнение PIL. Если ProdEqTarget является true, программное обеспечение проверяет производственные свойства (свойства, которые запускаются с Prod). Если ProdEqTarget является false, программное обеспечение проверяет целевые свойства (свойства, которые запускаются с Target). См. программное обеспечение Code Verification Through в цикле и Процессор в Выполнении цикла (Embedded Coder).

Производственные аппаратные свойства

Длина в битах типа данных char C, что производственные аппаратные поддержки, заданные как целочисленное значение от 8 до 32. Значение должно быть кратным 8.

Это свойство доступно только для чтения.

Длина в битах C удваивает тип данных что производственные аппаратные поддержки.

Это свойство доступно только для чтения.

Длина в битах типа данных с плавающей точкой C, что производственные аппаратные поддержки.

Длина в битах типа данных int C, что производственные аппаратные поддержки, заданные как целочисленное значение от 8 до 32. Значение должно быть кратным 8.

Длина в битах типа данных long C, что производственные аппаратные поддержки, заданные как целочисленное значение от 32 до 128. Значение должно быть кратным 8.

Длина в битах типа данных long long C, что производственные аппаратные поддержки, заданные как целочисленное значение от 64 до 128. Значение должно быть кратным 8.

Используйте тип данных long long C, только если ваш компилятор C поддерживает long long.

Зависимость:

  • ProdLongLongMode включает использование свойства ProdBitPerLongLong.

Длина в битах данных об указателе, что производственные аппаратные поддержки, заданные как целочисленное значение от 8 до 64. Значение должно быть кратным 8.

Длина в битах данных ptrdiff_t, что производственные аппаратные поддержки, заданные как 8, 16, 24, 32, 40, 64, или 128. Значение должно быть больше, чем или равным значению ProdBitPerInt.

Длина в битах типа данных short C, что производственные аппаратные поддержки, заданные как кратное 8, от 8 до 32.

Длина в битах данных size_t, что производственные аппаратные поддержки, заданные как 8, 16, 24, 32, 40, 64, или 128. Значение должно быть больше, чем или равным значению ProdBitPerInt.

Значение первого байта слова данных для производственного оборудования, заданного как одно из значений в этой таблице.

ЗначениеОписание
'LittleEndian'

Это значение является значением по умолчанию.

Младший значащий байт появляется первым в порядке байтов.

'BigEndian'Старший значащий байт появляется первым в порядке байтов.
'Unspecified'Код определяет порядок байтов оборудования. Это значение производит менее эффективный код.

Производитель и тип производственной аппаратной платы, заданной как вектор символов.

Определение наборов свойств ProdHWDeviceType специфичные для устройства свойства для производственного оборудования. Можно изменить специфичное для устройства свойство, только если оно включено для заданного оборудования.

codegen не может сгенерировать код для ASICs или FPGAs. Если вы устанавливаете ProdHWDeviceType на 'ASIC/FPGA->ASIC/FPGA', ProdEqTarget становится false так, чтобы генератор кода использовал свойства для цели (тест) устройство. 'ASIC/FPGA->ASIC/FPGA' не является допустимым значением для TargetHWDeviceType.

Округление компилятором для производственного оборудования результата деления двух целых чисел со знаком, заданных как одно из значений в этой таблице.

ЗначениеОписание
'Zero'

Это значение является значением по умолчанию.

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

'Floor'Если частное между двумя целыми числами, раундами компилятора к целому числу, которое ближе к отрицательной бесконечности.
'Undefined'Компилятор не делает вокруг к нулевой или отрицательной бесконечности, или компилятор, округляющий поведение, не определен.

Поддержка компилятора C долгого долгого типа данных, заданного как одно из значений в этой таблице.

ЗначениеОписание
true

Это значение является значением по умолчанию.

Генератор кода использует тип данных long long C в сгенерированном коде.

false

Генератор кода не использует тип данных long long C в сгенерированном коде.

Большинство компиляторов C99 поддерживает long long.

Советы:

  • ProdLongLongMode включен только если заданные производственные аппаратные поддержки тип данных long long C.

  • Если ваш компилятор не поддерживает long long C, не выбирайте этот параметр.

Зависимость:

  • ProdLongLongMode включает использование свойства ProdBitPerLongLong.

Реализация компилятором C для производственного оборудования сдвига вправо целого числа со знаком как арифметический сдвиг вправо, заданный как одно из значений в этой таблице.

ЗначениеОписание
true

Это значение является значением по умолчанию.

Указывает, что компилятор C реализует сдвиг вправо целого числа со знаком как арифметический сдвиг вправо. Арифметический сдвиг вправо заполняет бит, освобожденный сдвигом вправо со значением старшего значащего бита. Старший значащий бит указывает на знак номера.

false

Указывает, что компилятор C не реализует сдвиг вправо целого числа со знаком как арифметический сдвиг вправо.

Собственный размер слова микропроцессора для производственного оборудования, заданного как целочисленное значение от 8 до 64. Значение должно быть кратным 8.

Свойства целевого компьютера

Длина в битах типа данных char C, который целевой компьютер поддерживает, заданный как целочисленное значение от 8 до 32. Значение должно быть кратным 8.

Это свойство доступно только для чтения.

Длина в битах C удваивает тип данных, который поддерживает целевой компьютер.

Это свойство доступно только для чтения.

Длина в битах типа данных с плавающей точкой C, который поддерживает целевой компьютер.

Длина в битах типа данных int C, который целевой компьютер поддерживает, заданный как целочисленное значение от 8 до 32. Значение должно быть кратным 8.

Длина в битах типа данных long C, который целевой компьютер поддерживает, заданный как целочисленное значение от 32 до 128. Значение должно быть кратным 8.

Длина в битах типа данных long long C, который целевой компьютер поддерживает, заданный как целочисленное значение от 64 до 128. Значение должно быть кратным 8.

Используйте тип данных long long C, только если ваш компилятор C поддерживает long long.

Зависимость:

  • TargetLongLongMode включает использование свойства TargetBitPerLongLong.

Длина в битах данных об указателе, которые целевой компьютер поддерживает, заданный как целочисленное значение от 8 до 64. Значение должно быть кратным 8.

Длина в битах данных ptrdiff_t, заданных как 8, 16, 24, 32, 40, 64, или 128. Значение должно быть больше, чем или равным значению ProdBitPerInt.

Длина в битах типа данных short C, который целевой компьютер поддерживает, заданный как кратное 8, от 8 до 32.

Длина в битах данных size_t, которые целевой компьютер поддерживает, заданный как 8, 16, 24, 32, 40, 64, или 128. Значение должно быть больше, чем или равным значению ProdBitPerInt.

Значение первого байта слова данных для целевого компьютера, заданного как одно из значений в этой таблице.

ЗначениеОписание
'LittleEndian'

Это значение является значением по умолчанию.

Младший значащий байт появляется первым в порядке байтов.

'BigEndian'Старший значащий байт появляется первым в порядке байтов.
'Unspecified'Код определяет порядок байтов оборудования. Это значение производит менее эффективный код.

Производитель и тип цели (тест) аппаратная плата, заданная как вектор символов.

Определение значений наборов свойств TargetHWDeviceType для специфичных для устройства свойств для целевого компьютера. Можно изменить специфичное для устройства свойство, только если оно включено для заданного оборудования.

codegen не может сгенерировать код для ASICs или FPGAs. Если вы устанавливаете ProdHWDeviceType на 'ASIC/FPGA->ASIC/FPGA', ProdEqTarget становится false так, чтобы генератор кода использовал свойства для цели (тест) устройство. 'ASIC/FPGA->ASIC/FPGA' не является допустимым значением для TargetHWDeviceType

Округление компилятором для тестового оборудования результата деления двух целых чисел со знаком, заданных как одно из значений в этой таблице.

ЗначениеОписание
'Zero'

Это значение является значением по умолчанию.

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

'Floor'Если частное между двумя целыми числами, раундами компилятора к целому числу, которое ближе к отрицательной бесконечности.
'Undefined'Компилятор не делает вокруг к нулевой или отрицательной бесконечности, или компилятор, округляющий поведение, не определен.

Поддержка компилятора C долгого долгого типа данных, заданного как одно из значений в этой таблице.

ЗначениеОписание
true

Это значение является значением по умолчанию.

Генератор кода использует тип данных long long C в сгенерированном коде.

false

Генератор кода не использует тип данных long long C в сгенерированном коде.

Большинство компиляторов C99 поддерживает long long.

Советы:

  • TargetLongLongMode включен только если заданные производственные аппаратные поддержки тип данных long long C.

  • Если ваш компилятор не поддерживает long long C, не выбирайте этот параметр.

Зависимость:

  • TargetLongLongMode включает использование свойства TargetBitPerLongLong.

Реализация компилятором C для производственного оборудования сдвига вправо целого числа со знаком как арифметический сдвиг вправо, заданный как одно из значений в этой таблице.

ЗначениеОписание
true

Это значение является значением по умолчанию.

Указывает, что компилятор C реализует сдвиг вправо целого числа со знаком как арифметический сдвиг вправо. Арифметический сдвиг вправо заполняет бит, освобожденный сдвигом вправо со значением старшего значащего бита. Старший значащий бит указывает на знак номера.

false

Указывает, что компилятор C не реализует сдвиг вправо целого числа со знаком как арифметический сдвиг вправо.

Собственный размер слова микропроцессора для производственного оборудования, заданного как целочисленное значение от 8 до 64. Значение должно быть кратным 8.

Примеры

свернуть все

Создайте объект настройки для генерации автономного кода. Например, создайте объект настройки для генерации статической библиотеки.

cfg = coder.config('lib');

coder.config устанавливает свойство HardwareImplementation объекта настройки к объекту coder.HardwareImplementation со значениями параметров по умолчанию для хоста - компьютера MATLAB.

Чтобы задать различное аппаратное устройство и настроить специфичные для устройства свойства, установите свойство ProdHWDeviceType объекта coder.HardwareImplementation к одному из доступных устройств. Например:

cfg.HardwareImplementation.ProdHWDeviceType = 'AMD->Athlon 64'

Чтобы использовать объект coder.HardwareImplementation для генерации кода, используйте опцию -config, чтобы задать объект настройки генерации кода, сопоставленный с объектом coder.HardwareImplementation.

codegen -config cfg myFunction

Откройте диалоговое окно для объекта настройки, который относится к объекту coder.HardwareImplementation. Например:

cfg = coder.config('lib');
open('cfg');

В диалоговом окне кликните по вкладке Hardware.

Если вы установили пакет поддержки для своей аппаратной платы (требует Embedded Coder), выберите плату из опций в Hardware Board. В противном случае установите Hardware Board на None - select device below. Затем установите Device vendor и Device type.

Настройки аппаратной реализации имеют значения для заданного устройства. Чтобы видеть или изменить эти настройки, щелкните по ссылке Customize hardware implementation. Можно изменить установку, только если она включена для заданного устройства.

Советы

Чтобы установить свойство ProdHWDeviceType, выберите устройство из доступных параметров путем открытия диалогового окна для объекта настройки, который относится к объекту coder.HardwareImplementation. Смотрите доступ к Свойствам Аппаратной реализации с Диалоговым окном.

Альтернативная функциональность

  • Можно непосредственно создать объект coder.HardwareImplementation и присвоить его объекту coder.CodeConfig или объекту coder.EmbeddedCodeConfig.

    hw_cfg = coder.HardwareImplementation;
    hw_cfg.ProdHWDeviceType = 'AMD->Athlon 64';
    cfg = coder.config('lib');
    cfg.HardwareImplementation = hw_cfg;

  • Если вы устанавливаете пакет поддержки для своего оборудования, можно настроить специфичные для оборудования параметры генерации кода путем установки свойства Hardware объекта coder.EmbeddedCodeConfig к объекту coder.Hardware. Чтобы создать объект coder.Hardware, используйте coder.hardware. Например:

    cfg = coder.config('lib');
    hw = coder.hardware('Raspberry Pi');
    cfg.Hardware = hw;

Введенный в R2011a