comp.lang.ada
 help / color / mirror / Atom feed
* Why so hard to come up with a simple embedded Ada system?
@ 2010-07-14  4:55 usenet
  2010-07-14  5:33 ` Jeffrey R. Carter
                   ` (8 more replies)
  0 siblings, 9 replies; 27+ messages in thread
From: usenet @ 2010-07-14  4:55 UTC (permalink / raw)


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.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
@ 2010-07-14  5:33 ` Jeffrey R. Carter
  2010-07-14  6:27   ` usenet
  2010-07-14  7:23 ` Dmitry A. Kazakov
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 27+ messages in thread
From: Jeffrey R. Carter @ 2010-07-14  5:33 UTC (permalink / raw)


On 07/13/2010 09:55 PM, usenet@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



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  5:33 ` Jeffrey R. Carter
@ 2010-07-14  6:27   ` usenet
  2010-07-14 18:05     ` Jeffrey R. Carter
  0 siblings, 1 reply; 27+ messages in thread
From: usenet @ 2010-07-14  6:27 UTC (permalink / raw)


On Jul 13, 10:33 pm, "Jeffrey R. Carter"
<spam.jrcarter....@spam.acm.org> wrote:
> On 07/13/2010 09:55 PM, use...@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.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
  2010-07-14  5:33 ` Jeffrey R. Carter
@ 2010-07-14  7:23 ` Dmitry A. Kazakov
  2010-07-17  8:45   ` MRE
  2010-07-14  8:03 ` anon
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 27+ messages in thread
From: Dmitry A. Kazakov @ 2010-07-14  7:23 UTC (permalink / raw)


On Tue, 13 Jul 2010 21:55:45 -0700 (PDT), usenet@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



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
  2010-07-14  5:33 ` Jeffrey R. Carter
  2010-07-14  7:23 ` Dmitry A. Kazakov
@ 2010-07-14  8:03 ` anon
  2010-07-14 11:43 ` jonathan
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 27+ messages in thread
From: anon @ 2010-07-14  8:03 UTC (permalink / raw)


In <37da1783-b355-4d43-a9a8-7f0d4ba4da9c@t13g2000prf.googlegroups.com>, usenet@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. 





^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
                   ` (2 preceding siblings ...)
  2010-07-14  8:03 ` anon
@ 2010-07-14 11:43 ` jonathan
  2010-07-14 12:36 ` jonathan
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 27+ messages in thread
From: jonathan @ 2010-07-14 11:43 UTC (permalink / raw)


On Jul 14, 5:55 am, use...@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.
>
> All comments welcome.

Agree completely.  But if commercially supported software is too
expensive for the

> embedded programmer - student,
> hobbyist or professional - who's heard about Ada and wants to give it
> a spin, including hard-realtime concurrency

(and I'ld be suprised if it were not) then x86 looks promising (intel
atom, amd geode ...).  I just web searched amd geode and found the
wikipedia article

http://en.wikipedia.org/wiki/Geode_(processor)

Worth thinking about .. the wikipedia article has a link to an
article on how to put Linux on a Geode board.  Makes sense ...
along with say, I don't know, Marte-OS.

And for more inspiration,

http://www.circuitcellar.com/archives/viewable/212-Ramirez/index.html

J.






^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
                   ` (3 preceding siblings ...)
  2010-07-14 11:43 ` jonathan
@ 2010-07-14 12:36 ` jonathan
  2010-07-14 12:46 ` Ludovic Brenta
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 27+ messages in thread
From: jonathan @ 2010-07-14 12:36 UTC (permalink / raw)



Another idea. There is, indirectly, non-commercial GNAT support for
an ARM7 product through LEGO MindStorms NXT:

http://libre.adacore.com/libre/tools/mindstorms/
http://shop.lego.com/ByTheme/Product.aspx?p=9841

That's all I know about it ... hth

J.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
                   ` (4 preceding siblings ...)
  2010-07-14 12:36 ` jonathan
@ 2010-07-14 12:46 ` Ludovic Brenta
  2010-07-14 19:56 ` jonathan
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 27+ messages in thread
From: Ludovic Brenta @ 2010-07-14 12:46 UTC (permalink / raw)


Maybe you could consider Debian GNU/Linux on arm[1] or mips[2].

[1] http://www.debian.org/ports/arm/
[2] http://www.debian.org/ports/mips/

Both include a native (not cross) Ada compiler.

This is not exactly "embedded" in the strictest sense, as you are not
cross-compiling or using a hard real-time kernel, but it's close and
accessible to a hobbyist or student. The hardware itself is quite
affordable.

--
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  6:27   ` usenet
@ 2010-07-14 18:05     ` Jeffrey R. Carter
  0 siblings, 0 replies; 27+ messages in thread
From: Jeffrey R. Carter @ 2010-07-14 18:05 UTC (permalink / raw)


On 07/13/2010 11:27 PM, usenet@scriptoriumdesigns.com wrote:
>>
> 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.

Your initial post didn't mention price, simply availability; I am not familiar 
with Sofcheck's pricing for the product. As it comes with a complete runtime 
including exceptions and tasking, it's probably not cheap.

-- 
Jeff Carter
"I fart in your general direction."
Monty Python & the Holy Grail
05



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
                   ` (5 preceding siblings ...)
  2010-07-14 12:46 ` Ludovic Brenta
@ 2010-07-14 19:56 ` jonathan
  2010-07-15  1:36 ` Steve D
  2010-07-17 14:25 ` Lucretia
  8 siblings, 0 replies; 27+ messages in thread
From: jonathan @ 2010-07-14 19:56 UTC (permalink / raw)




More encouraging words from the GNAT GPL/Mindstorms
webpage:
http://libre.adacore.com/libre/tools/mindstorms/

 GNAT GPL Edition for the LEGO MINDSTORMS NXT
 platform brings the possibility of experimenting
 with embedded systems development using the Ada
 2005 and SPARK languages to an education-oriented
 robotic platform. Entire embedded systems, including
 software, hardware and sensors intercefacing,
 and wireless communications can be developed and
 verified using the GPL editions of GNAT and SPARK.

(GNAT GPL is the free-software version of GNAT.)


Regarding the x86 options: just to be clear,
here's what I was talking about when I mentioned
MaRTE OS. From the homepage, http://marte.unican.es/

 The normal development environment for MaRTE OS is a
 computer with a GNU/Linux operating system installed.
 ...
 You can compile MaRTE OS to [produce executables that
 run as] normal Linux processes (without Real-Time
 guarantees, but useful for fast developing, debugging
 and teaching) or

    as binary for an x86 bare machine.

 Finally, write your multi-thread application in Ada, C
 or C++ (check-out the given examples) and use the provided
 scripts (mgnatmake or mgcc) to compile and link it against
 the kernel. You will get an executable that can be run
 on the architecture you chose when you installed MaRTE
 OS (i.e: as a Linux program or as a Multiboot loadable
 x86 binary)

J.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
                   ` (6 preceding siblings ...)
  2010-07-14 19:56 ` jonathan
@ 2010-07-15  1:36 ` Steve D
  2010-07-15  9:50   ` Alex R. Mosteo
  2010-07-17 14:25 ` Lucretia
  8 siblings, 1 reply; 27+ messages in thread
From: Steve D @ 2010-07-15  1:36 UTC (permalink / raw)


<usenet@scriptoriumdesigns.com> wrote in message 
news:37da1783-b355-4d43-a9a8-7f0d4ba4da9c@t13g2000prf.googlegroups.com...
> 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.

The closest I have come is RTEMS http://www.rtems.com.

I haven't looked at it for a while, but there has generally been good Ada 
support.

Regards,
Steve 




^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-15  1:36 ` Steve D
@ 2010-07-15  9:50   ` Alex R. Mosteo
  0 siblings, 0 replies; 27+ messages in thread
From: Alex R. Mosteo @ 2010-07-15  9:50 UTC (permalink / raw)


Steve D wrote:

> <usenet@scriptoriumdesigns.com> wrote in message
> news:37da1783-b355-4d43-a9a8-7f0d4ba4da9c@t13g2000prf.googlegroups.com...
>> 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.
> 
> The closest I have come is RTEMS http://www.rtems.com.
> 
> I haven't looked at it for a while, but there has generally been good Ada
> support.

Hanging down under this RTEMS thread...

May be there's some useful pointer in this old thread:

http://groups.google.com/group/comp.lang.ada/browse_thread/thread/75412f14b0c43a2d/17482244d75fb19a

Also there's MaRTE OS, but I don't know if it targets anything else besides 
x86:

http://marte.unican.es



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  7:23 ` Dmitry A. Kazakov
@ 2010-07-17  8:45   ` MRE
  2010-07-17  9:46     ` Dmitry A. Kazakov
  2010-07-17 16:29     ` Georg Bauhaus
  0 siblings, 2 replies; 27+ messages in thread
From: MRE @ 2010-07-17  8:45 UTC (permalink / raw)


On 14 Jul., 09:23, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:
> On Tue, 13 Jul 2010 21:55:45 -0700 (PDT), use...@scriptoriumdesigns.com
> wrote:

> 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.
>

Being one of the afore-mentioned lazy ignorant profs, I can assure
you, that
most CS departments are for -in many cases even sound- reasons not
interested
in developing BSPs or adapting cross-compilers to a given hardware
architecture.
Embedded Systems is just not sexy enough for them.

The guys who like to see Ada cross-compilers are those in the EE
departments, who
need to write software for embedded systems and are appalled by what
rubbish you
can write in C and still come away with it. Personally I have a
project up and
running where three of my students write code in Ada for AVR (8-Bit
and 32-Bit).
You can find decent Ada cross-compilers for both and that's what I
use.

If you ask me however to do a similar thing for say MSP430, sorry I
can't. I don't
have a clue how to generate the cross-compiler for Ada and I don't
know how to
write / adapt the Ravenscar-Runtime. Furthermore I just don't have the
time to lern
it and I lack the ressources to have my students do it.

The situation might be easier, if there was a decent description
available, that "the average guy"
like me, without a CS degree and thousands of hours of work-time to
spare, can understand.

Best regards,

Marc




^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-17  8:45   ` MRE
@ 2010-07-17  9:46     ` Dmitry A. Kazakov
  2010-07-19 11:06       ` MRE
  2010-07-17 16:29     ` Georg Bauhaus
  1 sibling, 1 reply; 27+ messages in thread
From: Dmitry A. Kazakov @ 2010-07-17  9:46 UTC (permalink / raw)


On Sat, 17 Jul 2010 01:45:24 -0700 (PDT), MRE wrote:

> On 14 Jul., 09:23, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> wrote:
>> On Tue, 13 Jul 2010 21:55:45 -0700 (PDT), use...@scriptoriumdesigns.com
>> wrote:
> 
>> 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.
> 
> Being one of the afore-mentioned lazy ignorant profs, I can assure you, that
> most CS departments are for -in many cases even sound- reasons not interested
> in developing BSPs or adapting cross-compilers to a given hardware architecture.
> Embedded Systems is just not sexy enough for them.

Yes

> The guys who like to see Ada cross-compilers are those in the EE departments, who
> need to write software for embedded systems and are appalled by what rubbish you
> can write in C and still come away with it. Personally I have a project up and
> running where three of my students write code in Ada for AVR (8-Bit and 32-Bit).
> You can find decent Ada cross-compilers for both and that's what I use.
> 
> If you ask me however to do a similar thing for say MSP430, sorry I can't. I don't
> have a clue how to generate the cross-compiler for Ada and I don't know how to
> write / adapt the Ravenscar-Runtime. Furthermore I just don't have the time to lern
> it and I lack the ressources to have my students do it.

But you (education) have time, resources and continuity we (mid-sized
industry) cannot even dream of. We have to deliver a solution in 6-12
months to the customer and move into next, likely unrelated, project. A
university can have a long term program, cooperate with other universities
(NYU), bring together interdisciplinary people, last but not least, publish
the results driving attention to (ours are proprietary). IMO it is
universities, not the industry who in the end drive the software technology
(in whatever direction).

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
                   ` (7 preceding siblings ...)
  2010-07-15  1:36 ` Steve D
