Компиляция для Powerpc с использованием gcc

При компиляции для PowerPC (MPC5643L) с помощью GCC он не распознает инструкции powerISA 2.03. Как я могу преодолеть это? Точнее, в основном это инструкции по сборке в формате e_. ghs и виндривер, однако, таких проблем не показывают.

Я знаю, что семейство mpc56xx не поддерживается GCC, но в других поддерживаемых целях поддерживается powerISA 2.03.


person risaldar    schedule 21.08.2013    source источник
comment
Может помочь, если вы укажете, где вы взяли компилятор GCC и/или как вы его настроили. Последнее, что я проверял, компиляторы Wind River — это просто модифицированный GCC.   -  person ams    schedule 21.08.2013
comment
он использует различные переключатели и форматы и имеет встроенную поддержку семейства mpc56xx. gcc из исходного кода - нет. мне нужно знать, могу ли я каким-то образом скомпилировать с ядрами, совместимыми с e500 или ppower2.03.   -  person risaldar    schedule 21.08.2013


Ответы (2)


Инструкции e_ и se_ являются инструкциями VLE (кодирование переменной длины). e_ — 32-битные, а se_ — 16-битные. Их следует использовать только при включенном режиме VLE. Обратите внимание, что большинство (если не все) инструкций e_ имеют эквивалентные классические инструкции PowerPC.

Итак, реальный вопрос: намерены ли вы использовать VLE? Если нет, вернитесь к классическим инструкциям. Если да, то я думаю, что у вас проблема, поскольку, насколько мне известно, gcc/gas НЕ поддерживает VLE. Я знаю, что CodeSourcery находится в процессе его реализации, но у них возникли проблемы с фиксацией изменений для сообщества. Однако я не знаю текущего состояния поддержки VLE в gcc.

person Etienne    schedule 06.11.2013

Что это за инструкции? Приветствуются примеры. Я полагаю, что это инструкции SPE (Signal Processing Engine). Я никогда не работал с этим, но в GCC есть опция -mspe, позволяющая генерировать эти инструкции. Вы можете прочитать дополнительную информацию по адресу: http://gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html

Существует также -mabi=spe для «расширения текущего ABI с определенным расширением». Я не знаю значение по умолчанию и требуется ли оно в вашем случае.

person amigadev    schedule 26.08.2013
comment
это крутые инструкции - person risaldar; 11.09.2013