From: usenet on
I'll just come out and say it - for a language that was designed for
as much for embedded applications as for anything, it seems to be
maddeningly difficult to actually get Ada on a modest embedded
platform. By modest I mean low-end 32 bits, no MMU. ARM7 or Cortex
Mx would be my first choice. I can be up and running on such a
platform with C and a tasking library in a day (Rowley Crossworks,
nice package). Why can't I do the same with Ada? Or rather, to avoid
making this about me, why can't an embedded programmer - student,
hobbyist or professional - who's heard about Ada and wants to give it
a spin, including hard-realtime concurrency, just do it?

If Ada fans (I include myself) want to see Ada get more exposure, this
seems like not only a desirable step but a necessary one. I can run C
on a thousand such boards, and I can't (AFAIK) run Ada on one.

Maybe this is all available, and I just haven't found out where. Then
that's a problem too, but I'll be happy to hear about it.

All comments welcome.
From: Jeffrey R. Carter on
On 07/13/2010 09:55 PM, usenet(a)scriptoriumdesigns.com wrote:
>
> If Ada fans (I include myself) want to see Ada get more exposure, this
> seems like not only a desirable step but a necessary one. I can run C
> on a thousand such boards, and I can't (AFAIK) run Ada on one.

I can get Ada on all of them: Sofcheck's Ada compiler that produces ANSI C as
its intermediate language.

http://sofcheck.com/products/adamagic.html

--
Jeff Carter
"When Roman engineers built a bridge, they had to stand under it
while the first legion marched across. If programmers today
worked under similar ground rules, they might well find
themselves getting much more interested in Ada!"
Robert Dewar
62
From: usenet on
On Jul 13, 10:33 pm, "Jeffrey R. Carter"
<spam.jrcarter....(a)spam.acm.org> wrote:
> On 07/13/2010 09:55 PM, use...(a)scriptoriumdesigns.com wrote:
>
>
>
> > If Ada fans (I include myself) want to see Ada get more exposure, this
> > seems like not only a desirable step but a necessary one.  I can run C
> > on a thousand such boards, and I can't (AFAIK) run Ada on one.
>
> I can get Ada on all of them: Sofcheck's Ada compiler that produces ANSI C as
> its intermediate language.
>
> http://sofcheck.com/products/adamagic.html
>
Yes, AdaMagic is on my definitely-check-out list, but does it actually
address the audience I'm talking about? Can a personal copy be had
for e.g. the $150 I spent on the Rowley tools? And even that's
pushing it for students and hobbyists.

And what about concurrency? How does AdaMagic provide for that? I
don't see anything on their website that addresses that question.
From: Dmitry A. Kazakov on
On Tue, 13 Jul 2010 21:55:45 -0700 (PDT), usenet(a)scriptoriumdesigns.com
wrote:

> I'll just come out and say it - for a language that was designed for
> as much for embedded applications as for anything, it seems to be
> maddeningly difficult to actually get Ada on a modest embedded
> platform. By modest I mean low-end 32 bits, no MMU. ARM7 or Cortex
> Mx would be my first choice. I can be up and running on such a
> platform with C and a tasking library in a day (Rowley Crossworks,
> nice package). Why can't I do the same with Ada? Or rather, to avoid
> making this about me, why can't an embedded programmer - student,
> hobbyist or professional - who's heard about Ada and wants to give it
> a spin, including hard-realtime concurrency, just do it?
>
> If Ada fans (I include myself) want to see Ada get more exposure, this
> seems like not only a desirable step but a necessary one. I can run C
> on a thousand such boards, and I can't (AFAIK) run Ada on one.
>
> Maybe this is all available, and I just haven't found out where. Then
> that's a problem too, but I'll be happy to hear about it.

Board vendors do not care to provide Ada board packages. On the other side
Ada compiler vendors have no time or desire to do it for thousands of
boards for which you can barely find one customer or two.

The bottom line, if students want to use modern software developing
techniques (read Ada), they have to press on lazy ignorant profs. Board
package in Ada is a perfect project for a university SW engineering
department.

--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
From: anon on
In <37da1783-b355-4d43-a9a8-7f0d4ba4da9c(a)t13g2000prf.googlegroups.com>, usenet(a)scriptoriumdesigns.com writes:
>I'll just come out and say it - for a language that was designed for
>as much for embedded applications as for anything, it seems to be
>maddeningly difficult to actually get Ada on a modest embedded
>platform. By modest I mean low-end 32 bits, no MMU. ARM7 or Cortex
>Mx would be my first choice. I can be up and running on such a
>platform with C and a tasking library in a day (Rowley Crossworks,
>nice package). Why can't I do the same with Ada? Or rather, to avoid
>making this about me, why can't an embedded programmer - student,
>hobbyist or professional - who's heard about Ada and wants to give it
>a spin, including hard-realtime concurrency, just do it?
>
>If Ada fans (I include myself) want to see Ada get more exposure, this
>seems like not only a desirable step but a necessary one. I can run C
>on a thousand such boards, and I can't (AFAIK) run Ada on one.
>
>Maybe this is all available, and I just haven't found out where. Then
>that's a problem too, but I'll be happy to hear about it.
>
>All comments welcome.
First, Ada was designed to be an application language, not only to be
used for applications but Ada allows all programming including embedded.

As for concurrency and real-time are built-in features of the Ada
language from 83 to the current version.

In a Ada shop you can write your code on a Host system, test and debug
then recompile to the embedded target system. Of course, to do this the
Host system must emulate the devices on targets system and the compiler
must be able to generate the object module for that target system. But
most of these Ada compiles that have is ability are out of the price
range of students. But there are a few projects like for ARMs that uses
GPL GNAT that are around, if you do a little research you should be able
to find one or two.