@ 2010-07-17 14:25 ` Lucretia
  8 siblings, 0 replies; 27+ messages in thread
From: Lucretia @ 2010-07-17 14:25 UTC (permalink / raw)


On Jul 14, 5:55 am, use...@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

I have to agree, sort of. I have some comments and some questions
regarding this :D

> 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.

With GCC, you can set up GCC, Binutils and Newlib/DietC/uClibc and
have a tasking environment on bare hardware - I've not tried it
myself, so cannot testify to the tasking side of things.

With GCC/GNAT you can do the same thing, but depending on hardware,
depends on what you get. By building for a target of <cpu>-elf, you
will get gnatbind and gnat1 (compiler), but you won't get an installed
runtime. See my site for more info on building these compilers (http://
archeia.com/an-ada95-hello-world-style-kernel.html).

At this point you would be where are with a C library (minus the
tasking and the large runtime). So, you would need to tinker with the
standard.ads package to configure the runtime that you are allowing
people to use, copying bits in from the GNAT source as and when GCC
asked for it. i.e. do you want the secondary stack available? Do you
want it dynamic or static? If so, you need the extra memory for it. Do
you want tasking? depending on the CPU, depends on whether the code is
there for it. Do you want tasking? See below for exceptions[*]. You'll
need to provide primitives that the runtime can use to implement it.
You can configure the runtime for what you want, but you have to
provide the underlying code to support it. Basic parts of the runtime
can be used though, quite easily.

For this kind of work, people just work with a compiler targeted for
the hardware (the target I mentioned above), but for Ada, should we be
creating our own --target=<target> so that we can build a runtime
within the normal GCC build system? Or should we be creating a port
specifically for the board, i.e. adding extra functionality into the
build system to support building for <cpu>-elf?

* On ARM, you can have SJLJ exception handling which isn't part of the
ARM ABI. For zero cost exceptions (part of the ABI), this needs to be
ported as the code just isn't there. I've looked into this recently
and I'm not stuck with the code, I'm stuck trying to work out how to
get a toolchain. I thought I'd try doing it on Maemo as I have an N900
available, but the SDK is based on Scratchbox and I'm on 64-bit and to
be honest, the SB people, point to the Maemo people and the Maemo
people don't give a shit, so don't help.

I think that made sense :D

Luke.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-17  8:45   ` MRE
  2010-07-17  9:46     ` Dmitry A. Kazakov
@ 2010-07-17 16:29     ` Georg Bauhaus
  2010-07-18  0:26       ` usenet
  2010-07-19 11:09       ` MRE
  1 sibling, 2 replies; 27+ messages in thread
From: Georg Bauhaus @ 2010-07-17 16:29 UTC (permalink / raw)


On 7/17/10 10:45 AM, MRE wrote:
> Personally I have a
> project up and
> running where three of my students write code in Ada for AVR (8-Bit
> and 32-Bit).
> You can find decent Ada cross-compilers for both and that's what I
> use.
>
> If you ask me however to do a similar thing for say MSP430, sorry I
> can't. I don't
> have a clue how to generate the cross-compiler for Ada and I don't
> know how to
> write / adapt the Ravenscar-Runtime. Furthermore I just don't have the
> time to lern
> it and I lack the ressources to have my students do it.

Is there, in your view, a way to approach the subject as
a cooperative effort, touchy as it may be, with the simpler
goal of gradually improving an AVR run-time system and the tools?
Maybe making it portable where possible so more vendors
become interested?

