[RTEMS SMP ISVV] : Timer Server

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Sep 23 11:55:44 UTC 2022


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/


More information about the devel mailing list