Пытаюсь скомпилировать и собрать проект в интерворк режиме.
В thumb режиме все компилится и собирается нормально, все библиотеки находятся. Командные строки компиляции:
Код
arm-elf-gcc -c -mcpu=arm7tdmi -Wall -I./include -DAT91SAM7A3 -mthumb main.c -o main.o
и линкера:
Код
arm-elf-gcc -nostartfiles -Wl,--cref -T elf32-littlearm.lds -mthumb -lc -lgcc -L c/tools/Dev-Cpp/arm1/lib/gcc/arm-elf/4.2.0/thumb/../interwork/../../../../arm-elf/lib/thumb/../interwork/ -Ttext 0x100000 -Tdata 0x200000 -n -o _flash.elf cstartup.o lowlevel.o main.o syscalls.o debug.o timers.o param.o rwflash.o
Выписки из кросс таблицы (symbol, file):
Код
_PathLocale /cygdrive/c/tools/Dev-Cpp/arm1/bin/../lib/gcc/arm-elf/4.2.0/../../../../arm-elf/lib/thumb/libc.a(lib_a-locale.o)
__adddf3 /cygdrive/c/tools/Dev-Cpp/arm1/bin/../lib/gcc/arm-elf/4.2.0/thumb/libgcc.a(_addsubdf3.o)
__adddf3 /cygdrive/c/tools/Dev-Cpp/arm1/bin/../lib/gcc/arm-elf/4.2.0/thumb/libgcc.a(_addsubdf3.o)
Когда добавляю ключ для компиляции в интерворк режиме при линковке возникают ошибки, насколько я понимаю линковщик не может найти файлы стандартных библиотек.
Командные строки компиляции (компилится без ошибок):
Код
arm-elf-gcc -c -mcpu=arm7tdmi -Wall -I./include -DAT91SAM7A3 -mthumb -mthumb-interwork main.c -o main.o
и линкера(работа завершается с ошибкой):
Код
arm-elf-gcc -nostartfiles -Wl,--cref -T elf32-littlearm.lds -mthumb -mthumb-interwork -lc -lgcc -L c/tools/Dev-Cpp/arm1/lib/gcc/arm-elf/4.2.0/thumb/../interwork/../../../../arm-elf/lib/thumb/../interwork/ -Ttext 0x100000 -Tdata 0x200000 -n -o _flash.elf cstartup.o lowlevel.o main.o syscalls.o debug.o timers.o param.o rwflash.o
Выписки из кросс таблицы (symbol, file):
Код
/cygdrive/c/tools/Dev-Cpp/arm1/bin/../lib/gcc/arm-elf/4.2.0/../../../../arm-elf/bin/ld: internal error ../../binutils-2.17/ld/ldlang.c 4275
collect2: ld returned 1 exit status
collect2: ld returned 1 exit status
Подскажите, что делаю не так. Почему линковщик лезет в левую папку "/arm-elf/bin/" и запускает "ld.exe"?
Заранее спасибо.
совсем забыл: arm-elf-gcc (GCC) 4.2.0