comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: ANN: Cortex GNAT RTS 2018-07-15
Date: Fri, 27 Jul 2018 21:20:20 +0100
Date: 2018-07-27T21:20:20+01:00	[thread overview]
Message-ID: <lyd0v8qvln.fsf@pushface.org> (raw)
In-Reply-To: 87wothrqrs.fsf@nightsong.com

Paul Rubin <no.email@nospam.invalid> writes:

> Simon Wright <simon@pushface.org> writes:
>>         freertos...
>
> I took a look at the freertos source code: the common kernel is 3
> files total around 10 KLOC of C, though a lot of it is conditionally
> compiled based on feature flags.  It's about what you'd expect in an
> RTOS, i.e.  very low level, lots of pointer banging, critical
> sections, etc.
>
> I wonder whether it's feasible to write something like that in Ada, with
> just a few calls to intrinsics for stuff like interrupts.  Any thoughts?
> It seems like a shame to have that much C code at the bottom of an Ada
> application.

FreeRTOS has the advantage of existing, with many targets, with the
possibility of support, with options such as file systems & networking,
and being libre.

At the time I started with Cortex GNAT RTS, aside from it being an
interesting project, there was quite a lot of chat about the fact that
GNAT GPL (now CE) was pure GPL. I was also familiar with GNAT's
VxWorks(5.3) target, also running over an RTOS, so running over an RTOS
was quite natural.

I agree that a considerable chunk of FreeRTOS could probably be replaced
by straightforward Ada code, but that'd be someone else's project!

The RTOS part of AdaCore's embedded Ravenscar RTOSs (s-bb*.ad?) is about
5500 lines (1250 semicolons) of Ada.

  parent reply	other threads:[~2018-07-27 20:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-15 19:41 ANN: Cortex GNAT RTS 2018-07-15 Simon Wright
2018-07-15 21:53 ` Paul Rubin
2018-07-16  8:53   ` fabien.chouteau
2018-07-16 11:56   ` Simon Wright
2018-07-27  9:07     ` Paul Rubin
2018-07-27 10:13       ` fabien.chouteau
2018-07-27 20:20       ` Simon Wright [this message]
2018-07-27 20:51         ` Paul Rubin
2018-07-28 11:18           ` Simon Wright
2018-07-16 14:56   ` Simon Wright
2018-07-17  2:14     ` Paul Rubin
2018-07-17  8:27       ` fabien.chouteau
2018-07-17  9:43         ` Paul Rubin
2018-07-17 10:21           ` fabien.chouteau
2018-07-17 13:14       ` Simon Wright
2018-07-17 19:46         ` Paul Rubin
2018-07-18  0:59           ` Paul Rubin
2018-07-18  7:27           ` Dmitry A. Kazakov
2018-07-18  8:29             ` Paul Rubin
2018-07-18 11:31         ` Tero Koskinen
2018-07-18 21:52           ` Paul Rubin
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox