vlad
-
Posts
3 -
Joined
-
Last visited
Content Type
Forums
Store
Downloads
Blogs
Posts posted by vlad
-
-
Thanks for the reply,
if I understand everything right about gcc-arm-none-eabi, it uses it's own libgcc.a instead of libc.a?
Which compiler did you use to build the demo?
With mentioned compilers I'm able to build some projects which don't contain uGFX for STM32F7 Discovery in Eclipse.
-
Hello to everyone,
I need help in compiling demos on STM32F7Discovery board.
I'm using Eclipse as IDE and arm-none-eabi gcc compiler from launchpad
Steps that I'm doing:
1) edit the Makefile in ugfx/boards/base/STM32F746-Discovery/example_raw32:
GFXLIB = /home/vlad/Program_Files/ARM_Eclipse/workspace/ugfx
STMHAL = /home/vlad/Program_Files/ARM_Eclipse/STM32Cube_FW_F7_V1.2.0/Drivers/STM32F7xx_HAL_Driver
CMSIS = /home/vlad/Program_Files/ARM_Eclipse/STM32Cube_FW_F7_V1.2.0/Drivers/CMSIS2) make. After compilation with some warnings it fails to link the .elf:
Linking .build/example_raw32.elf
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: .build/example_raw32.elf uses VFP register arguments, /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o) does not
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o)
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: .build/example_raw32.elf uses VFP register arguments, /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memcpy.o) does not
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memcpy.o)
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: .build/example_raw32.elf uses VFP register arguments, /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o) does not
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o)
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-setjmp.o): Conflicting CPU architectures 13/1
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-setjmp.o)
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: .build/example_raw32.elf uses VFP register arguments, /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-strcpy.o) does not
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-strcpy.o)
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: .build/example_raw32.elf uses VFP register arguments, /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-strlen.o) does not
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-strlen.o)
collect2: error: ld returned 1 exit status
/home/vlad/Program_Files/ARM_Eclipse/workspace/ugfx/tools/gmake_scripts/compiler_gcc.mk:282: recipe for target '.build/example_raw32.elf' failed
make: *** [.build/example_raw32.elf] Error 13) googling (http://stackoverflow.com/questions/9753 ... bject-file) gives that probably mfloat-abi shold be set to softfp rather than hard. So I tried to change the file ugfx/tools/gmake_scripts/cpu_stm32m7.mk:
SRCFLAGS += -mcpu=cortex-m7 -falign-functions=16 -mfloat-abi=softfp -mfpu=fpv4-sp-d16
LDFLAGS += -mcpu=cortex-m7 -falign-functions=16 -mfloat-abi=softfp -mfpu=fpv4-sp-d16
DEFS += CORTEX_USE_FPU=TRUE USE_FPU=softfpand received another strange linker error:
Linking .build/example_raw32.elf
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-setjmp.o): Conflicting CPU architectures 13/1
/home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /home/vlad/Program_Files/ARM_Eclipse/gcc-arm-none-eabi-4_9-2015q3/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-setjmp.o)
collect2: error: ld returned 1 exit status
/home/vlad/Program_Files/ARM_Eclipse/workspace/ugfx/tools/gmake_scripts/compiler_gcc.mk:282: recipe for target '.build/example_raw32.elf' failed
make: *** [.build/example_raw32.elf] Error 14) I tried compiler versions gcc-arm-none-eabi-4_9-2015q1 and gcc-arm-none-eabi-4_9-2015q3 but they behaves the same.
I saw a video on youtube with successful demonstration of demo on STM32F7Discovery so most probably I'm missing something to compile it.
I would appreciate for any help.
Thanks in advance,
Vlad.
STM32F7 Discovery
in Support
Posted
The problem solved with changing -mfpu=fpv4-sp-d16 to -mfpu=fpv5-sp-d16 in ugfx/tools/gmake_scripts/cpu_stm32m7.mk (twice).
Thanks for your help!
You guys are doing an impressive work.