Полная версия этой страницы:
Eclipse
alex_lev
Jul 18 2013, 15:55
Есть ли на форуме люди, которые смогли в Eclipse полностью откомпилировать примеры Eclipse для Sim900. Если такие счастливцы есть, не сочтите за труд и поделитесь секретами. Раз 10 ставил эту мудрую среду, по всем правилам и описаниям и ни разу не смог получить результат, постоянно ошибка Program "make" not found in PATH, а когда в PATH прописываешь путь к make.exe, выдает ошибку сам make.exe и попутно несколько десятков других ошибок. Очень замудренная среда, MPLABX и Visual Studio против нее детский лепет.
_Артём_
Jul 18 2013, 17:52
Цитата(alex_lev @ Jul 18 2013, 18:55)

постоянно ошибка Program "make" not found in PATH, а когда в PATH прописываешь путь к make.exe, выдает ошибку сам make.exe и попутно несколько десятков других ошибок.
Тот ли make у вас запускается?
PS. Попробуйте поставить GCC Yagarto и YagartoTools идущие к нему в комплекте.
viakon
Jul 19 2013, 04:45
Не скажу про плагин для Sim900, но для армов перед установкой плагина для ARM, GCC для армов должен уже стоять. Тогда инсталлятор его находит и все работает. Может и тут также.
Если делать в точности так, как написано в симкомовском апноте, буква в букву, все запускается и компилится, но, при этом родная среда перестает компилить..
посему эклипс снес и оставил крайне убогую SIM900RDevIDE (есть кой какие наметки как эти две среды подружить, но для этого надо время)
итого, ключевой момент - буква в букву как в апноте
Сергей Борщ
Jul 19 2013, 06:06
QUOTE (alex_lev @ Jul 18 2013, 17:55)

выдает ошибку сам make.exe и попутно несколько десятков других ошибок
Сейчас лето, пора отпусков и все форумные телепаты отдыхают. Не могли бы вы облегчить задачу остальным и скопировать текст этих ошибок?
alex_lev
Jul 20 2013, 17:21
После обращения на форум переустановил Eclipse в надцатый раз, предварительно очистив реестр от всех упоминаний, ставил по пунктам и случилось почти счастье, в debug компиляция прошла, в release получаю такие ошибки
make all
'Building target: SampleUseSIMComLibs.elf'
'Invoking: ARM Yagarto Windows GCC C Linker'
arm-none-eabi-gcc -Map SampleUseSIMComLibs.map -T"..\..\EmbatSIM\gsmos\libs\GCC\sim900.ld" -z muldefs --just-symbols "../../EmbatSIM/gsmos/coreSW/rvctcore/1137B02V01SIM900M64_ST_DTMF_JD_EAT_SMART_MACHINE_2013_0530_1356.x" "../../EmbatSIM/gsmos/libs/GCC/ctype_.o" -o "SampleUseSIMComLibs.elf" ./code/fl_crt0.o ./code/fl_customer.o ./code/fl_main.o
arm-none-eabi-gcc: error: unrecognized command line option '-Map'
arm-none-eabi-gcc: error: SampleUseSIMComLibs.map: No such file or directory
arm-none-eabi-gcc: error: unrecognized command line option '--just-symbols'
make: *** [SampleUseSIMComLibs.elf] Error 1
А для второго примера еще лучше.
'Building target: SampleWithGccLibs.elf'
'Invoking: ARM Yagarto Windows GCC C Linker'
arm-none-eabi-gcc -T"..\..\EmbatSIM\gsmos\libs\GCC\sim900_no_x.ld" -nostartfiles -Wl,-Map,SampleWithGccLibs.map -mcpu=arm9e -mthumb-interwork -o "SampleWithGccLibs.elf" ./code/fl_crt0.o ./code/fl_customer.o ./code/fl_main.o ./code/syscalls.o
./code/fl_main.o: In function `_wait_init':
fl_main.c:(.text+0x60): undefined reference to `eat1_02GetEvent'
./code/fl_main.o: In function `_wait_event':
fl_main.c:(.text+0x88): undefined reference to `eat1_02GetEvent'
./code/fl_main.o: In function `_ready':
fl_main.c:(.text+0x17c): undefined reference to `ebdat4_21SendEventMsg'
d:/developer/sim900/yagarto/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib\libc.a(lib_a-writer.o): In function `_write_r':
C:\msys\1.0\home\yagarto\newlib-build\arm-none-eabi\newlib\libc\reent/../../../../../newlib-1.20.0/newlib/libc/reent/writer.c:58: undefined reference to `_write'
d:/developer/sim900/yagarto/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib\libc.a(lib_a-closer.o): In function `_close_r':
C:\msys\1.0\home\yagarto\newlib-build\arm-none-eabi\newlib\libc\reent/../../../../../newlib-1.20.0/newlib/libc/reent/closer.c:53: undefined reference to `_close'
d:/developer/sim900/yagarto/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib\libc.a(lib_a-lseekr.o): In function `_lseek_r':
C:\msys\1.0\home\yagarto\newlib-build\arm-none-eabi\newlib\libc\reent/../../../../../newlib-1.20.0/newlib/libc/reent/lseekr.c:58: undefined reference to `_lseek'
d:/developer/sim900/yagarto/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib\libc.a(lib_a-readr.o): In function `_read_r':
C:\msys\1.0\home\yagarto\newlib-build\arm-none-eabi\newlib\libc\reent/../../../../../newlib-1.20.0/newlib/libc/reent/readr.c:58: undefined reference to `_read'
d:/developer/sim900/yagarto/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib\libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
C:\msys\1.0\home\yagarto\newlib-build\arm-none-eabi\newlib\libc\reent/../../../../../newlib-1.20.0/newlib/libc/reent/sbrkr.c:58: undefined reference to `_sbrk'
collect2.exe: error: ld returned 1 exit status
make: *** [SampleWithGccLibs.elf] Error 1
Уже проверил, что корявая, в смысле интерфейса, EAT работает с примерами без проблем, а для Eclipse моего 20 летнего опыта маловато, нужно еще изучить пару десятков книг. И кому нужна среда, которую нужно изучать и настраивать неделями для компиляции ее же примеров.
_Pasha
Jul 20 2013, 17:57
Ну да ну да. И причем тут Eclpse? У Вас нет newlib'овских stub-functions и явная чехарда с ключами, в частности
Код
arm-none-eabi-gcc -Map SampleUseSIMComLibs.map -T"..\..\EmbatSIM\gsmos\libs\GCC\sim900.ld" -z muldefs --just-symbols "../../EmbatSIM/gsmos/coreSW/rvctcore/1137B02V01SIM900M64_ST_DTMF_JD_EAT_SMART_MACHINE_2013_0530_1356.x" "../../EmbatSIM/gsmos/libs/GCC/ctype_.o" -o "SampleUseSIMComLibs.elf" ./code/fl_crt0.o ./code/fl_customer.o ./code/fl_main.o
вместо -Map SampleUseSIMComLibs.map должно стоять -Wl,-Map,SampleUseSIMComLibs.map
и скорее всего должна быть опция -Wl,-nodefaultlibs иначе стубы в проекте были бы прописаны.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.