From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Ravenscar and context switching for Cortex-M4
Date: Thu, 12 Feb 2015 23:28:18 +0200
Date: 2015-02-12T23:28:18+02:00 [thread overview]
Message-ID: <ck4k7iFmom0U1@mid.individual.net> (raw)
In-Reply-To: <ba36d86a-cfb6-475f-9cec-12f1cbb39087@googlegroups.com>
On 15-02-12 22:25 , Patrick Noffke wrote:
> I am porting the GNAT Ravenscar-sfp runtime to work with the TI TM4C
> MCU, using the STM32F4 implementation as a starting point. I am
> having a problem where one of two tasks blocked on entries (each in
> separate protected objects) is not getting activated.
Can't help you with that, sorry... but hurrah! for working on Ada
run-times for microcontrollers.
> According to
> http://docs.adacore.com/gnathie_ug-docs/html/gnathie_ug/gnathie_ug/the_predefined_profiles.html#ada-restrictions-in-the-ravenscar-profiles,
> at most one task may be queued on an entry. I take this to mean *on
> a single entry* and that two tasks may be simultaneously queued on
> separate entries. Is that correct?
Definitely correct. In typical Ravenscar applications, at any one time
there are many tasks queued on entries, but at most one task is queued
on each entry at the same time.
In some Ravenscar design guidelines, it is suggested that there should
be a static association between task and entry, so that for each entry
there is exactly one task that ever queues on this entry. This guideline
ensures that there is no risk of two or more tasks ever queuing on the
same entry at the same time, but I believe that the profile does not
require this design rule -- it is allowed for more than one task to
queue on the same entry, as long as they do not do it at the same time.
In other words, the entry-queue length should never be more than one in
a Ravenscar system (which means that it is not necessary to implement
actual entry queues in the run-time).
--
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
. @ .
next prev parent reply other threads:[~2015-02-12 21:28 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-12 20:25 Ravenscar and context switching for Cortex-M4 Patrick Noffke
2015-02-12 21:28 ` Niklas Holsti [this message]
2015-02-13 12:41 ` G.B.
2015-02-13 16:25 ` Simon Wright
2015-02-13 18:08 ` Niklas Holsti
2015-02-13 19:01 ` Simon Wright
2015-02-13 23:45 ` Georg Bauhaus
2015-02-16 16:27 ` Patrick Noffke
2015-02-16 16:34 ` Patrick Noffke
2015-02-16 21:28 ` Simon Wright
2015-02-19 20:14 ` Patrick Noffke
2015-02-19 21:03 ` Bob Duff
2015-02-20 13:05 ` Simon Wright
2015-02-19 22:13 ` Patrick Noffke
2015-02-19 22:44 ` Patrick Noffke
2015-02-20 8:31 ` Simon Wright
2015-06-24 15:20 ` Patrick Noffke
2015-08-06 21:05 ` Patrick Noffke
2015-08-06 21:43 ` Patrick Noffke
2015-08-07 20:34 ` Patrick Noffke
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox