Reducing RTEMS size to <32KB to fit in Epiphany local memories

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Dec 18 07:58:53 UTC 2014


Hello,

is this 32KiB for code and data?

You should also disable the Newlib reentrancy:

#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY

Try to add:

CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections

LDFLAGS = -Wl,--gc-sections

to the *.cfg file of the BSP.  You need a proper linker command file to 
use these options.

Avoid printf() and instead use printk() or no output.

For a really small RTEMS we need the constructor based initialization.  
We should probably also get rid of the workspace and use static 
initialization only.

On 17/12/14 17:00, Hesham Moustafa wrote:
> Hi all,
>
> I am working on reducing RTEMS size to fit into <32KB as every Epiphay
> core has only 32KB of local memory. I was able to get hello and
> minimum samples with aggressive size reduction by manually removing
> un-needed code. Currently I only use libcsupport, sapi, score, rtems
> built for cpukit only, and for each, some source code files were
> removed. No IO, no FS, no barrier, event, managers are included. And I
> added -Os flag. However when building ticker, the .text area overflows
> the 32KB local memory by about 8KB.
>
> The question is, what are the very basic mandatory sources/libraries
> and/or managers that are enough to build ticker?
>
> Regards,
> Hesham
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the devel mailing list