This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: footprint


>>>>> "Shrikar" == Shrikar  <shrikar@poseidontech.com> writes:

    Shrikar> I have configured the eCos for ARM and buld successfully.
    Shrikar> Can any one please tell me how can I calculate the
    Shrikar> complete footprint of the eCos ?

The term "footprint" of eCos is a rather nebulous concept. Your
application will use only a subset of the eCos functionality, and the
remainder will be eliminated at link-time and hence will not use up
any memory. If you have a particular application then you can do some
measurements of the eCos footprint for that specific application. To
get a rough idea you can just build the eCos test cases and examine
one of the resulting executables. For example the tm_basic test uses
many of the facilities in the kernel package, probably more than your
typical application, although of course the application may need more
from other packages than tm_basic.

The usual first step is:

  ls -l install/tests/kernel/current/tests/tm_basic

This provides no useful information because the executable file
contains very large amounts of debug data and other things which are
only used by host-side tools, and never consume memory on the target
hardware.

Much better is:

  arm-elf-size install/tests/kernel/current/tests/tm_basic

This will give you information about total code size, initialized
data, and uninitialized data. In the case of tm_basic the latter
number is not actually useful because the test case is designed to use
most of the available memory, but for other programs it should be more
informative.

More detailed information is available using

  arm-elf-nm install/tests/kernel/current/test/tm_basic

Use command line options to extract the data you want. An alternative
approach is to generate a map file at link-time using e.g.
"arm-elf-gcc -Wl,-Map,fred.map". For more information on these things
you should consult the binutils and linker documentation.

Bart

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]