<div dir="ltr"><div>Is the POSIX API preferred for RTEMS applications moving forward?<br></div><div><br></div><div>Thanks,</div><div>Alan</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 17, 2018 at 5:20 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 15/10/2018 14:23, Thawra Kadeed wrote:<br>
><br>
> Thanks a lot Sebastian for referring me to the git master.<br>
><br>
> Actually, I cloned the current git master and I was looking for the <br>
> RTEMS kernel (source code) and I have found it in this path:<br>
><br>
> "rtems-master/cpukit/rtems"<br>
><br>
> I think this is the RTEMS library which constitutes the RTEMS kernel <br>
> in general irrespective to other features and modules attached to it. <br>
> Is that right?<br>
<br>
This directory contains the Classic API implementation which I would not <br>
use in new applications. The core operating system parts are in <br>
cpukit/score.<br>
<br>
><br>
> On the other hand, RTEMS supports dynamic memory allocation (DMA) and <br>
> priority inheritance. However and as I understood from you, if we <br>
> choose priority-based scheduling (which is another scheduling policy) <br>
> and static memory allocation by the App, then the executable file will <br>
> automatically have only these features without by example the DMA, so <br>
> I think it is all the App dependent, right?<br>
<br>
RTEMS uses currently dynamic memory (the so called workspace) internally <br>
for some things. This was also the case 20 years ago. Maybe we can get <br>
rid of using dynamic memory in some time. By default, it is only used by <br>
the operating system during system initialization.<br>
<br>
Only the services used by the application and the operating system are <br>
included in the executable. For example, if you don't use the FAT file <br>
system, then the stuff for the FAT file system is not in your executable <br>
even though the FAT file system support is in the librtemscpu.a which <br>
you used to link your executable.<br>
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : +49 89 189 47 41-16<br>
Fax     : +49 89 189 47 41-09<br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
<br>
_______________________________________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a></blockquote></div>