How to program fine-grained real-time concurrent applications in C or Ada

Joel Sherrill joel at rtems.org
Thu Dec 24 17:30:53 UTC 2020


You missed all the directives that use ticks in the Classic API. There is
rtems_task_wake_after for one. Almost every service that had a delay or
timeout is in ticks. The length of a tick is configurable in microseconds.

POSIX has different services and specifies time intervals and delays
differently. See clock_nanosleep for an example where you can even pick the
clock source.

--joel

On Thu, Dec 24, 2020, 5:13 AM Karel Gardas <karel.gardas at centrum.cz> wrote:

>
> I'd try to use POSIX API and POSIX timers. Look into testsuites/psx* tests.
>
> Cheers,
> Karel
>
> On 12/24/20 11:24 AM, Mattia Bottaro wrote:
> > Hi everyone, newbie RTEMS here.
> >
> > I need to develop a multitasking real-time application with RTEMS
> > (preferably in Ada, but also C solutions are welcomed). I see that I can
> > use the Classic API
> > <https://docs.rtems.org/branches/master/c-user/index.html>, but they are
> > unsuitable to my purposes. As you can read here
> > <
> https://docs.rtems.org/branches/master/c-user/task/directives.html#task-wake-when-wake-up-when-specified
> >,
> > the  rtems_task_wake_when directive is too coarse: "The timing
> > granularity of this directive is a second.".
> > I need to work with microseconds-granularity and I cannot find how to do
> it.
> >
> > Thanks in advance.
> >
> > _______________________________________________
> > users mailing list
> > users at rtems.org
> > http://lists.rtems.org/mailman/listinfo/users
> >
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20201224/f373f1e6/attachment.html>


More information about the users mailing list