If PR noise and bureaucratic overhead have shown to be
counterproductive, maybe occasional produce from here
and there is more effective in helping the effort catch on.
An AVR teaching environment could then become visible even
on the radar of those departments where a preference is
for more abstract computer models.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-17 16:29     ` Georg Bauhaus
@ 2010-07-18  0:26       ` usenet
  2010-07-18 10:15         ` Simon Wright
                           ` (2 more replies)
  2010-07-19 11:09       ` MRE
  1 sibling, 3 replies; 27+ messages in thread
From: usenet @ 2010-07-18  0:26 UTC (permalink / raw)


On Jul 17, 9:29 am, Georg Bauhaus <rm-host.bauh...@maps.futureapps.de>
wrote:
> Is there, in your view, a way to approach the subject as
> a cooperative effort, touchy as it may be, with the simpler
> goal of gradually improving an AVR run-time system and the tools?
> Maybe making it portable where possible so more vendors
> become interested?

I think getting an easy-to-use Ada on AVR (a nice and easy to obtain
chip, and available in DIP for budget prototyping) would be great.
Any form of tasking would probably be too much to ask, but maybe not
on the bigger members of the family.

Every bit as desirable IMO would be Ada on ARM7 and/or Cortex Mx, with
Ravenscar tasking.  The possibilities with Ada on e.g. http://mbed.org/nxp/lpc1768/
are very enticing.

Whatever the software engineering advantages of Ada (and they are
many), I think the high-level concurrency might be the single biggest
initial attraction to a lot of embedded folks.

> If PR noise and bureaucratic overhead have shown to be
> counterproductive, maybe occasional produce from here
> and there is more effective in helping the effort catch on.
> An AVR teaching environment could then become visible even
> on the radar of those departments where a preference is
> for more abstract computer models.

Call it the AAA project, AVR, ARM and Ada.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-18  0:26       ` usenet
@ 2010-07-18 10:15         ` Simon Wright
  2010-07-18 19:26           ` usenet
  2010-07-18 11:48         ` jonathan
  2010-07-19 23:00         ` Brian Drummond
  2 siblings, 1 reply; 27+ messages in thread
From: Simon Wright @ 2010-07-18 10:15 UTC (permalink / raw)


usenet@scriptoriumdesigns.com writes:

> I think getting an easy-to-use Ada on AVR (a nice and easy to obtain
> chip, and available in DIP for budget prototyping) would be great.
> Any form of tasking would probably be too much to ask, but maybe not
> on the bigger members of the family.

GNAT GPL 2010 mentions AVR --
http://libre.adacore.com/libre/tools/gnat-gpl-edition/



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-18  0:26       ` usenet
  2010-07-18 10:15         ` Simon Wright
@ 2010-07-18 11:48         ` jonathan
  2010-07-18 15:26           ` Britt Snodgrass
  2010-07-19 23:00         ` Brian Drummond
  2 siblings, 1 reply; 27+ messages in thread
From: jonathan @ 2010-07-18 11:48 UTC (permalink / raw)



More on GNAT AVR at:

http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=Tutorial

J.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-18 11:48         ` jonathan
@ 2010-07-18 15:26           ` Britt Snodgrass
  2010-07-18 15:50             ` Britt Snodgrass
  0 siblings, 1 reply; 27+ messages in thread
From: Britt Snodgrass @ 2010-07-18 15:26 UTC (permalink / raw)


On Jul 18, 6:48 am, jonathan <johns...@googlemail.com> wrote:
> More on GNAT AVR at:
>
> http://sourceforge.net/apps/mediawiki/avr-ada/index.php?title=Tutorial
>
> J.

