реклама на сайте
подробности

 
 
> Вопрос по GCC для ARM926EJ-S
dragigrja
сообщение Jan 13 2009, 10:27
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 17-03-08
Из: Москва
Пользователь №: 35 969



Здравствуйте.

Какое значение опции -mfpu GCC должно использоваться для полностью аппаратной (и максимально эффективной, без оглядки на совместимость) плавающей точки в ядре ARM926EJ-S?
Что нужно собрать для компиляции кроме gcc и binutils? Поскольку проект использует printf() и проч. нужна ли uClibc?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Jan 14 2009, 07:31
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Во-первых - нафига собирать старый 4.1.2 ? Во-вторых там же на gnuarm английским по белому все написано. Берем тупо последний 4.2.3 и по шажочкам :

1. ../binutils-2.x.x.x.x/configure --prefix=/usr --target=arm-elf
--disable-nls --enable-interwork --enable-multilib
2. uz newlib-*
3. cp t-arm-elf gcc-4.3.2/gcc/config/arm/
4. cd gcc-build
../gcc-4.3.2/configure --target=arm-elf --prefix=/usr --enable-interwork
--enable-multilib --with-float=soft --enable-languages="c,c++"
--with-newlib --with-headers=[newlib-source]/newlib/libc/include
make all-gcc install-gcc
5. [newlib-source]/configure --target=arm-elf --prefix=/usr
--enable-interwork --enable-multilib --with-float=soft
make all install
6. cd [gcc-build]
make all install
7. cd [gdb-build]
[gdb-source]/configure --target=arm-elf --prefix=/usr
--enable-interwork --enable-multilib --with-float=soft
make all install
Go to the top of the page
 
+Quote Post
dragigrja
сообщение Jan 15 2009, 10:38
Сообщение #3





Группа: Новичок
Сообщений: 9
Регистрация: 17-03-08
Из: Москва
Пользователь №: 35 969



Harbour:
Цитата
Во-первых - нафига собирать старый 4.1.2 ?
Я взял его с сайта gnuarm, подумав, что он наиболее подходящ, коль они его используют для раздачи страждущим. При прежних параметрах для configure и заменённым t-arm-elf у gcc-4.2.3 ошибка прежняя:
Код
../.././gcc/crtstuff.c:1: sorry, unimplemented: -mfloat-abi=hard and VFP

Цитата
Во-вторых там же на gnuarm английским по белому все написано. Берем тупо последний 4.2.3 и по шажочкам :
1. <...>
2. <...>
3. <...>
Сделано. К четвёртому пункту есть вопрос.

Цитата
4. cd gcc-build
../gcc-4.3.2/configure --target=arm-elf --prefix=/usr --enable-interwork
--enable-multilib --with-float=soft --enable-languages="c,c++"
--with-newlib --with-headers=newlib-source/newlib/libc/include
make all-gcc install-gcc
Согласно User Manual LPC32x0 имеет векторный сопроцессор для работы с ПЗ (VFP), который мне хотелось бы использовать в генерируемом тулчейном коде. Если configure указать --with-float=soft, то, как я понимаю, gcc будет эмулировать ПЗ? Мне хотелось бы иметь полностью аппаратную точку.

amw:
Цитата
Опции то есть, а вот есть ли FPU в железе?
Да, есть. Выше есть ссылка на описание серии µC.

Цитата
Вероятно Вам потребуется libfloat для Вашего конкретного процессора. Обычно они предоставляются производителем. По крайней мере с Интеловским IXP425 у меня именно так и было.
А разве libfloat используется не для программной эмуляции FPU для конкретной архитектуры или ядра? Мне хотелось бы иметь именно аппаратную точку.

Цитата
Вроятно да. Не знаю точно, что там именно раскоментировано, но GCC не знает, в Вашем случае, какой FPU использовать для hard-float. Вот в настройках MULTILIB они и задаются.
Спасибо, попробую собрать с ним.

gosha:
Цитата
--with-float=softfp --with-fpu=vfp

Собирается?

Возможно, но согласно с мануалом к gcc:
Цитата
-mfp=number
This specifies what floating point hardware (or hardware emulation) is available on the target. Permissible names are: `fpa', `fpe2', `fpe3', `maverick', `vfp'. -mfp and -mfpe are synonyms for -mfpu=`fpe'number, for compatibility with older versions of GCC.

If -msoft-float is specified this specifies the format of floating point values.
при --with-float=softpfp и --with-fpu=vfp точка останется эмулируемой, но при этом будет хранится в формате VFP. Мне бы хотелось иметь аппаратную точку.

Благодарю за ответы.

Сообщение отредактировал dragigrja - Jan 15 2009, 10:55
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 16:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016