| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > [arm] Помогите разобраться с |
| Автор: OlegIT 7.7.2010, 11:30 |
| Нужно сделать проект с библиотекой ffmpeg-0.5.1 для ARM. Поставил Cyrwin. Прописал пути к компилятору arm-kgp-eabi-xxx (keil у меня ещё стоит). Сделал файл t.sh такого содержания ./configure --enable-cross-compile --cc=arm-kgp-eabi-gcc --enable-bzlib --enable-libopencore-amrwb --enable-libamr-wb Запускаю его в Cyrwin, получаю ответ arm-kgp-eabi-gcc is unable to create an executable file. C compiler test failed. If you think configure made a mistake, make sure you are using the latest version from SVN. If the latest version fails, report the problem to the ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net. Include the log file "config.err" produced by configure as this will help solving the problem. Пробовал с разными компиляторами, результат один. Что-то я тут не понимаю. Какой compiler ему(ей) нужно? Какие аргументы правильные? Честно говоря, в это теме я слаб. И ещё. У меня так и не получилось соединить Eclipse с arm-kgp. Может с CodeBlocks проще? И вообще с ARM я первый раз работаю. Помогите с первым шагом. |
| Автор: Alexeis 7.7.2010, 11:38 |
| OlegIT, WinCE? Многие компиляторы имеют bat файлы для настройки компилятора командной строки. |
| Автор: OlegIT 7.7.2010, 13:38 | ||||
Не знаю пока нужна там какая-либо ОС. Но уж точно не WinCE. В этой библиотеке есть файл INSTALL. С таким текстом
Как я понял, configure обрабатывается шелом, т.е. Cyrwin. Результат выполнения configure –help в прилагаемом файле. |
| Автор: Alexeis 7.7.2010, 13:48 |
От выбор ОС зависит выбор компилятора. Как вы себе представляете, что вам помогут выбрать правильные настройки абстрактного компилятора. Если предварительно это компилятор gcc, то следует отфутболить эту тему к линукойдам. Они лучше посоветуют как его настроить. |
| Автор: OlegIT 7.7.2010, 15:02 |
| У меня платформа ARM (512кб максимум)!!! Какая там ОС. RunTime там есть, но и только. Ни каких Win, Linux быть там не может. Примечание. В этой библиотеке есть код для ARM. |
| Автор: Alexeis 7.7.2010, 15:21 |
| OlegIT, тогда по всей видимости это микроконтроллер или сигнальный процессор. |
| Автор: OlegIT 7.7.2010, 20:05 |
| Да, именно микроконтроллер ARM, от Atmel, NXP или ещё от кого. Компиляторы или Keil или arm-kgp.. Может ещё какой бесплатный найду. Сейчас хоть на каком-нибудь разобраться что и как делать нужно. Новичок я в этих вопросах. |
| Автор: xvr 8.7.2010, 10:20 | ||
Похоже у вас gcc не работает. Запустите с командной строки cygwin'а
|
| Автор: smalcom 9.7.2010, 00:08 | ||||||||
И?
Не надо орать. ОС там может быть. В том что ты не понимаешь ни что такое ARM, ни что такое ОС никто кроме тебя не виноват.
И еще их целая куча. Keil совсем не бесплатен.
Ну так и начинать надо с начала, а не с кросскомпиляции. Как будешь заливать ffmpeg на контроллер? Как воспроизводить/конвертить? Начни с хеловорда, вобщем. |
| Автор: OlegIT 9.7.2010, 08:57 |
| arm-kgp-eabi-ld –v arm-kgp-eabi-gcc –v arm-kgp-eabi-gdb –v Выдают свои версии. Cerwin их видит. |
| Автор: xvr 9.7.2010, 09:13 | ||||
| Тогда сделайте тестовый проект и попробуйте откомпилить: Файл test.c
И запустите
Добавлено через 6 минут и 13 секунд Еще - попробуйте вместо --cc=arm-kgp-eabi-gcc в configure подать --cross-prefix=arm-kgp-eabi- |
| Автор: OlegIT 9.7.2010, 12:33 | ||||
Результат работы - бинарный файл a.out
Текст файла t.sh ./configure --cross-prefix=arm-kgp-eabi- Результат тот же. ------------------------------------ NOTE: Object files are built at the place where configure is launched. arm-kgp-eabi-gcc is unable to create an executable file. C compiler test failed. If you think configure made a mistake, make sure you are using the latest version from SVN. If the latest version fails, report the problem to the ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net. Include the log file "config.err" produced by configure as this will help solving the problem. В приложении config.err |
| Автор: xvr 9.7.2010, 23:20 | ||
Судя по config.err оно не смогло создать файл в /tmp. Попробуйте из bash'а набрать
Добавлено через 1 минуту и 24 секунды Еще наберите mount, и напишите, что он сказал |
| Автор: OlegIT 12.7.2010, 10:26 |
| $ ./configure At the moment vhooks don't work on Cygwin or MinGW static builds. Patches welcome. install prefix /usr/local source path /cygdrive/d/R/TMP/ffmpeg-0.5.1 C compiler gcc ……………………………………… В процессе работы ./configure директория C:\cygwin\tmp\ имеет такое содержание ffmpeg-conf-28359-1988-27975.c ffmpeg-conf-30268-1988-12622.exe ffmpeg-conf-21405-1988-17404.o ffmpeg-conf-30958-1988-8388.S ffmpeg-conf-15071-1988-29647.ver Содержание файла ffmpeg-conf-28359-1988-27975.c void foo(void){ __asm__ volatile(".align 3"); } Содержание файла ffmpeg-conf-30958-1988-8388.S pabsw xmm0, xmm0 Содержание файла ffmpeg-conf-15071-1988-29647.ver X{}; После того как обработка закончилась в директории C:\cygwin\tmp\ остался только один файл ffmpeg-conf-15071-1988-29647.ver ///////////////////////// $ echo Test >/tmp/test.txt Oleg_IT@olegit /cygdrive/d/R/TMP/ffmpeg-0.5.1 $ ls -l /tmp total 4 -rw-r--r-- 1 Oleg_IT Отсутствует 5 2010-07-12 11:03 ffmpeg-conf-11184-3932-5519. ver -rw-r--r-- 1 Oleg_IT Отсутствует 5 2010-07-12 10:56 ffmpeg-conf-14341-3488-24268 .ver -rw-r--r-- 1 Oleg_IT Отсутствует 5 2010-07-12 10:58 ffmpeg-conf-23177-2848-30009 .ver -rw-r--r-- 1 Oleg_IT Отсутствует 5 2010-07-12 11:08 test.txt Oleg_IT@olegit /cygdrive/d/R/TMP/ffmpeg-0.5.1 $ cat /tmp/test.txt Test ///////////////////////// $ mount C:/cygwin/bin on /usr/bin type ntfs (binary,auto) C:/cygwin/lib on /usr/lib type ntfs (binary,auto) C:/cygwin on / type ntfs (binary,auto) C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto) D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto) F: on /cygdrive/f type vfat (binary,posix=0,user,noumount,auto) G: on /cygdrive/g type vfat (binary,posix=0,user,noumount,auto) |
| Автор: xvr 12.7.2010, 18:31 |
| У вас проблема с несоответствием путей в cygwin'е и самом arm-kgp-eabi-gcc. У cygwin'а свое дерево (которое строится через его mount), а arm-kgp-eabi-gcc использует родные пути Windows Вам нужно их свести В корне диска, откуда вы запускаете configure (например D) сделайте папку \tmp а в cygwin'е сделайте mount \tmp D:/tmp |
| Автор: OlegIT 11.3.2011, 16:11 |
| Возобновил работу над темой Работаю с ARM в Keil При запуске конфигуратора даёт ошибку Must specify target arch and OS when cross-compiling Командная строка конфигуратора ./configure --arch=arm --cpu=am1808 --cc=C:\Keil\UV4\Uv4.exe --enable-cross-compile Архитектуру я задал, а с OS очень бы не хотелось связываться. Как всё-таки правильно сконфигурить библиотеку? Хорошо бы иметь только Сишный код, не привязанный к конкретной архитектуре. |