Greg Posted October 12, 2016 Report Posted October 12, 2016 (edited) I have tried several distributions of arm-none-wabi-gcc and keep getting this problem linking the stm32f746_discovery_template_make/project /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: bin/Release/project.elf uses VFP register arguments, /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o) does not /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-init.o) /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: bin/Release/project.elf uses VFP register arguments, /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memcpy.o) does not /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memcpy.o) /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: bin/Release/project.elf uses VFP register arguments, /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o) does not /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o) /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: error: /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/lib/libc.a(lib_a-setjmp.o): Conflicting CPU architectures 13/1 /usr/local/Cellar/arm-none-eabi-gcc/20150921/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: failed to merge target specific data of file /usr/local/Cellar/arm-none-eabi-gcc/20150921/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 make: *** [bin/Release/project.elf] Error 1 getting lost. Sorry if it is easy and stupid but I have been on the net all day attempting to work it out.. Edited October 12, 2016 by Joel Bodenmann Using code box
Joel Bodenmann Posted October 12, 2016 Report Posted October 12, 2016 Hello Greg, The errors you are getting are related to the floating point units. I am not 100% sure what the problem is, but I am pretty sure that it is either of these two: The STM32F746 uses an ARM Cortex-M7 core. That is a fairly new core and it's possible that the version/distribution of GNU ARM GCC that you are using doesn't have support for that Cortex-M7 yet. In that case, a simple update to a newer version of GCC should help. We are successfully using the STM32F746G-Discovery bare metal make project template available in the downloads section with GNU ARM GCC 5.4.1 from the Launchpad. It is possible that you mixed soft-FPU and hard-FPU software. However, that shouldn't be the case with the example project that you downloaded unless you modified things yourself. Can you confirm that you are trying to compile the example from the downloads section that you just downloaded? Note that you just have to execute the command make in the directory that contains the Makefile. You don't have to modify anything at all. I hope that helps.
Greg Posted October 12, 2016 Author Report Posted October 12, 2016 Thanks Joel Yes you are correct I did download the template and ran make inside the project directory. Any how I will download the version of gcc that you mentioned and try again. Just want to get something going not the discovery board so that I can start using ugfx-studio. Thanks again.
Joel Bodenmann Posted October 12, 2016 Report Posted October 12, 2016 We recommend using this toolchain: https://launchpad.net/gcc-arm-embedded You should be able to compile the demo project without any problems using that toolchain. Please don't hesitate to ask if you have any further questions. We are happy to help where ever we can.
Greg Posted October 12, 2016 Author Report Posted October 12, 2016 Thanks just started downloading it. If I create some screens in ugfx studio. do I just copy some directory structure into the existing example project to use it and then just create the events code? or is there a simple shell project to get started? Or is it possible to compile from Studio itself by setting up compiler settings ?
Greg Posted October 12, 2016 Author Report Posted October 12, 2016 That fixed it perfectly.... Now to remove all the junk toolchains and get stuck into studio......
Joel Bodenmann Posted October 12, 2016 Report Posted October 12, 2016 Glad to hear that you managed to compile the project. In that case the problem really was that the toolchain simply didn't provide support for the Cortex-M7 yet.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now