* FAQ suggestions
@ 2010-12-15 13:55 Ross Younger
0 siblings, 0 replies; only message in thread
From: Ross Younger @ 2010-12-15 13:55 UTC (permalink / raw)
Hi all, two suggestions come to mind following ecos-discuss
yesterday and today:
Q. My build fails with "undefined reference to `puts'" (or similar)
A. Usually, when your build fails due to a missing library function, the
function is present within eCos but has not been selected in your build
For example, building the hello world example might fail with:
.../ecos-3.0/examples/hello.c:6: undefined reference to `puts'
In this case, puts can be found in the ISO C standard I/O library
package. To successfully use it, you need to either:
* use a template which includes the required packages ("default" is a
good place to start in most cases)
* manually add the stdio package (and the packages it depends on) to
your existing configuration.
Q. I selected the "kernel" or "minimal" configuration to make my build
smaller, but now my application won't build.
A. Your build size is really a feature of your application, not of eCos
eCos uses a linker feature called link-time garbage collection. This
means that library functions not used by your application do not
get built into your final image. Because of this, the "kernel" and
"minimal" configurations are often unhelpful: they switch off many
library functions, often leading to requests for help from developers
surprised that their applications no longer build.
Most applications should start with the "default" template (or one of
"net", "lwip_eth" or "lwip_ppp" if networking is required). We recommend
that you first build your application and see what size of image it
gives: only then, should you start looking at tuning it (and your eCos
configuration) for size.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-12-15 13:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-15 13:55 FAQ suggestions Ross Younger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).