exponenta event banner

кодер. HardwareImplementation

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

Описание

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

Использование coder.HardwareImplementation объект, его необходимо связать с объектом конфигурации (a coder.CodeConfig объект или coder.EmbeddedCodeConfig объект), который вы передаете codegen. Создание coder.HardwareImplementation и связать его с объектом конфигурации, создать объект конфигурации с помощью coder.config.

Доступ coder.HardwareImplementation свойства одним из следующих способов:

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

Создание

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

Свойства

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

Описание coder.HardwareImplementation объект, указанный как символьный вектор.

Имя объекта, указанное как символьный вектор.

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

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

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

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

Свойства производственного оборудования

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

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

Длина в битах двойного типа данных C, поддерживаемого производственным оборудованием.

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

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

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

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

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

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

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

  • ProdLongLongMode позволяет использовать ProdBitPerLongLong собственность.

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

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

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

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

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

СтоимостьОписание
'LittleEndian'

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

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

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

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

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

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

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

СтоимостьОписание
'Zero'

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

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

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

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

СтоимостьОписание
true

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

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

false

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

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

Совет:

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

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

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

  • ProdLongLongMode позволяет использовать ProdBitPerLongLong собственность.

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

СтоимостьОписание
true

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

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

false

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

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

Свойства целевого оборудования

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

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

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

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

Длина в битах типа данных C с плавающей запятой, поддерживаемого целевым оборудованием.

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

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

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

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

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

  • TargetLongLongMode позволяет использовать TargetBitPerLongLong собственность.

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

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

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

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

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

СтоимостьОписание
'LittleEndian'

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

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

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

Изготовитель и тип целевой (тестовой) аппаратной платы, указанный как символьный вектор.

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

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

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

СтоимостьОписание
'Zero'

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

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

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

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

СтоимостьОписание
true

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

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

false

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

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

Совет:

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

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

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

  • TargetLongLongMode позволяет использовать TargetBitPerLongLong собственность.

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

СтоимостьОписание
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');

В диалоговом окне перейдите на вкладку Оборудование.

Если для вашей аппаратной платы установлен пакет поддержки (требуется Embedded Coder), выберите плату из списка параметров в разделе «Аппаратная плата». В противном случае установите для платы аппаратных средств значение None - select device below. Затем задайте Поставщик устройства и Тип устройства.

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

Диалоговое окно объекта конфигурации не поддерживается в MATLAB Online™.

Совет

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

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

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