Компилятор для MIPS архитектуры

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Компилятор для MIPS архитектуры

Сообщение Tronix » 24.03.2010 13:28:46

Привет,
Не подскажите, существует ли FPC кросс-компилятор для MIPS-архитектуры? В частности интересует программирование процессоров на подобии Broadcom BCM94704 (роутеры серии asus Wl500gP), Infineon PSB7200 (бывш TNEDT7200A) - adsl модемы...

В sourceforge нашел вроде как порт FPC для MIPS, но он соответственно и запускается только на живом MIPS или через QEMU. На самом роутере или модеме девелопить я считаю совсем уж не гигиенично, насчет QEMU пока не пробовал... Высшем же благом было-бы использовать кросс-компилятор Win -> MIPS. Подскажите, может быть существует такое?
Пробовал на абум собрать MIPS версию виндовым FPC, но сыплет ессно ошибками.

Заранее спасибо..
Tronix
новенький
 
Сообщения: 12
Зарегистрирован: 27.03.2009 19:04:33

Re: Компилятор для MIPS архитектуры

Сообщение Mr.Smart » 24.03.2010 14:24:34

Почитайте в Wiki правда процесс описан очень скудно.
p.s. Данный проект давно не развивается...
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Компилятор для MIPS архитектуры

Сообщение Tronix » 24.03.2010 18:12:48

Спасибо за быстрый ответ.
WIKI читал конечно, да. Пробовал собрать, как там описано (описано действительно скудно).
e:\fpc\2.4.0 - сам вин-компилятор
e:\fpc\fpcbuild-2.4.0 - исходники компилятора.
Подредактировал bat-файл:

Код: Выделить всё
cd E:\FPC\fpcbuild-2.4.0\
PATH=e:\fpc\2.4.0\bin\i386-win32;E:\FPC\fpcbuild-2.4.0\fpcsrc\compiler\arm;E:\FPC\fpcbuild-2.4.0\fpcsrc\rtl\arm
make cycle CPU_TARGET=mipsel OS_TARGET=linux
pause


При запуске выдает:

Код: Выделить всё
E:\FPC\fpcbuild-2.4.0>make cycle CPU_TARGET=mipsel OS_TARGET=linux
makefile:199: *** The Makefile doesn't support target mipsel-linux, please run fpcmake first.  Stop.


Попробовал fpcmake -Tmipsel-linux, но говорит что такого не знает.

Посмотрел Makefile'ы, а там даже намека на таргет mipsel-linux нету. Причем я качал исходники именно 2.4.0 и взял еще на всякий случай из SVN глянул - тоже в мейкфайлах отсутствует такой таргет.
Выходит без вариантов? Или все-таки что-то не так делаю?

Спасибо.
Tronix
новенький
 
Сообщения: 12
Зарегистрирован: 27.03.2009 19:04:33

Re: Компилятор для MIPS архитектуры

Сообщение скалогрыз » 24.03.2010 18:35:44

Нужно начать со сборки GNU tools для кросс компиляции из win в Mips.
и только после этого переходить в кросскомпиляции компилятора.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Компилятор для MIPS архитектуры

Сообщение Tronix » 24.03.2010 19:09:00

скалогрыз писал(а):Нужно начать со сборки GNU tools для кросс компиляции из win в Mips.
и только после этого переходить в кросскомпиляции компилятора.


Мммм. А можно по-подробнее? Не совсем понятно что имеется в виду под GNU tools. Например в папки с компилятором \bin\ лежат программы make, as, ar, ld, strip и прочие. Не они? И не совсем понятно, чем мне все-таки поможет GNU Tools, когда выше я говорил, что в файле Makefile физически нету TARGET = "mips-linux" ?
Tronix
новенький
 
Сообщения: 12
Зарегистрирован: 27.03.2009 19:04:33

Re: Компилятор для MIPS архитектуры

Сообщение Mr.Smart » 24.03.2010 19:30:18

Я бы советовал вам использовать для данных (и не только) контроллеров именно те компиляторы, которые даёт сам производитель :wink:

Добавлено спустя 1 минуту 27 секунд:
Тем белее выбранные вами контроллеры очень специфичны...
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Компилятор для MIPS архитектуры

Сообщение Павел Ишенин » 25.03.2010 07:51:30

В fpc есть поддержка mips, но только в trunk.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Компилятор для MIPS архитектуры

Сообщение Brainenjii » 30.01.2012 12:48:30

апну тему. Есть кто-нибудь успешно написавший приложение для *wrt прошивок на MIPS'овские роутеры?
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Компилятор для MIPS архитектуры

Сообщение Logo » 02.01.2014 10:55:58

И снова MIPS.
fpc 2.7.1 - собрался.
Lazarus 1.3 - обрабатывает компиляцию.
Прграмка крайне простая:
Код: Выделить всё
program test_mips;

begin
  writeln('Hello mips!!!');
end.

Бинарный файл 32 создается кросскомпилятором, но не запускается. Выдает странную ошибку:
Код: Выделить всё
root@OpenWrt:/etc# ./test_mips
./test_mips: line 1: syntax error: unexpected "("
root@OpenWrt:/etc#

Куда дальше рыть, - понятия уже не имею, у кого-то, что-то есть положительное?
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Компилятор для MIPS архитектуры

Сообщение Sergei I. Gorelkin » 02.01.2014 13:20:05

Такая странная ошибка говорит о том, что файл собран для не той архитектуры (openwrt пытается исполнить его как скрипт).
Посмотри, что выдает команда "file" для твоего бинарника и для любого бинарника с целевой системы.
Возможно, нужно собирать для mipsel-linux вместо mips-linux или наоборот.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Компилятор для MIPS архитектуры

Сообщение Logo » 02.01.2014 19:13:18

Sergei I. Gorelkin писал(а):Такая странная ошибка говорит о том, что файл собран для не той архитектуры (openwrt пытается исполнить его как скрипт).
Посмотри, что выдает команда "file" для твоего бинарника и для любого бинарника с целевой системы.
Возможно, нужно собирать для mipsel-linux вместо mips-linux или наоборот.

Спасибо за внимание.

Вот родной файл:
mc: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1, dynamically linked (uses shared libs), corrupted section header size

А это собранный FPC:
test_mips: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, stripped

Хмм, почему же он делает LSB ? Видимо в этом причина.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Компилятор для MIPS архитектуры

Сообщение Sergei I. Gorelkin » 02.01.2014 19:39:43

LSB делает потому, что собран для mipsel-linux. Нужно пересобрать все, включая компилятор, для mips-linux.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Компилятор для MIPS архитектуры

Сообщение Logo » 02.01.2014 20:01:56

Sergei I. Gorelkin писал(а):LSB делает потому, что собран для mipsel-linux. Нужно пересобрать все, включая компилятор, для mips-linux.

Да, так и есть
test_mips: ELF 32-bit MSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked, stripped

Теперь запускается, но программа висит и никак не хочет приветствовать writeln('Hello mips!!!'); :)
Рою дальше.

Sergei I. Gorelkin, большое спасибо!!!
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru
cron