Аппаратные параметры конфигурации для генерации кода C/C + + из кода MATLAB
A coder.HardwareImplementation
объект содержит аппаратно-специфические параметры конфигурации, которые codegen
использует для генерации статической библиотеки, динамически связанной библиотеки или исполняемой программы.
Как использовать coder.HardwareImplementation
объект, вы должны связать его с объектом строения (a coder.CodeConfig
объект или coder.EmbeddedCodeConfig
объект), который вы передаете в codegen
. Как создать coder.HardwareImplementation
объект и связать его с объектом строения, создать объект строения при помощи coder.config
.
Доступ к coder.HardwareImplementation
свойства одним из следующих способов:
The HardwareImplementation
свойство связанного объекта строения. Для примера:
cfg = coder.config('lib');
cfg.HardwareImplementation.ProdHWDeviceType
Диалоговое окно для связанного объекта строения. См. раздел Свойства аппаратной реализации доступа с помощью диалогового окна.
По умолчанию, coder.HardwareImplementation
свойства определяют характеристики MATLAB® Хост-компьютер. Чтобы задать другое устройство, измените ProdHWDeviceType
свойство. Аппаратное устройство определяет значения других свойств конкретного устройства и свойства, которые можно изменить.
Как создать coder.HardwareImplementation
объект, использование coder.config
чтобы создать объект строения (a coder.CodeConfig
объект или coder.EmbeddedCodeConfig
объект) для генерации автономного кода. Когда coder.config
создает объект строения, также создает coder.HardwareImplementation
объект. coder.config
устанавливает HardwareImplementation
свойство объекта строения к coder.HardwareImplementation
объект.
Description
- Описание объекта'class HardwareImplementation: Hardware implementation specifications.'
(по умолчанию) | вектор символовОписание coder.HardwareImplementation
объект, заданный как вектор символов.
Name
- Имя объекта'HardwareImplementation'
(по умолчанию) | вектор символовИмя объекта, заданное как вектор символов.
ProdEqTarget
- Эквивалентность производственных и целевых компьютеровtrue
(по умолчанию) | false
Эквивалентность производственных и целевых (тестовых) аппаратных характеристик, заданная как 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).
ProdBitPerChar
- Длина в битах C char
тип данных Длина в битах типа данных C char, которую аппаратные поддержки производство, заданная в виде целого числа, значения от 8 до 32. Значение должно быть кратным 8.
ProdBitPerDouble
- Длина в битах C double
тип данныхЭто свойство доступно только для чтения.
Длина в битах типа данных С double, который аппаратные поддержки производство.
ProdBitPerFloat
- Длина в битах типа данных с плавающей точкой C Это свойство доступно только для чтения.
Длина в битах типа данных с плавающей точкой C, который аппаратные поддержки производство.
ProdBitPerInt
- Длина в битах C int
тип данных Длина в битах C int
тип данных, который аппаратные поддержки в качестве целого числа, значение от 8 до 32. Значение должно быть кратным 8.
ProdBitPerLong
- Длина в битах C long
тип данных Длина в битах C long
тип данных, который производственные аппаратные поддержки, заданный как целое число значения от 32 до 128. Значение должно быть кратным 8.
ProdBitPerLongLong
- Длина в битах C long long
тип данных Длина в битах C long long
тип данных, который производственные аппаратные поддержки, заданный как целое число значения от 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
- Длина в битах C short
тип данных Длина в битах C short
тип данных, который производственные аппаратные поддержки, кратный 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
невозможно сгенерировать код для ASIC или FPGA. Если вы задаете ProdHWDeviceType
на 'ASIC/FPGA->ASIC/FPGA'
, ProdEqTarget
становится false
чтобы генератор кода использовал свойства для целевого (тестового) устройства. 'ASIC/FPGA->ASIC/FPGA'
не является допустимым значением для TargetHWDeviceType
.
ProdIntDivRoundTo
- округление для деления двух знаковых целых чисел'Zero'
(по умолчанию) | 'Undefined'
| 'Floor'
Округление компилятором для производственного оборудования результата деления двух знаковых целых чисел, заданное как одно из значений в этой таблице.
Значение | Описание |
---|---|
'Zero' |
Это значение является значением по умолчанию. Если частное находится между двумя целыми числами, компилятор округлится до целого числа, которое ближе к нулю. |
'Floor' | Если частное находится между двумя целыми числами, компилятор округлится до целого числа, которое ближе к отрицательной бесконечности. |
'Undefined' | Компилятор не округлится к нулю или отрицательной бесконечности, или поведение округления компилятора не определено. |
ProdLongLongMode
- Поддержка длинного типа данныхtrue
(по умолчанию) | false
Компилятор C поддерживает длинный длинный тип данных, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Генератор кода использует |
false |
Генератор кода не использует |
Большинство C99 компиляторов поддерживает long long
.
Совет:
ProdLongLongMode
включено только, если указанное производственное оборудование поддерживает long long
C тип данных.
Если ваш компилятор не поддерживает C long long
, не выбирайте этот параметр.
Зависимости:
ProdLongLongMode
позволяет использовать ProdBitPerLongLong
свойство.
ProdShiftRightIntArith
- Реализация целочисленного сдвига вправо со знаком как арифметического сдвига вправоРеализация компилятором C производственного оборудования знакового целочисленного правого сдвига как арифметического правого сдвига, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Указывает, что компилятор C реализует правый сдвиг целого числа со знаком как арифметический правый сдвиг. Арифметический сдвиг вправо заполняет бит, освобожденный правым сдвигом, значением самого значимого бита. Самый значительный бит указывает на знак числа. |
false |
Указывает, что компилятор C не реализует правый сдвиг целого числа со знаком как арифметический правый сдвиг. |
ProdWordSize
- Размер собственного слова микропроцессораРазмер собственного слова микропроцессора для производственного оборудования, заданный в виде целого значения от 8 до 64. Значение должно быть кратным 8.
TargetBitPerChar
- Длина в битах C char
тип данных Длина в битах типа данных C char, который поддерживает целевой компьютер, заданная в виде целого значения от 8 до 32. Значение должно быть кратным 8.
TargetBitPerDouble
- Длина в битах C double
тип данныхЭто свойство доступно только для чтения.
Длина в битах типа данных С double, поддерживаемого целевым компьютером.
TargetBitPerFloat
- Длина в битах типа данных с плавающей точкой C Это свойство доступно только для чтения.
Длина в битах типа данных с плавающей точкой C, поддерживаемого целевым компьютером.
TargetBitPerInt
- Длина в битах C int
тип данных Длина в битах C int
тип данных, поддерживаемый целевым компьютером, задается в виде целого значения от 8 до 32. Значение должно быть кратным 8.
TargetBitPerLong
- Длина в битах C long
тип данных Длина в битах C long
тип данных, который поддерживает целевой компьютер, заданный в виде целого значения от 32 до 128. Значение должно быть кратным 8.
TargetBitPerLongLong
- Длина в битах C long long
тип данных Длина в битах C long long
тип данных, который поддерживает целевой компьютер, заданный в виде целого значения от 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
- Длина в битах C short
тип данных Длина в битах C short
тип данных, поддерживаемый целевым компьютером и кратный 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
невозможно сгенерировать код для ASIC или FPGA. Если вы задаете ProdHWDeviceType
на 'ASIC/FPGA->ASIC/FPGA'
, ProdEqTarget
становится false
чтобы генератор кода использовал свойства для целевого (тестового) устройства. 'ASIC/FPGA->ASIC/FPGA'
не является допустимым значением для TargetHWDeviceType
TargetIntDivRoundTo
- округление для деления двух знаковых целых чисел'Zero'
(по умолчанию) | 'Undefined'
| 'Floor'
Округление компилятором для тестового оборудования результата деления двух знаковых целых чисел, заданное как одно из значений в этой таблице.
Значение | Описание |
---|---|
'Zero' |
Это значение является значением по умолчанию. Если частное находится между двумя целыми числами, компилятор округлится до целого числа, которое ближе к нулю. |
'Floor' | Если частное находится между двумя целыми числами, компилятор округлится до целого числа, которое ближе к отрицательной бесконечности. |
'Undefined' | Компилятор не округлится к нулю или отрицательной бесконечности, или поведение округления компилятора не определено. |
TargetLongLongMode
- Поддержка длинного типа данныхtrue
(по умолчанию) | false
Компилятор C поддерживает длинный длинный тип данных, заданный как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Генератор кода использует |
false |
Генератор кода не использует |
Большинство C99 компиляторов поддерживает long long
.
Совет:
TargetLongLongMode
включено только, если указанное производственное оборудование поддерживает long long
C тип данных.
Если ваш компилятор не поддерживает C long long
, не выбирайте этот параметр.
Зависимости:
TargetLongLongMode
позволяет использовать TargetBitPerLongLong
свойство.
TargetShiftRightIntArith
- Реализация целочисленного сдвига вправо со знаком как арифметического сдвига вправоРеализация компилятором C производственного оборудования знакового целочисленного правого сдвига как арифметического правого сдвига, заданная как одно из значений в этой таблице.
Значение | Описание |
---|---|
true |
Это значение является значением по умолчанию. Указывает, что компилятор C реализует правый сдвиг целого числа со знаком как арифметический правый сдвиг. Арифметический сдвиг вправо заполняет бит, освобожденный правым сдвигом, значением самого значимого бита. Самый значительный бит указывает на знак числа. |
false |
Указывает, что компилятор 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), выберите плату из опций 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;
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.