How to program fine-grained real-time concurrent applications in C or Ada
joel at rtems.org
Thu Dec 24 22:05:29 UTC 2020
On Thu, Dec 24, 2020, 2:20 PM Mattia Bottaro <mattiabottaro9 at gmail.com>
> Hello Joe Sherrill and thank you for the quick response.
> I'm not sure I understand correctly what you said. According to this
> example (<
> "'ticks' is don't care ( = does not work);". What should I infer from
> this comment?
> I've also checked *rtems_task_wake_after*, but it is not what I'm
> looking for: I need something semantically similar to Ada's *delay until,
> *so *not *a *delay. *That's why neither *clock_nanospleep *is suitable
> for my purposes.
Look at the Rate Monotonic Manager in the Classic API for a nice API for
The clock_nanosleep method has an argument for absolute or relative time.
Combine that with using CLOCK_REALTIME or CLOCK_MONOTONIC for delays until
wall times or a relative time in the future.
> Il giorno gio 24 dic 2020 alle ore 18:31 Joel Sherrill <joel at rtems.org>
> ha scritto:
>> 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.
>> On Thu, Dec 24, 2020, 5:13 AM Karel Gardas <karel.gardas at centrum.cz>
>>> I'd try to use POSIX API and POSIX timers. Look into testsuites/psx*
>>> 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
>>> > use the Classic API
>>> > <https://docs.rtems.org/branches/master/c-user/index.html>, but they
>>> > unsuitable to my purposes. As you can read here
>>> > <
>>> > 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the users