RTEMS in AMP mode

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Oct 17 09:20:36 UTC 2018

On 15/10/2018 14:23, Thawra Kadeed wrote:
> Thanks a lot Sebastian for referring me to the git master.
> Actually, I cloned the current git master and I was looking for the 
> RTEMS kernel (source code) and I have found it in this path:
> "rtems-master/cpukit/rtems"
> I think this is the RTEMS library which constitutes the RTEMS kernel 
> in general irrespective to other features and modules attached to it. 
> Is that right?

This directory contains the Classic API implementation which I would not 
use in new applications. The core operating system parts are in 

> On the other hand, RTEMS supports dynamic memory allocation (DMA) and 
> priority inheritance. However and as I understood from you, if we 
> choose priority-based scheduling (which is another scheduling policy) 
> and static memory allocation by the App, then the executable file will 
> automatically have only these features without by example the DMA, so 
> I think it is all the App dependent, right?

RTEMS uses currently dynamic memory (the so called workspace) internally 
for some things. This was also the case 20 years ago. Maybe we can get 
rid of using dynamic memory in some time. By default, it is only used by 
the operating system during system initialization.

Only the services used by the application and the operating system are 
included in the executable. For example, if you don't use the FAT file 
system, then the stuff for the FAT file system is not in your executable 
even though the FAT file system support is in the librtemscpu.a which 
you used to link your executable.

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 users mailing list