Yes, that is for the original 8-bit AVR. Someone has also ported GNAT
to the 32-bit AVR32 (http://en.wikipedia.org/wiki/AVR32).

See http://folk.ntnu.no/gregerts/avr32gnat/ and http://preview.tinyurl.com/32vj95t

I think both types of AVR would be good projects for the c.l.a.
community to support, along with ARM and eventually MSP430 embedded
targets.

- Britt



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-18 15:26           ` Britt Snodgrass
@ 2010-07-18 15:50             ` Britt Snodgrass
  0 siblings, 0 replies; 27+ messages in thread
From: Britt Snodgrass @ 2010-07-18 15:50 UTC (permalink / raw)


In case that tinyrul link doesn't work, its supposed to point to an
IEEE paper abstract at

http://ieeexplore.ieee.org/Xplore/login.jsp?url=http://ieeexplore.ieee.org/iel5/4926138/5090609/05090914.pdf%3Farnumber%3D5090914&authDecision=-203

that I found with a Google search for "avr32 gnat ada"

- Britt



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-18 10:15         ` Simon Wright
@ 2010-07-18 19:26           ` usenet
  0 siblings, 0 replies; 27+ messages in thread
From: usenet @ 2010-07-18 19:26 UTC (permalink / raw)


On Jul 18, 3:15 am, Simon Wright <si...@pushface.org> wrote:
> use...@scriptoriumdesigns.com writes:
> > I think getting an easy-to-use Ada on AVR (a nice and easy to obtain
> > chip, and available in DIP for budget prototyping) would be great.
> > Any form of tasking would probably be too much to ask, but maybe not
> > on the bigger members of the family.
>
> GNAT GPL 2010 mentions AVR --http://libre.adacore.com/libre/tools/gnat-gpl-edition/

I'm downloading it now and will give it a test drive.  Maybe I can
work up an interesting little example to post on avrfreaks.org.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-17  9:46     ` Dmitry A. Kazakov
@ 2010-07-19 11:06       ` MRE
  2010-07-19 17:34         ` Dmitry A. Kazakov
  0 siblings, 1 reply; 27+ messages in thread
From: MRE @ 2010-07-19 11:06 UTC (permalink / raw)


On 17 Jul., 11:46, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:

> But you (education) have time, resources and continuity we (mid-sized
> industry) cannot even dream of.

No, I don't. I am not quite sure where those nice job descriptions for
profs come
from. Every time I read one of those (lots of free time, pursuing
their hobbies,
making huge amounts of money...) I go: "yes, I want one of those jobs,
why don't I have it?".
Reality looks quite different. And: Software development tools ARE NOT
MY JOB!
I can use good ole C for most of what I am doing, so why would my dean
give
me money to do some work on / in Ada? I have not published anything
about language
design, compiler design or any related field, so neither the state,
nor the federal
government nor the European Community is going to fork money my way to
develop a couple
of nice FREE cross compilers.

Have you ever taken a look at what the state of the art is in CS as
compared to
state of the practice? Why do we have all these nice papers
circulating, telling us
how easy it is to develop software -using this or that lanugage,
method etc.-
when we are still using a 40+ years language like C as a standard?

If you wait for universities to drive software-technology, then you'll
get a lot
of quantum-leaps, i.e. you'll most probably not like the direction.
Research goes
where the money is. Pure research in the technical fields -among them
CS- has become
extremely rare.

I've been in the "industry" for quite some time and know how the
blokes in the
avionics business work. I've been working for people for started a new
project in C
because the Ada cross-compiler cost twice as much as the one for C
(Productivity? Never
heard that this will depend on the progrmaming language!). I've
watched
tool vendors try to sell the newest fad (my favourite here being Real-
Time "Java"
for safety-critical systems!) and then go down the drain in ever
tightening spirals.
Why are there so many C compiler vendors out there as opposed to a
very small (and
declining) number of Ada vendors? Because of the universities not
doing research?
I don't think so!

It's the users, the companies that make money by buying tools and
selling software
that have the leverage. They have the money.  True: this will not
always hold for SMEs.



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-17 16:29     ` Georg Bauhaus
  2010-07-18  0:26       ` usenet
@ 2010-07-19 11:09       ` MRE
  1 sibling, 0 replies; 27+ messages in thread
From: MRE @ 2010-07-19 11:09 UTC (permalink / raw)


On 17 Jul., 18:29, Georg Bauhaus <rm-host.bauh...@maps.futureapps.de>
wrote:
> On 7/17/10 10:45 AM, MRE wrote:
>
> > Personally I have a
> > project up and
> > running where three of my students write code in Ada for AVR (8-Bit
> > and 32-Bit).
> > You can find decent Ada cross-compilers for both and that's what I
> > use.
>
> > If you ask me however to do a similar thing for say MSP430, sorry I
> > can't. I don't
> > have a clue how to generate the cross-compiler for Ada and I don't
> > know how to
> > write / adapt the Ravenscar-Runtime. Furthermore I just don't have the
> > time to lern
> > it and I lack the ressources to have my students do it.
>
> Is there, in your view, a way to approach the subject as
> a cooperative effort, touchy as it may be, with the simpler
> goal of gradually improving an AVR run-time system and the tools?
> Maybe making it portable where possible so more vendors
> become interested?
>
> If PR noise and bureaucratic overhead have shown to be
> counterproductive, maybe occasional produce from here
> and there is more effective in helping the effort catch on.
> An AVR teaching environment could then become visible even
> on the radar of those departments where a preference is
> for more abstract computer models.

In fact yes. I am currently trying to get a tool vendor to support
a research proposal in that direction. Still: my ressources are
restricted. Sigh!



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-19 11:06       ` MRE
@ 2010-07-19 17:34         ` Dmitry A. Kazakov
  2010-07-19 18:39           ` Jeffrey R. Carter
  0 siblings, 1 reply; 27+ messages in thread
From: Dmitry A. Kazakov @ 2010-07-19 17:34 UTC (permalink / raw)


On Mon, 19 Jul 2010 04:06:31 -0700 (PDT), MRE wrote:

> On 17 Jul., 11:46, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> wrote:
> 
>> But you (education) have time, resources and continuity we (mid-sized
>> industry) cannot even dream of.
> 
> No, I don't. I am not quite sure where those nice job descriptions for profs come
> from. Every time I read one of those (lots of free time, pursuing their hobbies,
> making huge amounts of money...) I go: "yes, I want one of those jobs,
> why don't I have it?".
> Reality looks quite different. And: Software development tools ARE NOT MY JOB!

Maybe, it is a part of the process. Niklaus Wirth, to name just one, was a
prof and an author and developer of so many programming languages. Was any
notable programming language designed as a part of some managed business
project? Even awful C was developed because guys were on the loose. If
there were a manager around, we would not enjoy it.

> I can use good ole C for most of what I am doing, so why would my dean give
> me money to do some work on / in Ada?

Do you need them? I didn't mean some project. I mean an activity.

> I have not published anything about language
> design, compiler design or any related field, so neither the state, nor the federal
> government nor the European Community is going to fork money my way to develop a couple
> of nice FREE cross compilers.

You publish about the language applied to the problems from your domain.
Nobody is doing any fundamental or semi-fundamental research in this field
anyway.

> Have you ever taken a look at what the state of the art is in CS as compared to
> state of the practice?

Catastrophic vs. disastrous. What makes you believe that industry is any
better? After all the engineers are produced by universities. They don't
get much better as they age. I mean if somebody was unable to understand
anything about software design during 5 years of education, then the
chances that he will do later are minimal. Industry adds time pressure,
teaches cynicism, tricks and wrong habits. We take boys with shiny eyes and
make dull working horses out of them.

> Why do we have all these nice papers circulating, telling us
> how easy it is to develop software -using this or that lanugage, method etc.-
> when we are still using a 40+ years language like C as a standard?

Not because industry guys are writing them. We do business proposals,
meeting minutes, responses to enraged customers etc.

> If you wait for universities to drive software-technology, then you'll get a lot
> of quantum-leaps, i.e. you'll most probably not like the direction.

Yes. But there is at least some competition between universities, which
does not exist in the software industry, except for maybe the gaming one.
There is no software market, how do you want to get whatever progress
without market?

> Research goes
> where the money is. Pure research in the technical fields -among them
> CS- has become extremely rare.

Agreed. But mid-sized industry is incapable and unwilling to do any
research. And the research done by big companies is better not to have at
all. No need to name examples known to everybody.

Why a bunch of unorganized amateurs is capable to challenge software
industry? Because they are good? No, because industry is so bad.

> I've been in the "industry" for quite some time and know how the blokes in the
> avionics business work. I've been working for people for started a new project in C
> because the Ada cross-compiler cost twice as much as the one for C (Productivity? Never
> heard that this will depend on the progrmaming language!). I've watched
> tool vendors try to sell the newest fad (my favourite here being Real- Time "Java"
> for safety-critical systems!) and then go down the drain in ever tightening spirals.
> Why are there so many C compiler vendors out there as opposed to a very small (and
> declining) number of Ada vendors? Because of the universities not doing research?
> I don't think so!

You adequately described what is going on in the industry. This is how it
works and this is how it will. You just don't get anything meaningful from
us, see the Peter Principle.

> It's the users, the companies that make money by buying tools and selling software
> that have the leverage.

Nope, because there is no market. And each new segment where a market could
grow is burned down within 2-5 years, one by one. It is a political and
social problem, nothing can be done about it. There exist only universities
and free software movement where freedom lives. I don't believe in the
latter.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-19 17:34         ` Dmitry A. Kazakov
@ 2010-07-19 18:39           ` Jeffrey R. Carter
  0 siblings, 0 replies; 27+ messages in thread
From: Jeffrey R. Carter @ 2010-07-19 18:39 UTC (permalink / raw)


On 07/19/2010 10:34 AM, Dmitry A. Kazakov wrote:
> Was any notable programming language designed as a part of some managed
> business project?

Ada.

-- 
Jeff Carter
"How'd you like to hide the egg and gurgitate
a few saucers of mocha java?"
Never Give a Sucker an Even Break
101



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: Why so hard to come up with a simple embedded Ada system?
  2010-07-18  0:26       ` usenet
  2010-07-18 10:15         ` Simon Wright
  2010-07-18 11:48         ` jonathan
@ 2010-07-19 23:00         ` Brian Drummond
  2 siblings, 0 replies; 27+ messages in thread
From: Brian Drummond @ 2010-07-19 23:00 UTC (permalink / raw)


On Sat, 17 Jul 2010 17:26:45 -0700 (PDT), usenet@scriptoriumdesigns.com wrote:

>On Jul 17, 9:29�am, Georg Bauhaus <rm-host.bauh...@maps.futureapps.de>
>wrote:
>> Is there, in your view, a way to approach the subject as
>> a cooperative effort, touchy as it may be, with the simpler
>> goal of gradually improving an AVR run-time system and the tools?
>> Maybe making it portable where possible so more vendors
>> become interested?
>
>I think getting an easy-to-use Ada on AVR (a nice and easy to obtain
>chip, and available in DIP for budget prototyping) would be great.
>Any form of tasking would probably be too much to ask, but maybe not
>on the bigger members of the family.
>
>Every bit as desirable IMO would be Ada on ARM7 and/or Cortex Mx, with
>Ravenscar tasking.  The possibilities with Ada on e.g. http://mbed.org/nxp/lpc1768/
>are very enticing.

Another attractive ARM target, possibly more widely known in the open source
community, would be the Beagle Board.

http://beagleboard.org/

- Brian



^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2010-07-19 23:00 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-14  4:55 Why so hard to come up with a simple embedded Ada system? usenet
2010-07-14  5:33 ` Jeffrey R. Carter
2010-07-14  6:27   ` usenet
2010-07-14 18:05     ` Jeffrey R. Carter
2010-07-14  7:23 ` Dmitry A. Kazakov
2010-07-17  8:45   ` MRE
2010-07-17  9:46     ` Dmitry A. Kazakov
2010-07-19 11:06       ` MRE
2010-07-19 17:34         ` Dmitry A. Kazakov
2010-07-19 18:39           ` Jeffrey R. Carter
2010-07-17 16:29     ` Georg Bauhaus
2010-07-18  0:26       ` usenet
2010-07-18 10:15         ` Simon Wright
2010-07-18 19:26           ` usenet
2010-07-18 11:48         ` jonathan
2010-07-18 15:26           ` Britt Snodgrass
2010-07-18 15:50             ` Britt Snodgrass
2010-07-19 23:00         ` Brian Drummond
2010-07-19 11:09       ` MRE
2010-07-14  8:03 ` anon
2010-07-14 11:43 ` jonathan
2010-07-14 12:36 ` jonathan
2010-07-14 12:46 ` Ludovic Brenta
2010-07-14 19:56 ` jonathan
2010-07-15  1:36 ` Steve D
2010-07-15  9:50   ` Alex R. Mosteo
2010-07-17 14:25 ` Lucretia

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