coder.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® Выполнение процессора в цикле (PIL), программное обеспечение проверяет свойства аппаратной реализации со ссылкой на целевой компьютер, на котором выполняется выполнение PIL. Если ProdEqTarget является trueпрограммное обеспечение проверяет производственные свойства (свойства, которые начинаются с Prod). Если ProdEqTarget является false, программное обеспечение проверяет целевые свойства (свойства, которые начинаются с Target). Смотрите раздел Верификации кода Через программное обеспечение-в Цикл и Процессор-в Цикла Выполнения (Embedded Coder).

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

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

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

Длина в битах типа данных С double, который аппаратные поддержки производство.

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

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

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

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

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

Используйте long long C тип данных только в том случае, если компилятор 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

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

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

false

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

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

Совет:

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

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

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

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

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

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

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

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

false

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

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

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

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

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

Длина в битах типа данных С double, поддерживаемого целевым компьютером.

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

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

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

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

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

Используйте long long C тип данных только в том случае, если компилятор 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

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

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

false

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

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

Совет:

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

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

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

  • 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 ссылку. Изменить параметр можно только в том случае, если он включен для указанного устройства.

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

Совет

Чтобы задать 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