Topic : RIDE7 and new Library STM32 3.1.0 BUG

Forum : ARM

Original Post
Post Information Post
August 27, 2009 - 9:23pm
Guest

http://www.st.com/mcu/forums-cat-8811-23.html

Replies
Post Information Post
+1
0
-1
August 28, 2009 - 10:54am
Raisonance Support Team

Hi,

The STM32 lib v3.1.0 was written with the previous version of the RKit-ARM. In the latest version of RKit-ARM, the linker has been updated and the libraries scanning scheme has changed a little. The IDE was changed accordingly, but it seems we did something there that is incorrect in the case of this example.

We have planned a new release of the RKit-ARM very soon (hopefully next week) and we will make sure that this problem does not appear in this new version.

In the meantime there is an easy workaround: You just need to add the missing functions directly in your project, which will force the linker to take them. You also need to force the linker to take printf from the small printf library and not libc. Otherwise, the link will succeed, but the resulting application will be much larger than it should be...

1. Copy these three files in your project's directory:
\lib\ARM\io_putchar\syscalls.c
\lib\ARM\io_putchar\swi.h
\lib\ARM\e_stdio\e_stdio_thumb.a

2. Add your copies of syscalls.c and e_stdio_thumb.a, in this order, in your project. Like this:
ftp://www.raisonance.com/temp/ST/pic_workaround_STM32lib310_RKitARM0120090154.jpg

3. Rebuild the project.

Or you can just wait for the next version of RKit-ARM.

Best Regards,

Vincent

+1
0
-1
August 29, 2009 - 9:24pm
Guest

Hi,
I've got the same problem like mrobins. But I don't know how to add the e_studio_thumb.a to the project, could anybody explain how to add the e_studio_thumb.a to the project?

Best Regards
Steffen

+1
0
-1
August 31, 2009 - 9:41am
Raisonance Support Team

Hi,

The easiest is to drag it from an explorer window and drop it in the Ride window.

Best Regards,

Vincent

+1
0
-1
August 31, 2009 - 10:32am
Raisonance Support Team

Sorry, in the first post I gave the wrong path for the syscalls.c and swi.h files. It should be this:
\lib\ARM\io_putchar\syscalls.c
\lib\ARM\io_putchar\swi.h

Vincent

+1
0
-1
August 31, 2009 - 10:34am
Raisonance Support Team

...And now I have corrected the first post.

Vincent

+1
0
-1
August 31, 2009 - 4:51pm
Guest

Hi,
Thanks a lot!