eCos Home

RedBoot Home


About eCos

Supported Hardware

Downloading and Installation

Documentation

FAQ

Mailing lists

Problems

Licensing

Anonymous CVS

Contributions and Third Party Projects

eCos
(Answer) (Category) eCos FAQ : (Category) Using eCos : (Category) Problems when building eCos itself :
Linking tests produces the error "section .FOO is not within region ram"
You get this when linking the eCos tests (or your application) and it happens because the defined memory layout for your target indicates that the program image will not fit!

This commonly happens with trying to squeeze the net stack, which is quite big, on RAM constrained targets.

Verify the memory layout to check it does fit your hardware, and generate a linker map to see where the memory is going. This can be done using the option -Wl,-Map,mapfile on the gcc link line to create a file called "mapfile" in the current directory of the build at that point. Note that if you add this to CYGBLD_GLOBAL_LDFLAGS in your ecos.ecc file, then for the eCos tests, the linker map file will be generated in the build tree subdirectory corresponding to the package.

Certainly, many configuration options can reduce the memory usage, including removing entire packages. The linker map gives a better guide as to where the memory is being used. In the case of the net stack for example, it is very wise to try to reduce the size of the buffers, i.e. the CYGPKG_NET_MEM_USAGE option.
jlarmourATredhatDOTcom

This document is: http://ecos.sourceware.org/fom/ecos?file=89
[Search] [Appearance]
This is a Faq-O-Matic 2.717.

Send any queries about the contents of this FAQ to the ecos-discuss mailing list
Send any operational queries about this FAQ to the eCos maintainers