Cant compile project with eclipse + yagarto

robakk wrote on Wednesday, April 22, 2009:

Hi evryone :slight_smile:
Ive got some problems with compiling demo project.
<a href="http://img208.imageshack.us/my.php?image=clipboard01iyn.jpg" target="_blank"><img src="http://img208.imageshack.us/img208/4500/clipboard01iyn.th.jpg" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a><br /><br /><a href="http://img604.imageshack.us/content.php?page=blogpost&files=img208/4500/clipboard01iyn.jpg" title="QuickPost"><img src="http://imageshack.us/img/butansn.png" alt="QuickPost" border="0"></a> Quickpost this image to Myspace, Digg, Facebook, and others!
Root directory is changed, properities of he project are:
<a href="http://img208.imageshack.us/my.php?image=clipboard01hwu.jpg" target="_blank"><img src="http://img208.imageshack.us/img208/2925/clipboard01hwu.th.jpg" border="0" alt="Free Image Hosting at www.ImageShack.us" /></a><br /><br /><a href="http://img604.imageshack.us/content.php?page=blogpost&files=img208/2925/clipboard01hwu.jpg" title="QuickPost"><img src="http://imageshack.us/img/butansn.png" alt="QuickPost" border="0"></a> Quickpost this image to Myspace, Digg, Facebook, and others!
What could be wrong? Demo projects should compile without a single warning :wink:

robakk wrote on Wednesday, April 22, 2009:

Version without a garbage
Hi evryone :slight_smile:
Ive got some problems with compiling demo project. 
http://img208.imageshack.us/my.php?image=clipboard01iyn.jpg

Root directory has been changed, properities of the project are:
http://img208.imageshack.us/my.php?image=clipboard01hwu.jpg

What could be wrong? Demo projects should compile without a single warning :wink:

stf12 wrote on Wednesday, April 22, 2009:

Hi,

I think that you are using some function from the C Standard library - malloc or printf - but your Eclipse based environment does not provide the needed support. The C subroutine library depends on a handful of subroutine calls for operating system services. The newlib library provides a semi-hosted implementation of the standard C library. It is normal in the embedded world: for example the stdout - standard output - definition depends on the particular target the application is running on.

Moreover it seams that you are using reentrant version of the C function. I found some documentation on this topic in the newlib website:

http://sourceware.org/newlib/

Regards,
Stefano

robakk wrote on Wednesday, April 22, 2009:

Hmm I just open the demo project from the freertos site. Those project should work without any other files. I have installed all the updates and have no idea what could be wrong.

edwards3 wrote on Wednesday, April 22, 2009:

Start without Eclipse. Just install yagarto and ensure its bin directory is in the path. Next get a clean FreeRTOS and navigate to the makefile directory in a DOS prompt and type "make". What happens then?

robakk wrote on Wednesday, April 22, 2009:

So i installed yagarto once again to be shure that the bin directory is added to the path. I`ve compiled lpc2106 demo project because it has preconfigured bat files. Unfortunately the same error has occured.
http://img254.imageshack.us/my.php?image=40183414.jpg
The same error is on two diffirent computers and os. Maybe I should try install some older version of yagarto? I dont know what to do now :frowning:

rtel wrote on Wednesday, April 22, 2009:

I’m was intrigued by the paths that are visible in your image, which show “newlib build”.  I don’t have this in my Yagarto installation so checked the yagarto.de WEB site and see the following message by the latest release:  “This version of YAGARTO was built to support newlib with reentrant stubs. For more information take a look here. An example syscalls.c file will be provided too.”

It links to "http://www.yagarto.de/howto/yagarto1/yagarto_newlib.txt" which describes your problem, and http://www.yagarto.de/download/yagarto/syscalls.c which is probably your solution.

Regards.

robakk wrote on Thursday, April 23, 2009:

Thanks, this file was realy solution for my problem :slight_smile:
Thanks again

robakk wrote on Thursday, April 23, 2009:

Thanks, this file was realy solution for my problem :slight_smile:
Thanks again

hibouvn wrote on Wednesday, May 06, 2009:

Dear Robert,

Could you please tell me how to solve this problem? I have met the same  when compiling the FreeRTOS demo for LPC2368 and I don’t know what to do next.

Thanks so much.

davedoors wrote on Wednesday, May 06, 2009:

If you have the compiler and a make utility in your path, and you have not changed anything in the source code or makefile, then you should be able to open a command prompt, navigate to the directory that contains the makefile (Demo\ARM7_LPC2368_Eclipse\RTOSDemo), and simply type "make" to get the code to build.

The first time you will get a #error telling you to select one of the options in FreeRTOSConfig.h, it will be obvious when you see it.

If you are using the latest Yagarto build then you also need to read this http://www.yagarto.de/howto/yagarto1/yagarto_newlib.txt

hibouvn wrote on Wednesday, May 06, 2009:

Thanks Dave, but what exactly I have to do for using the undefined references like : _sbrk_r, _fstat_r, _isatty_r, _close_r, _lseek_r, _write_r, _read_r? From your link, what is the file syscalls.c for?

Best regards

davedoors wrote on Wednesday, May 06, 2009:

syscall.c is provided for you on http://www.yagarto.de/ , which is where I presume you got the compiler from.

hibouvn wrote on Wednesday, May 06, 2009:

So where should I ut the file syscalls.c so that the compilation run smoothly?

edwards3 wrote on Wednesday, May 06, 2009:

you have already been given the link. Yagarto.de, just search the page for syscalls.

hibouvn wrote on Wednesday, May 06, 2009:

Sorry, I would like to know where should I put the file syscalls.c on my computer? I dont understand well about the content of the link you gave me. 

edwards3 wrote on Wednesday, May 06, 2009:

You can place the file in the same directory that the makefile is in, then add the file to the list of files within the makefile.  The list of files is under the THUMB_SOURCE= variable, and each line must have a \ at the end of it (other than the last in the list).

hibouvn wrote on Wednesday, May 06, 2009:

Thank you very much, now I can get it works.