RES: Reduce size of RTEMS in the text area
Joel Sherrill
joel.sherrill at oarcorp.com
Mon May 14 17:46:31 UTC 2007
Fabrício de Novaes Kucinskis wrote:
> Hi Julien,
>
>
> I'll quote here an answer Joel Sherrill gave me some months ago, about
> the information on the SPARC App. Supplement:
>
> " ... that number doesn't include anything besides RTEMS proper for
> the version of RTEMS it was generated against. It does not include:
> BSP init/shutdown, malloc and libc initialization or any device
> drivers, filesystem infrastructure, etc."
>
> So, I think it's better not to use that number.
Me too. The information he is referencing is no longer even included in
the documentation set because
it was somewhere in between meaningless and useless. :)
The better measure is application baseline executable size since RTEMS
is statically linked with the
executable. Here are minimum and hello .text sizes for various versions
to show how things are
changing:
4.6.6 4.7.0 4.7.1 4.8-head 8 May Os 4.8-head 8 May O2
sis minimum (-DNDEBUG) 71984 70400 57,408 49712 52096
sis hello (-DNDEBUG) 74368 73312 72,736 67280 70240
sis minimum 83312 83248 58,992 50896 53600
sis hello 83136 83248 74,474 68608 71856
sis minimum POSIX 90736 90256 64,496 55584 58560
sis hello POSIX 90368 90080 79,200 71920 75456
sis psx01 POSIX 144208 122448 120,864 112080 116114
sis minimum POSIX, ITRON 93104 92432 66,688 56384 59376
sis hello POSIX, ITRON 92736 92272 81,376 72736 76272
sis psx01 POSIX, ITRON 144560 124640 123040 112896 116944
Ray has been pushing on his ARM BSP and gotten a very small ticker. I
have hacked on
my source and gotten down to about 28K minimum for sis. But these
currently involve
hacking source. The goal is to be get to that size range without
hacking source.
I would also caution you that BSP complexity and CPU architecture code
density are
big factors as well. Today's minimum on sh-gensh1 is 38K while the
sparc-sis sizes
are hovering near 51K with the same RTEMS source, configure arguments, gcc
version, and compile options.
Both do still have the miniIMFS, libio, ad reentrancy support which may
not technically
be needed for some applications. But if you need these, you have to be
willing and able
to give up some code size.
RTEMS minimum size will continue to shrink but I warn you that it is
something that
someone needs to sponsor to get more attention and time devoted to it.
--joel
>
> You can configure the RTEMS managers in makefile. There's a MANAGERS
> variable, in which you have to inform what managers you want.
>
> The possible values are: io (I/O manager), clock, dpmem (Dual-Ported
> man.), event, msg (Message), mp (Multi-Processor? I really don't know
> this one), part (Partition), region, sem (Semaphore), signal, timer,
> rtmon (Rate Monotonic), ext (User Extensions). There's an "all"
> option, too. But, in your case, it would be:
>
> MANAGERS = sem msg part
>
> The initialization, task and fatal error managers are not optional.
>
> I hope this helps. Regards,
>
>
> Fabrício de Novaes Kucinskis.
>
>
>
> -----Mensagem original-----
> *De:* rtems-users-bounces+fabricio=dea.inpe.br at rtems.org
> [mailto:rtems-users-bounces+fabricio=dea.inpe.br at rtems.org]*Em
> nome de *Julien Houles
> *Enviada em:* segunda-feira, 14 de maio de 2007 06:32
> *Para:* rtems-users at rtems.org
> *Assunto:* Reduce size of RTEMS in the text area
>
> Hello,
>
> I'm using RTEMS on a leon2 processor and the memory available is
> very small.
> I would like to know the exact process to reduce the RTEMS size
> (151,600 bytes for a small application whereas the minimum size of
> RTEMS given in the SPARC application supplement is 28,288 bytes).
> I just need core, Initialisation, task, semaphore, message,
> partition, fatal error managers. (where do I configurate RTEMS to
> take only the managers I need ?)
>
> Thanks in advance.
>
> Julien.
>
> ------------------------------------------------------------------------
> Découvrez une nouvelle façon d'obtenir des réponses à toutes vos
> questions ! Profitez des connaissances, des opinions et des
> expériences des internautes sur Yahoo! Questions/Réponses
> <http://fr.rd.yahoo.com/evt=42054/*http://fr.answers.yahoo.com>.
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users
>
More information about the users
mailing list