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