From: jonathan on
On Jul 14, 5:55 am, use...(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.
>
> 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.



From: jonathan on

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.
From: Ludovic Brenta on
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.
From: Jeffrey R. Carter on
On 07/13/2010 11:27 PM, usenet(a)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
From: jonathan on


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.