кодер. 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).

Production Hardware Properties

Длина в битах типа данных 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'

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

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

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

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

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

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

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

ложь

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

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

Советы:

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

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

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

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

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

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

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

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

ложь

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

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

Target Hardware Properties

Длина в битах типа данных 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'

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

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

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

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

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

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

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

ложь

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

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

Советы:

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

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

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

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

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

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

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

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

ложь

Указывает, что компилятор 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), выберите плату из опций в Аппаратном Совете. В противном случае установите Аппаратный Совет на None - select device below. Затем установите поставщика Устройства и Тип устройства.

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

Советы

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

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

  • Можно непосредственно создать объект 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

Была ли эта тема полезной?