Специфичные для аппаратных средств параметры конфигурации для генерации кода C/C++ из кода MATLAB
Объект coder.HardwareImplementation
содержит специфичные для аппаратных средств параметры конфигурации, которые codegen
использует для генерации статической библиотеки, динамически подключаемой библиотеки или исполняемой программы.
Чтобы использовать объект coder.HardwareImplementation
, необходимо сопоставить его с объектом настройки (объект coder.CodeConfig
или объект coder.EmbeddedCodeConfig
), что вы передаете codegen
. Чтобы создать объект coder.HardwareImplementation
и сопоставить его с объектом настройки, создайте объект настройки при помощи coder.config
.
Свойства Access coder.HardwareImplementation
одним из этих способов:
Свойство HardwareImplementation
связанного объекта настройки. Например:
cfg = coder.config('lib');
cfg.HardwareImplementation.ProdHWDeviceType
Диалоговое окно для связанного объекта настройки. Смотрите Access Hardware Implementation Properties с Диалоговым окном.
По умолчанию свойства coder.HardwareImplementation
задают характеристики хоста - компьютера MATLAB®. Чтобы задать различное устройство, измените свойство ProdHWDeviceType
. Аппаратное устройство определяет значения других специфичных для устройства свойств и свойств, которые можно изменить.
Чтобы создать объект coder.HardwareImplementation
, используйте coder.config
, чтобы создать объект настройки (объект coder.CodeConfig
или объект coder.EmbeddedCodeConfig
) для генерации автономного кода. Когда coder.config
создает объект настройки, он также создает объект coder.HardwareImplementation
. coder.config
устанавливает свойство HardwareImplementation
объекта настройки к объекту coder.HardwareImplementation
.
Описание
Описание объекта'class HardwareImplementation: Hardware implementation specifications.'
(значение по умолчанию) | вектор символаОписание объекта coder.HardwareImplementation
, заданного как вектор символа.
Имя
Имя объекта'HardwareImplementation'
(значение по умолчанию) | вектор символаИмя объекта, заданное как вектор символа.
ProdEqTarget
— Эквивалентность производства и характеристик целевого компьютераtrue
(значение по умолчанию) | false
Эквивалентность производства и цели (тест) характеристики оборудования, заданные как 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).
ProdBitPerChar
— Длина в битах типа данных char
C Длина в битах типа данных char C, что производственные аппаратные поддержки, заданные как целочисленное значение от 8 до 32. Значение должно быть кратным 8.
ProdBitPerDouble
— Длина в битах типа данных double
CЭто свойство доступно только для чтения.
Длина в битах C удваивает тип данных что производственные аппаратные поддержки.
ProdBitPerFloat
— Длина в битах типа данных с плавающей точкой C Это свойство доступно только для чтения.
Длина в битах типа данных с плавающей точкой C, что производственные аппаратные поддержки.
ProdBitPerInt
— Длина в битах типа данных int
C Длина в битах типа данных int
C, что производственные аппаратные поддержки, заданные как целочисленное значение от 8 до 32. Значение должно быть кратным 8.
ProdBitPerLong
— Длина в битах типа данных long
C Длина в битах типа данных long
C, что производственные аппаратные поддержки, заданные как целочисленное значение от 32 до 128. Значение должно быть кратным 8.
ProdBitPerLongLong
— Длина в битах типа данных long long
C Длина в битах типа данных long long
C, что производственные аппаратные поддержки, заданные как целочисленное значение от 64 до 128. Значение должно быть кратным 8.
Используйте тип данных long long
C, только если ваш компилятор C поддерживает long long
.
Зависимость:
ProdLongLongMode
включает использование свойства ProdBitPerLongLong
.
ProdBitPerPointer
— Длина в битах данных указателяДлина в битах данных указателя, что производственные аппаратные поддержки, заданные как целочисленное значение от 8 до 64. Значение должно быть кратным 8.
ProdBitPerPtrDiffT
— Длина в битах данных ptrdiff_t
Длина в битах данных ptrdiff_t
, что производственные аппаратные поддержки, заданные как 8, 16, 24, 32, 40, 64, или 128. Значение должно быть больше, чем или равным значению ProdBitPerInt
.
ProdBitPerShort
— Длина в битах типа данных short
C Длина в битах типа данных short
C, что производственные аппаратные поддержки, заданные как кратное 8, от 8 до 32.
ProdBitPerSizeT
— Длина в битах данных size_t
Длина в битах данных size_t
, что производственные аппаратные поддержки, заданные как 8, 16, 24, 32, 40, 64, или 128. Значение должно быть больше, чем или равным значению ProdBitPerInt
.
ProdEndianess
— Значение первого байта слова данных 'LittleEndian'
(значение по умолчанию) | 'BigEndian'
| 'Unspecified'
Значение первого байта слова данных для производственных аппаратных средств, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
'LittleEndian' |
Это значение является значением по умолчанию. Младший значащий байт появляется первым в порядке байтов. |
'BigEndian' | Старший значащий байт появляется первым в порядке байтов. |
'Unspecified' | Код определяет порядок байтов аппаратных средств. Это значение производит менее эффективный код. |
ProdHWDeviceType
— Производитель и тип производственной аппаратной платы'Generic->MATLAB Host Computer'
(значение по умолчанию) | вектор символаПроизводитель и тип производственной аппаратной платы, заданной как вектор символа.
Определение наборов свойств ProdHWDeviceType
специфичные для устройства свойства для производственных аппаратных средств. Можно изменить специфичное для устройства свойство, только если оно включено для заданных аппаратных средств.
codegen
не может сгенерировать код для ASICs или FPGAs. Если вы устанавливаете ProdHWDeviceType
на 'ASIC/FPGA->ASIC/FPGA'
, ProdEqTarget
становится false
так, чтобы генератор кода использовал свойства для цели (тест) устройство. 'ASIC/FPGA->ASIC/FPGA'
не является допустимым значением для TargetHWDeviceType
.
ProdIntDivRoundTo
— Округление для деления двух целых чисел со знаком'Zero'
(значение по умолчанию) | 'Undefined'
| 'Floor'
Округление компилятором для производственных аппаратных средств результата деления двух целых чисел со знаком, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
'Zero' |
Это значение является значением по умолчанию. Если частное между двумя целыми числами, раундами компилятора к целому числу, которое ближе к нулю. |
пол | Если частное между двумя целыми числами, раундами компилятора к целому числу, которое ближе к отрицательной бесконечности. |
'Undefined' | Компилятор не делает вокруг к нулевой или отрицательной бесконечности, или компилятор, округляющий поведение, не определен. |
ProdLongLongMode
— Долго долгая поддержка типов данныхtrue
(значение по умолчанию) | false
Поддержка компилятора C долгого долгого типа данных, заданного как одно из значений в этой таблице.
Значение | Описание |
---|---|
tRUE |
Это значение является значением по умолчанию. Генератор кода использует тип данных |
ложь |
Генератор кода не использует тип данных |
Большинство компиляторов C99 поддерживает long long
.
Советы:
ProdLongLongMode
включен только если заданные производственные аппаратные поддержки тип данных long long
C.
Если ваш компилятор не поддерживает long long
C, не выбирайте этот параметр.
Зависимость:
ProdLongLongMode
включает использование свойства ProdBitPerLongLong
.
ProdShiftRightIntArith
— Реализация сдвига вправо целого числа со знаком как арифметический сдвиг вправоРеализация компилятором C для производственных аппаратных средств сдвига вправо целого числа со знаком как арифметический сдвиг вправо, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
tRUE |
Это значение является значением по умолчанию. Указывает, что компилятор C реализует сдвиг вправо целого числа со знаком как арифметический сдвиг вправо. Арифметический сдвиг вправо заполняет бит, освобожденный сдвигом вправо со значением старшего значащего бита. Старший значащий бит указывает на знак номера. |
ложь |
Указывает, что компилятор C не реализует сдвиг вправо целого числа со знаком как арифметический сдвиг вправо. |
ProdWordSize
— Собственный размер слова микропроцессораСобственный размер слова микропроцессора для производственных аппаратных средств, заданных как целочисленное значение от 8 до 64. Значение должно быть кратным 8.
TargetBitPerChar
— Длина в битах типа данных char
C Длина в битах типа данных char C, который целевой компьютер поддерживает, заданный как целочисленное значение от 8 до 32. Значение должно быть кратным 8.
TargetBitPerDouble
— Длина в битах типа данных double
CЭто свойство доступно только для чтения.
Длина в битах C удваивает тип данных, который поддерживает целевой компьютер.
TargetBitPerFloat
— Длина в битах типа данных с плавающей точкой C Это свойство доступно только для чтения.
Длина в битах типа данных с плавающей точкой C, который поддерживает целевой компьютер.
TargetBitPerInt
— Длина в битах типа данных int
C Длина в битах типа данных int
C, который целевой компьютер поддерживает, заданный как целочисленное значение от 8 до 32. Значение должно быть кратным 8.
TargetBitPerLong
— Длина в битах типа данных long
C Длина в битах типа данных long
C, который целевой компьютер поддерживает, заданный как целочисленное значение от 32 до 128. Значение должно быть кратным 8.
TargetBitPerLongLong
— Длина в битах типа данных long long
C Длина в битах типа данных long long
C, который целевой компьютер поддерживает, заданный как целочисленное значение от 64 до 128. Значение должно быть кратным 8.
Используйте тип данных long long
C, только если ваш компилятор C поддерживает long long
.
Зависимость:
TargetLongLongMode
включает использование свойства TargetBitPerLongLong
.
TargetBitPerPointer
— Длина в битах данных указателяДлина в битах данных указателя, которые целевой компьютер поддерживает, заданный как целочисленное значение от 8 до 64. Значение должно быть кратным 8.
TargetBitPerPtrDiffT
— Длина в битах данных ptrdiff_t
Длина в битах данных ptrdiff_t
, заданных как 8, 16, 24, 32, 40, 64, или 128. Значение должно быть больше, чем или равным значению ProdBitPerInt
.
TargetBitPerShort
— Длина в битах типа данных short
C Длина в битах типа данных short
C, который целевой компьютер поддерживает, заданный как кратное 8, от 8 до 32.
TargetBitPerSizeT
— Длина в битах данных size_t
Длина в битах данных size_t
, которые целевой компьютер поддерживает, заданный как 8, 16, 24, 32, 40, 64, или 128. Значение должно быть больше, чем или равным значению ProdBitPerInt
.
TargetEndianess
— Значение первого байта слова данных'LittleEndian'
(значение по умолчанию) | 'BigEndian'
| 'Unspecified'
Значение первого байта слова данных для целевого компьютера, заданного как одно из значений в этой таблице.
Значение | Описание |
---|---|
'LittleEndian' |
Это значение является значением по умолчанию. Младший значащий байт появляется первым в порядке байтов. |
'BigEndian' | Старший значащий байт появляется первым в порядке байтов. |
'Unspecified' | Код определяет порядок байтов аппаратных средств. Это значение производит менее эффективный код. |
TargetHWDeviceType:
— Производитель и тип цели (тест) аппаратная плата 'Generic->MATLAB Host Computer'
(значение по умолчанию) | вектор символаПроизводитель и тип цели (тест) аппаратная плата, заданная как вектор символа.
Определение значений наборов свойств TargetHWDeviceType
для специфичных для устройства свойств для целевого компьютера. Можно изменить специфичное для устройства свойство, только если оно включено для заданных аппаратных средств.
codegen
не может сгенерировать код для ASICs или FPGAs. Если вы устанавливаете ProdHWDeviceType
на 'ASIC/FPGA->ASIC/FPGA'
, ProdEqTarget
становится false
так, чтобы генератор кода использовал свойства для цели (тест) устройство. 'ASIC/FPGA->ASIC/FPGA'
не является допустимым значением для TargetHWDeviceType
TargetIntDivRoundTo
— Округление для деления двух целых чисел со знаком'Zero'
(значение по умолчанию) | 'Undefined'
| 'Floor'
Округление компилятором для тестовых аппаратных средств результата деления двух целых чисел со знаком, заданных как одно из значений в этой таблице.
Значение | Описание |
---|---|
'Zero' |
Это значение является значением по умолчанию. Если частное между двумя целыми числами, раундами компилятора к целому числу, которое ближе к нулю. |
пол | Если частное между двумя целыми числами, раундами компилятора к целому числу, которое ближе к отрицательной бесконечности. |
'Undefined' | Компилятор не делает вокруг к нулевой или отрицательной бесконечности, или компилятор, округляющий поведение, не определен. |
TargetLongLongMode
— Долго долгая поддержка типов данныхtrue
(значение по умолчанию) | false
Поддержка компилятора C долгого долгого типа данных, заданного как одно из значений в этой таблице.
Значение | Описание |
---|---|
tRUE |
Это значение является значением по умолчанию. Генератор кода использует тип данных |
ложь |
Генератор кода не использует тип данных |
Большинство компиляторов C99 поддерживает long long
.
Советы:
TargetLongLongMode
включен только если заданные производственные аппаратные поддержки тип данных long long
C.
Если ваш компилятор не поддерживает long long
C, не выбирайте этот параметр.
Зависимость:
TargetLongLongMode
включает использование свойства TargetBitPerLongLong
.
TargetShiftRightIntArith
— Реализация сдвига вправо целого числа со знаком как арифметический сдвиг вправоРеализация компилятором C для производственных аппаратных средств сдвига вправо целого числа со знаком как арифметический сдвиг вправо, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
tRUE |
Это значение является значением по умолчанию. Указывает, что компилятор C реализует сдвиг вправо целого числа со знаком как арифметический сдвиг вправо. Арифметический сдвиг вправо заполняет бит, освобожденный сдвигом вправо со значением старшего значащего бита. Старший значащий бит указывает на знак номера. |
ложь |
Указывает, что компилятор C не реализует сдвиг вправо целого числа со знаком как арифметический сдвиг вправо. |
TargetWordSize
— Собственный размер слова микропроцессораСобственный размер слова микропроцессора для производственных аппаратных средств, заданных как целочисленное значение от 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;
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.