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

 
 
 
Reply to this topicStart new topic
> Стартап не компилится, str71x
Хомячог
сообщение May 23 2008, 09:56
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 20-02-08
Пользователь №: 35 222



Создал сначала свой мейк файл, отладил на нем свою демку, потом перескочил на эклипс, научился компилить сишные проекты, вроде нормально, решил подсоеденить стартап, и тут затык, выдает ошибку :
Код
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.3.1/../../../../arm-elf/bin/ld: ERROR: ./asm_71x_init.o uses hardware FP, whereas Leee uses software FP
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.3.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file ./asm_71x_init.o
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.3.1/../../../../arm-elf/bin/ld: ERROR: ./asm_71x_vect.o uses hardware FP, whereas Leee uses software FP
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.3.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file ./asm_71x_vect.o


вскрыл мейк эклипса, в написанном собственноручно мейке проставил флаги и забил команды компиляции как и в эклипсовском, и тем не менее мой мейк работает, а эклипс нет.
вот сам мейк (для скрипта линкеру пришлось указать путь, ибо без пути в своей папке эклипс его не видит):
Код

PROG = "oNO"                                               # Program name
SRCC= vect.c init.c 71x_it.c flash.c gpio.c rccu.c uart.c main.c
OBJ= vect.o init.o 71x_it.o flash.o gpio.o rccu.o uart.o main.o
vect=asm_71x_vect.s
init=asm_71x_init.s
CC=/usr/local/arm-elf/bin/arm-elf-gcc            # Compiler
AS=/usr/local/arm-elf/bin/arm-elf-as
LD=/usr/local/arm-elf/bin/arm-elf-ld
CFLAGS=-g -c              # Compiler flags
ASFLAGS=-mcpu=arm7tdmi --gdwarf2
LDFLAGS = -nostartfiles -nodefaultlibs -nostdlib -T /home/Temp/ProbeXt/RAM.ld
LIBS= -L/usr/local/arm-elf/lib/gcc/arm-elf/4.3.1/ -lgcc # Linker flags
LIBSTM= -L/usr/local/arm-elf/lib/gcc/arm-elf/4.3.1/thumb/ -lgcc # Linker flags

# Compile sources
oNO: $(OBJ)
    $(LD) $(LDFLAGS) -o $(PROG) $(OBJ) $(LIBS) $(LIBSTM)
init.o: asm_71x_init.s
    arm-elf-as -mcpu=arm7tdmi --gdwarf2 -o"$@" "$<"
vect.o: asm_71x_vect.s
    
SRCC: $(src_file)
    for src_file in $(SRCC); do
        obj_file=$(src_file /.c /.o)
        $(CC) -nostdinc -O0 -g -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
    done
    
.PHONY: clean
clean:    
    rm $(OBJ)  oNO

Прогнал все настроечные файлы проекта, и где включается поддержка FPoint не нашел.
еще что интересно, что когда вместо линкера и асемблера я ставлю ГЦЦ появляется другая ошибка, он, компилируя стартап, кричит что не может найти опорную метку маин, как тут ему обьяснить что по "В main" надо переходить на головную функцию

И еще, дайте ссылку на эклипсовский проект под str71x если есть

Сообщение отредактировал Хомячог - May 23 2008, 10:50
Go to the top of the page
 
+Quote Post
Leen
сообщение May 23 2008, 12:36
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343



Цитата(Хомячог @ May 23 2008, 20:56) *
...где включается поддержка FPoint не нашел.
Взято тут (1.35 МожеБыт):
Код
-mfpu=floating-point-format
This option specifies the floating point format to assemble for. The assembler
will issue an error message if an attempt is made to assemble an instruction
which will not execute on the target floating point unit. The following
format options are recognized: softfpa, fpe, fpe2, fpe3, fpa, fpa10, fpa11,
arm7500fe, softvfp, softvfp+vfp, vfp, vfp10, vfp10-r0, vfp9, vfpxd,
arm1020t and arm1020e.
In addition to determining which instructions are assembled, this option also
affects the way in which the .double assembler directive behaves when assembling
little-endian code.

Цитата
еще что интересно, что когда вместо линкера и асемблера я ставлю ГЦЦ появляется другая ошибка, он, компилируя стартап, кричит что не может найти опорную метку маин, как тут ему обьяснить что по "В main" надо переходить на головную функцию
Мои настройки (-mfpu добавлено только что для пробы):
(as) arm-elf-as -mcpu=arm7tdmi -mapcs-frame -mfpu=fpa
(cc) arm-elf-gcc -mcpu=arm7tdmi -DF_CPU=48000000 -O0 -g3 -Wall -c
(ld) arm-elf-gcc -nostartfiles -static -Xlinker -T/cygdrive/d/work/progs/filter/ram.ld
Все собирается. На таргете не проверял (AT91SAM7S256) - ночь на дворе, лень со шнурами возиться.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:19
Рейтинг@Mail.ru


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