comp.lang.ada
 help / color / mirror / Atom feed
From: Jacob Sparre Andersen <sparre@nbi.dk>
Subject: Re: understanding runtime support
Date: Tue, 15 May 2012 09:47:44 +0200
Date: 2012-05-15T09:47:44+02:00	[thread overview]
Message-ID: <878vgtrilb.fsf@adaheads.sparre-andersen.dk> (raw)
In-Reply-To: 10099625.0.1337029342748.JavaMail.geo-discussion-forums@yneh4

mjsilva@scriptoriumdesigns.com writes:
> On Monday, May 14, 2012 1:04:56 PM UTC-7, Patrick wrote:

>> Now it seems I am supposed to roll my own runtime or other low level
>> solution, [...]

This still depends on both your target system and on which parts of Ada
you want to use in your system.

If you are willing to use LEGO Mindstorms NXT as your target system,
there is a ready-to-use GNAT version supporting the Ravenscar profile.

If you want to use Arduino as your target system, there is a
ready-to-compile GNAT version (AVR-Ada), which doesn't support the
Ravenscar profile yet, but is likely to get there.

If you want to use a Gumstix Overo or a Raspberry Pi running Debian, it
(Debian) comes with a complete GNAT compiler.

So it is not like there aren't any options.  You just have to think
about what you want to do and what it requires.  Then you can take a
look at the options and see which one fits your problem (best).

>> Is full, multi-tasking, Ada only used for embedded design by
>> companies like Boeing that can port Ada to new devices all by
>> themselves? What do small time people like me do?

Use the available options or build the necessary additions to the
available options.

If nobody else gets to it first, I will take a look at how the
GNAT-for-Mindstorms kernel is implemented, and see if I can port it to
the Arduino (AVR).

> I find this situation rather insane as well.  As you said, Ada is an
> embedded language.  OK, to be more precise, Ada is a language which
> had as a primary design goal the creation of embedded applications.
> And yet it seems in practice to be quite impossible to use on embedded
> applications without a full-blown OS/RTOS underneath it.

I would say that GNAT-for-Mindstorms is a very good demonstration that
you don't need a "full-blown OS/RTOS" underneath Ada.

> One _can_ do Ada tasking, at least, using a bare metal implementation
> - the GNAT Lego Mindstorms port does this, I believe.

Yes.

Another option (not tested by me) is ARM-Ada:

   http://sourceforge.net/projects/arm-ada/

> Sadly, there does not seem to be a cookbook as to how to create such a
> bare metal port for other devices/families.

Apparently not. - Maybe it is time to write one?

Greetings,

Jacob
-- 
"Science is like sex: sometimes something useful comes out,
 but that is not the reason we are doing it"
                                          -- Richard Feynman



  parent reply	other threads:[~2012-05-15  7:47 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-11  3:49 understanding runtime support Patrick
2012-05-13  4:49 ` Shark8
2012-05-13 15:26   ` Patrick
2012-05-14  4:37     ` Shark8
2012-05-14  8:24     ` Ludovic Brenta
2012-05-14 11:31       ` Patrick
2012-05-14 18:34         ` Shark8
2012-05-14 20:04           ` Patrick
2012-05-14 21:02             ` mjsilva
2012-05-15  6:48               ` Randy Brukardt
2012-05-15 15:22                 ` mjsilva
2012-05-15 15:41                   ` Lucretia
2012-05-15 16:05                   ` Lucretia
2012-05-15 16:29                     ` mjsilva
2012-05-15 17:02                       ` Lucretia
2012-05-16 17:51                 ` Tero Koskinen
2012-05-17  6:39                   ` Simon Wright
2012-05-17 18:09                     ` Tero Koskinen
2012-05-17 18:15                     ` John B. Matthews
2012-05-15  7:47               ` Jacob Sparre Andersen [this message]
2012-05-15 16:27                 ` Jeffrey Carter
2012-05-15 16:38                 ` Brian Drummond
2012-05-15 16:49                   ` Patrick
2012-05-15 16:50                   ` Patrick
2012-05-15 14:24               ` Lucretia
2012-05-14 22:52             ` Shark8
2012-05-15  0:04               ` Patrick
2012-05-15  7:39               ` Dmitry A. Kazakov
2012-05-15 14:19       ` Lucretia
2012-05-15  7:26 ` Ludovic Brenta
2012-05-15 14:31   ` Lucretia
2012-05-16 16:24   ` tmoran
2012-05-17  0:15     ` Randy Brukardt
2012-05-15 14:48 ` Lucretia
2012-05-15 14:55 ` Lucretia
2012-05-15 15:32   ` Mike Silva
2012-05-15 16:04     ` Lucretia
replies disabled

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