GNUARM on STR9

Hello to everybody. I’m working right now with a STR912 board. I’m on Windows and I’m using YAGARTO, which includes OpenOCD, GnuARM and Eclipse. The problem is that when I try to compile a project, I receive an error message that says I’m using “Soft FP instructions”, while the library libgcc.a uses “Hard FP instructions”. I searched on Google and the unique solution seems to be to compile again GCC using the option “-msoft-float” which forces GCC to use soft FP instructions. But I’m using YAGARTO, so I can’t use it anymore if I have to manually compile GCC and the other components, isn’t it?

  1. Does anyone know a better and simpler solution?

  2. Why this problem is present only with STR9 and not with STR7 that I used with success?

  3. Another problem is in GDB, necessary for debugging: it’s due to the fact that STR9 has flash memory starting from address 0x0 and GDB has a bug when the starting address is that one. Do I have to compile again even GDB?

Thanks in advance,

l3golas

l3golas:
Hello to everybody. I’m working right now with a STR912 board. I’m on Windows and I’m using YAGARTO, which includes OpenOCD, GnuARM and Eclipse. The problem is that when I try to compile a project, I receive an error message that says I’m using “Soft FP instructions”, while the library libgcc.a uses “Hard FP instructions”. I searched on Google and the unique solution seems to be to compile again GCC using the option “-msoft-float” which forces GCC to use soft FP instructions. But I’m using YAGARTO, so I can’t use it anymore if I have to manually compile GCC and the other components, isn’t it?

  1. Does anyone know a better and simpler solution?

On the version of YAGARTO that I have there are several versions of libgcc.a to choose from. Which one of them do you have in your lib path? According to the error message that you posted GCC is already using software floating point, so you should only need to link with a version of libgcc.a that also uses software floating point?

–Dave

Hi l3golas.

Might be useful to have a look at my tutorial “Using Open Source Tools for AT91SAM7 Cross Development”. While the examples are for the Atmel parts, there’s plenty of details on how to set up an Eclipse/YAGARTO environment.

There’s a section on dealing with libraries that you may find helpful.

Here’s the link:

http://www.atmel.com/dyn/resources/prod … source.zip

Cheers,

Jim Lynch

Thank you to both, your help was precious. In these days I couldn’t work on STR9, but it seems I solved my problem in compilation with the addition of the option “–no-warn-mismatch” to the linker options. I hope this can really work when I will try to download my programs in STR9.

Lynchzilla, thank you especially for your work till now on your tutorial. I’m a student and started on ARM (in particular STR7 and now STR9) for a project for university. I knew nothing about ARM and thanks to your tutorial I succeded in using them. I have all the releases, but I didn’t know about the last one you told me. I noticed you have added other parts, great job! Now I’m finishing with this project and I have to do a final relation in Italian (my language) in which I will tell about what I discovered. I decided to organize it as a tutorial and to translate it in English, because many people work on STR microcontrollers, so it can be useful. When it will be ready, I hope you can have a look and tell me what you think. Best regards for now,

l3golas