[RTEMS SMP ISVV] : Timer Server

Luis Alves lmbalves at gmail.com
Mon Sep 26 14:29:59 UTC 2022


Thank you for the quick reply.

We agree that it is in fact inconvenient for each user having to provide a
custom stack allocator in order to be able to use the Timer Server feature.

It makes a lot of sense to us and ESA to have this new
rtems_timer_server_construct directive available to the space industry,
thus avoiding the custom stack allocator, which adds inefficiency to the
development process and might be more prone to failure.

Best regards,

Luís Alves
Critical Software


Sebastian Huber <sebastian.huber at embedded-brains.de> escreveu no dia sexta,
23/09/2022 à(s) 12:55:

> On 23.09.22 13:19, Luis Alves wrote:
> > Dear RTEMS community,
> >
> > I’m part of the team performing the Independent Software Verification
> > and Validation (ISVV) of the RTEMS SMP Qualification Data Pack (which is
> > being provided through https://rtems-qual.io.esa.int/
> > <https://rtems-qual.io.esa.int/>).
> >
> > While trying to setup tests to assert the overall “Timer Server”
> > feature, one has realized that:
> >
> >   * Although rtems_timer_initiate_server() is mentioned within section
> >     4.10 of the SW Configuration File (SCF) as a pre-qualified item
> >     (“/which may be directly used by applications/”), one gets build
> >     issues while trying to use it, as it depends on rtems_timer_create().
>
> Yes.
>
> >   * The same SCF (within section 4.9.3) also says: “/The
> >     rtems_task_create() directive is pre-qualified, however, it is only
> >     available if a custom stack allocator is configured. It is
> >     recommended to use rtems_task_construct() instead/”:
> >       o Isn’t this contradictory, as:
> >           + Both rtems_timer_initiate_server() and tems_task_create()
> >             are listed within SCF section 4.10 and
> >           + at the start of section 4.10, it is said that listed items
> >             are “/pre-qualified items .. which may be directly used by
> >             applications/”?
>
> For the current pre-qualified feature set of RTEMS, if you want to use
> rtems_timer_initiate_server(), then you have to provide a custom stack
> allocator.
>
> >   * Given this, shouldn’t rtems_timer_initiate_server() natively use of
> >     rtems_task_construct() rather than rtems_timer_create() as advised?
>
> If you don't want to change the API of rtems_timer_initiate_server(),
> how can you do this?
>
> >   * This makes other two functions listed within SCF section 4.10 as not
> >     directly usable, namely rtems_timer_server_fire_after() and
> >     rtems_timer_server_fire_when() as those are to be used in
> >     conjunction with rtems_timer_initiate_server().
>
> You can use them, if you provide a custom stack allocator.
>
> >   * In a nutshell, this compromises the overall “Timer Server” feature
> >     in the qual-only setup of the QDP.
>
> I just makes it a bit inconvenient to use. One option would be to
> provide a new directive to construct the timer server, for example
> rtems_timer_server_construct().
>
> --
> embedded brains GmbH
> Herr Sebastian HUBER
> Dornierstr. 4
> 82178 Puchheim
> Germany
> email: sebastian.huber at embedded-brains.de
> phone: +49-89-18 94 741 - 16
> fax:   +49-89-18 94 741 - 08
>
> Registergericht: Amtsgericht München
> Registernummer: HRB 157899
> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
> Unsere Datenschutzerklärung finden Sie hier:
> https://embedded-brains.de/datenschutzerklaerung/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20220926/7efa89af/attachment.htm>


More information about the devel mailing list