comp.lang.ada
 help / color / mirror / Atom feed
* Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
@ 2013-06-19  7:51 Marcus F
  2013-06-19 18:20 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada Jacob Sparre Andersen
  2013-07-07  9:16 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Lucretia
  0 siblings, 2 replies; 55+ messages in thread
From: Marcus F @ 2013-06-19  7:51 UTC (permalink / raw)


Pretty much what the topic says, I'm asking for suggestions on getting started with embedded systems.

No heavy OS, light and fast, so I figured a RTOS to run mainly ADA software.

Is there a guide somewhere?

I've tried searching and it's hard to find useable information if you're a beginner.

My goal is to design an embedded system for my car, it's just for fun but will include external sensors and controls.

I don't want to run a full OS, if I did I could just go with a "car-puter" and an Arduino, I'm curious about how to design and build it as an embedded system.

Please note that I'm not asking anyone to teach me, or design it by proxy, but point me in the right direction.


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada
  2013-06-19  7:51 Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Marcus F
@ 2013-06-19 18:20 ` Jacob Sparre Andersen
  2013-06-19 18:59   ` Marcus F
  2013-07-07  9:16 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Lucretia
  1 sibling, 1 reply; 55+ messages in thread
From: Jacob Sparre Andersen @ 2013-06-19 18:20 UTC (permalink / raw)


Marcus F wrote:

> Pretty much what the topic says, I'm asking for suggestions on getting
> started with embedded systems.
>
> No heavy OS, light and fast, so I figured a RTOS to run mainly Ada
> software.

A tried option is an Arduino and AVR-Ada
(http://sourceforge.net/p/avr-ada/wiki/Home/), but it is not quite a
full Ada implementation.

Another option is x86 and Marte OS (http://marte.unican.es/).

If you want to play with LEON2/3 CPUs ORK+ (http://web.dit.upm.es/~ork/)
is an option.  I don't know how easy LEON2/3 CPUs are to come by.

RTEMS (http://rtems.org/) should be another option - with a large choice
of target architectures - but I am not sure I know anybody actually
using RTEMS and Ada.

Greetings,

Jacob
-- 
"Those who will not reason, are bigots,
 those who cannot, are fools, and
 those who dare not, are slaves."


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada
  2013-06-19 18:20 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada Jacob Sparre Andersen
@ 2013-06-19 18:59   ` Marcus F
  2013-06-19 19:25     ` Marcus F
  2013-07-12 20:35     ` Rego, P.
  0 siblings, 2 replies; 55+ messages in thread
From: Marcus F @ 2013-06-19 18:59 UTC (permalink / raw)


Thank you, Jacob, this is excellent information.

I'd heard about ADA on Arduino, but wouldn't there be a relatively severe lack of space for code?

x86 and Marte sounds like a good beginner option, hardware is cheap and easy to come by, and I'm not worried about board-size or anything like that, this is purely for learning how to design, develop, and integrate a real system.

On Wednesday, June 19, 2013 1:20:45 PM UTC-5, Jacob Sparre Andersen wrote:
> Marcus F wrote:
> 
> 
> 
> > Pretty much what the topic says, I'm asking for suggestions on getting
> 
> > started with embedded systems.
> 
> >
> 
> > No heavy OS, light and fast, so I figured a RTOS to run mainly Ada
> 
> > software.
> 
> 
> 
> A tried option is an Arduino and AVR-Ada
> 
> (http://sourceforge.net/p/avr-ada/wiki/Home/), but it is not quite a
> 
> full Ada implementation.
> 
> 
> 
> Another option is x86 and Marte OS (http://marte.unican.es/).
> 
> 
> 
> If you want to play with LEON2/3 CPUs ORK+ (http://web.dit.upm.es/~ork/)
> 
> is an option.  I don't know how easy LEON2/3 CPUs are to come by.
> 
> 
> 
> RTEMS (http://rtems.org/) should be another option - with a large choice
> 
> of target architectures - but I am not sure I know anybody actually
> 
> using RTEMS and Ada.
> 
> 
> 
> Greetings,
> 
> 
> 
> Jacob
> 
> -- 
> 
> "Those who will not reason, are bigots,
> 
>  those who cannot, are fools, and
> 
>  those who dare not, are slaves."



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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada
  2013-06-19 18:59   ` Marcus F
@ 2013-06-19 19:25     ` Marcus F
  2013-07-12 20:35     ` Rego, P.
  1 sibling, 0 replies; 55+ messages in thread
From: Marcus F @ 2013-06-19 19:25 UTC (permalink / raw)


Looking at their forum, it's very much dead, but if the software works and I can figure out how to install it and interface with a serial port or an IO board it should serve just fine as a starting point.

On Wednesday, June 19, 2013 1:59:01 PM UTC-5, Marcus F wrote:
> Thank you, Jacob, this is excellent information.
> 
> 
> 
> I'd heard about ADA on Arduino, but wouldn't there be a relatively severe lack of space for code?
> 
> 
> 
> x86 and Marte sounds like a good beginner option, hardware is cheap and easy to come by, and I'm not worried about board-size or anything like that, this is purely for learning how to design, develop, and integrate a real system.
> 
> 
> 
> On Wednesday, June 19, 2013 1:20:45 PM UTC-5, Jacob Sparre Andersen wrote:
> 
> > Marcus F wrote:
> 
> > 
> 
> > 
> 
> > 
> 
> > > Pretty much what the topic says, I'm asking for suggestions on getting
> 
> > 
> 
> > > started with embedded systems.
> 
> > 
> 
> > >
> 
> > 
> 
> > > No heavy OS, light and fast, so I figured a RTOS to run mainly Ada
> 
> > 
> 
> > > software.
> 
> > 
> 
> > 
> 
> > 
> 
> > A tried option is an Arduino and AVR-Ada
> 
> > 
> 
> > (http://sourceforge.net/p/avr-ada/wiki/Home/), but it is not quite a
> 
> > 
> 
> > full Ada implementation.
> 
> > 
> 
> > 
> 
> > 
> 
> > Another option is x86 and Marte OS (http://marte.unican.es/).
> 
> > 
> 
> > 
> 
> > 
> 
> > If you want to play with LEON2/3 CPUs ORK+ (http://web.dit.upm.es/~ork/)
> 
> > 
> 
> > is an option.  I don't know how easy LEON2/3 CPUs are to come by.
> 
> > 
> 
> > 
> 
> > 
> 
> > RTEMS (http://rtems.org/) should be another option - with a large choice
> 
> > 
> 
> > of target architectures - but I am not sure I know anybody actually
> 
> > 
> 
> > using RTEMS and Ada.
> 
> > 
> 
> > 
> 
> > 
> 
> > Greetings,
> 
> > 
> 
> > 
> 
> > 
> 
> > Jacob
> 
> > 
> 
> > -- 
> 
> > 
> 
> > "Those who will not reason, are bigots,
> 
> > 
> 
> >  those who cannot, are fools, and
> 
> > 
> 
> >  those who dare not, are slaves."

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-06-19  7:51 Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Marcus F
  2013-06-19 18:20 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada Jacob Sparre Andersen
@ 2013-07-07  9:16 ` Lucretia
  2013-07-07  9:56   ` Dmitry A. Kazakov
  1 sibling, 1 reply; 55+ messages in thread
From: Lucretia @ 2013-07-07  9:16 UTC (permalink / raw)


Why not just buy a small SBC and just target Ada directly on the hardware. You don't have to have an OS at all.

Luke.


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-07  9:16 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Lucretia
@ 2013-07-07  9:56   ` Dmitry A. Kazakov
  2013-07-07 10:58     ` Simon Clubley
  2013-07-09 13:53     ` Shmuel Metz
  0 siblings, 2 replies; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-07  9:56 UTC (permalink / raw)


On Sun, 7 Jul 2013 02:16:29 -0700 (PDT), Lucretia wrote:

> Why not just buy a small SBC and just target Ada directly on the hardware.
> You don't have to have an OS at all.

There exist heaters better than a computer performing pointless
calculations without any I/O.

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

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-07  9:56   ` Dmitry A. Kazakov
@ 2013-07-07 10:58     ` Simon Clubley
  2013-07-07 15:00       ` Dmitry A. Kazakov
  2013-07-09 13:53     ` Shmuel Metz
  1 sibling, 1 reply; 55+ messages in thread
From: Simon Clubley @ 2013-07-07 10:58 UTC (permalink / raw)


On 2013-07-07, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On Sun, 7 Jul 2013 02:16:29 -0700 (PDT), Lucretia wrote:
>
>> Why not just buy a small SBC and just target Ada directly on the hardware.
>> You don't have to have an OS at all.
>
> There exist heaters better than a computer performing pointless
> calculations without any I/O.
>

Sorry, Dmitry, but that's so out of touch I don't really know how to
respond so I will just say you don't need a OS to provide I/O services.

You create some routines around the hardware which the rest of your code
can use to talk to the hardware and you structure your I/O support
library so that only the modules needed by the application are actually
linked in.

For the generic I/O support on top of this, you can then use a intermediate
library (in the C world, that could be Newlib for example) or implement the
I/O support in your language (for languages with I/O syntax built in)
or just use your own generic I/O library.

This is the standard approach taken when working with small embedded
systems at bare metal level regardless of language. As Luke said, no
OS needed. How do you think I/O is done on, say, a small AVR or low
end ARM board ?

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-07 10:58     ` Simon Clubley
@ 2013-07-07 15:00       ` Dmitry A. Kazakov
  2013-07-07 16:27         ` Niklas Holsti
  0 siblings, 1 reply; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-07 15:00 UTC (permalink / raw)


On Sun, 7 Jul 2013 10:58:24 +0000 (UTC), Simon Clubley wrote:

> On 2013-07-07, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>> On Sun, 7 Jul 2013 02:16:29 -0700 (PDT), Lucretia wrote:
>>
>>> Why not just buy a small SBC and just target Ada directly on the hardware.
>>> You don't have to have an OS at all.
>>
>> There exist heaters better than a computer performing pointless
>> calculations without any I/O.
> 
> Sorry, Dmitry, but that's so out of touch I don't really know how to
> respond so I will just say you don't need a OS to provide I/O services.
> 
> You create some routines around the hardware which the rest of your code
> can use to talk to the hardware and you structure your I/O support
> library so that only the modules needed by the application are actually
> linked in.

And this is what basically an OS is - a set of routines around the
hardware.

Either the application does nothing beyond integer arithmetic or else you
need an OS. Even most simple things like FPU or system timers would require
functionality attributed to an OS. Any I/O on a modern machine would
involve quite complicated hardware protocols like SPI, I2C, DMA, and
extremely complicated software protocols like TCP and stuff upon it. The
question is only who is going to write and maintain all this stuff.

Just which is the ratio of he application code to "some routines around the
hardware"? 1:0? 1:1? 1:1000? How about complexity of both?

Small SBC + 1:1 suggests creation of a heater.

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

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-07 15:00       ` Dmitry A. Kazakov
@ 2013-07-07 16:27         ` Niklas Holsti
  2013-07-08  7:43           ` Dmitry A. Kazakov
  0 siblings, 1 reply; 55+ messages in thread
From: Niklas Holsti @ 2013-07-07 16:27 UTC (permalink / raw)


On 13-07-07 18:00 , Dmitry A. Kazakov wrote:
> On Sun, 7 Jul 2013 10:58:24 +0000 (UTC), Simon Clubley wrote:
> 
>> On 2013-07-07, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>>> On Sun, 7 Jul 2013 02:16:29 -0700 (PDT), Lucretia wrote:
>>>
>>>> Why not just buy a small SBC and just target Ada directly on the hardware.
>>>> You don't have to have an OS at all.
>>>
>>> There exist heaters better than a computer performing pointless
>>> calculations without any I/O.
>>
>> Sorry, Dmitry, but that's so out of touch I don't really know how to
>> respond so I will just say you don't need a OS to provide I/O services.
>>
>> You create some routines around the hardware which the rest of your code
>> can use to talk to the hardware and you structure your I/O support
>> library so that only the modules needed by the application are actually
>> linked in.
> 
> And this is what basically an OS is - a set of routines around the
> hardware.
> 
> Either the application does nothing beyond integer arithmetic or else you
> need an OS. Even most simple things like FPU or system timers would require
> functionality attributed to an OS.

Many years ago I wrote an application for an HP2100 mini, sampling a
voltage continuously at 1 kHz, writing the data to magnetic tape, and
printing summaries to the console. Oh, and it also reacted to the
console pushbuttons.

If I take Dmitry's view, I am now entitled to put on my CV that I wrote
my own OS for this application. Great.

Dmitry, your definition of I/O routines as "an OS" is an absurd stretch.

Yes, a real OS would be expected to provide I/O services (although
applications often need non-standard drivers). But a small set of
application-specific I/O operations do not an OS make.

> Any I/O on a modern machine would
> involve quite complicated hardware protocols like SPI, I2C, DMA,

We are talking about a microcontroller, which typically have simple I/O
HW. DMA is "complicated"? Come on. Both the ADC and the magtape in the
HP2100 application described above used DMA. Just a bit of device
register setting and double buffering. Piece of cake, really. Of course
the HP2100 had a simple I/O structure, but so do many modern
microcontrollers.

> and
> extremely complicated software protocols like TCP and stuff upon it.

Which are available as OS-independent libraries.

> The
> question is only who is going to write and maintain all this stuff.
> 
> Just which is the ratio of he application code to "some routines around the
> hardware"? 1:0? 1:1? 1:1000? How about complexity of both?

But the application-specific I/O should really count as "application code".

Many. many microcontroller applications do processor-driven I/O,
bit-banging, A/D, D/A, PIO, and the like, without even the small
complications of interrupt-handling and DMA. The I/O code is then really
tiny, a few accesses to I/O registers here and there.

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
      .      @       .

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-07 16:27         ` Niklas Holsti
@ 2013-07-08  7:43           ` Dmitry A. Kazakov
  2013-07-08 10:54             ` G.B.
                               ` (2 more replies)
  0 siblings, 3 replies; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-08  7:43 UTC (permalink / raw)


On Sun, 07 Jul 2013 19:27:34 +0300, Niklas Holsti wrote:

> On 13-07-07 18:00 , Dmitry A. Kazakov wrote:
>> On Sun, 7 Jul 2013 10:58:24 +0000 (UTC), Simon Clubley wrote:
>> 
>>> On 2013-07-07, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>>>> On Sun, 7 Jul 2013 02:16:29 -0700 (PDT), Lucretia wrote:
>>>>
>>>>> Why not just buy a small SBC and just target Ada directly on the hardware.
>>>>> You don't have to have an OS at all.
>>>>
>>>> There exist heaters better than a computer performing pointless
>>>> calculations without any I/O.
>>>
>>> Sorry, Dmitry, but that's so out of touch I don't really know how to
>>> respond so I will just say you don't need a OS to provide I/O services.
>>>
>>> You create some routines around the hardware which the rest of your code
>>> can use to talk to the hardware and you structure your I/O support
>>> library so that only the modules needed by the application are actually
>>> linked in.
>> 
>> And this is what basically an OS is - a set of routines around the
>> hardware.
>> 
>> Either the application does nothing beyond integer arithmetic or else you
>> need an OS. Even most simple things like FPU or system timers would require
>> functionality attributed to an OS.
> 
> Many years ago I wrote an application for an HP2100 mini, sampling a
> voltage continuously at 1 kHz, writing the data to magnetic tape, and
> printing summaries to the console.

Many years ago almost all I/O was done through dual ported memory. These
days are long behind. BTW, RT-11 ran on 32K machines. It was an OS.

> If I take Dmitry's view, I am now entitled to put on my CV that I wrote
> my own OS for this application. Great.

It depends on the complexity. There is no sharp margin, obviously.

> Dmitry, your definition of I/O routines as "an OS" is an absurd stretch.

I only said that *modern* hardware is not so simple to access as in the
times when it was one or two memory-mapped hardware registers at fixed
addresses. Even a "small" SBC is far more complex than any old mainframe
was.

>> and
>> extremely complicated software protocols like TCP and stuff upon it.
> 
> Which are available as OS-independent libraries.

OS-independent /= OS-less.

You will need interrupts, you will need tasking you will need real-time
clock.

Of course, it would be possible to implement ad-hoc kludges to handle any
of this. But the result will be so fragile that any small changes in the
application will require redesigning the "OS". It is simply not the Ada way
(TM). Not even much the C way any more.

I just do not understand the gain. What is simpler to port the Ada RTL onto
a bare metal or onto an OS? How on earth people considering the second too
difficult are ready and willing to rush into the first? Don't tell me they
know for certain how much of the RTL they will have to implement.

>> The
>> question is only who is going to write and maintain all this stuff.
>> 
>> Just which is the ratio of he application code to "some routines around the
>> hardware"? 1:0? 1:1? 1:1000? How about complexity of both?
> 
> But the application-specific I/O should really count as "application code".

Yes, but application-specific I/O is done on top of non-specific I/O. E.g.
on top of the TCP/IP stack or on top of the FAT32 file system etc. And for
an embedded application the specific part is minimal. If not, then see
above.

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


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08  7:43           ` Dmitry A. Kazakov
@ 2013-07-08 10:54             ` G.B.
  2013-07-08 12:14               ` Dmitry A. Kazakov
  2013-07-08 20:31             ` Randy Brukardt
  2013-07-09  0:27             ` mjsilva
  2 siblings, 1 reply; 55+ messages in thread
From: G.B. @ 2013-07-08 10:54 UTC (permalink / raw)


On 08.07.13 09:43, Dmitry A. Kazakov wrote:

> Many years ago almost all I/O was done through dual ported memory. These
> days are long behind.

Maybe these days are long behind, yet not the hardware.

> I only said that *modern* hardware is not so simple to access as in the
> times when it was one or two memory-mapped hardware registers at fixed
> addresses. Even a "small" SBC is far more complex than any old mainframe
> was.

Non-modern hardware is as cheap as a plastic spoon!

Price is a convincing argument when the effect of the embedded
system is simple. Say, a relay that previously had been triggered
by more expensive analog hardware.

If Ada vendors wish to loose all but the market for expensive high
end systems, then that's their choice. Too bad. Because then,

(1) Ada gets thrown out as soon as there is a sufficient
     replacement that's cheaper (C with static analysis, say)

(2) normal people will never enjoy the benefits of Ada, if any,
     as they rarely fly modern aircraft, drive high end cars,
     or own/work in a high tech factory.

But then, by the laws of popularity, recruitment and
language choice will steer away (again!) from expensive, bulky
Ada.



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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 10:54             ` G.B.
@ 2013-07-08 12:14               ` Dmitry A. Kazakov
  2013-07-08 12:56                 ` Simon Clubley
  2013-07-08 13:15                 ` G.B.
  0 siblings, 2 replies; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-08 12:14 UTC (permalink / raw)


On Mon, 08 Jul 2013 12:54:56 +0200, G.B. wrote:

> Non-modern hardware is as cheap as a plastic spoon!

That is why it is not available. Fetch me an i486 board.
 
> Price is a convincing argument when the effect of the embedded
> system is simple.

Not really. In fact embedded boards are far more expensive than consumer's
boards. An industrial Atom board has the price of a complete PC with ten
times more memory and higher performance.

> If Ada vendors wish to loose all but the market for expensive high
> end systems, then that's their choice.

It is not their choice. It is the board vendors who determine what is in
the BSP. No Ada vendor has the resources to port it on every possible
board.

The picture will change when bare metal vanish. This will inevitably happen
with SBCs. An OS will become standard for most SBCs. This in turn will
pressure the vendors to make hardware more compatible. Then we will have
Ada (and other languages) there.

> (1) Ada gets thrown out as soon as there is a sufficient
>      replacement that's cheaper (C with static analysis, say)

Ada already is, in case you didn't notice. And it is not C Ada will have to
compete there, but Java, PHP etc. When the gates will open all mud will
flood the market...

> But then, by the laws of popularity, recruitment and
> language choice will steer away (again!) from expensive, bulky
> Ada.

It is different factors today. I used "bulky" Ada 83 on a 2MB machine.

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

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 12:14               ` Dmitry A. Kazakov
@ 2013-07-08 12:56                 ` Simon Clubley
  2013-07-08 14:06                   ` Dmitry A. Kazakov
  2013-07-08 13:15                 ` G.B.
  1 sibling, 1 reply; 55+ messages in thread
From: Simon Clubley @ 2013-07-08 12:56 UTC (permalink / raw)


On 2013-07-08, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On Mon, 08 Jul 2013 12:54:56 +0200, G.B. wrote:
>
>> Non-modern hardware is as cheap as a plastic spoon!
>
> That is why it is not available. Fetch me an i486 board.
>  
>> Price is a convincing argument when the effect of the embedded
>> system is simple.
>
> Not really. In fact embedded boards are far more expensive than consumer's
> boards. An industrial Atom board has the price of a complete PC with ten
> times more memory and higher performance.
>

If that's what you think, then it's time for you to become enlightened,
Dmitry. :-)

Start here:

https://www.olimex.com/Products/

When people come to comp.lang.ada and talk about wanting to learn Ada and
get it running in a bare metal environment, then quite often they are
talking about these types of boards, not the safety critical ones with
a price tag to match.

Not everyone needs the industrial type boards you obviously need during
your work, and there is a _vast_ embedded world of which your industrial
type environment is only a small part.

>> If Ada vendors wish to loose all but the market for expensive high
>> end systems, then that's their choice.
>
> It is not their choice. It is the board vendors who determine what is in
> the BSP. No Ada vendor has the resources to port it on every possible
> board.
>

There's nothing to stop a end user programmer writing their own BSP; this
appears to be a common capability for RTOS environments. I've written 2-3
BSPs for RTEMS over the years.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 12:14               ` Dmitry A. Kazakov
  2013-07-08 12:56                 ` Simon Clubley
@ 2013-07-08 13:15                 ` G.B.
  2013-07-08 13:59                   ` Dmitry A. Kazakov
  1 sibling, 1 reply; 55+ messages in thread
From: G.B. @ 2013-07-08 13:15 UTC (permalink / raw)


On 08.07.13 14:14, Dmitry A. Kazakov wrote:
> On Mon, 08 Jul 2013 12:54:56 +0200, G.B. wrote:
>
>> Non-modern hardware is as cheap as a plastic spoon!
>
> That is why it is not available. Fetch me an i486 board.

i486 is PC stuff; while remotely similar to  what the OP has
asked for, we could still keep the discussion focused on the vast
number of systems not controlled by PCs where Ada is not available
in the same cost range.

>> Price is a convincing argument when the effect of the embedded
>> system is simple.
>
> Not really. In fact embedded boards are far more expensive than consumer's
> boards.

What is being offered here
http://www.adafruit.com
is produced by someone; I imagine these gadgets are being
made not just for the DIY market.

If a household device is sold at $$ - $$$, how could a
microcontroller with a few pieces added be as expensive
as you say? I can buy an electronic scale at $$; how so,
if embedded boards cost much more than that as you say?

A small(!) battery charger with an Atom processor in it?
I am sure that people would rush to get one and turn the
battery charger into a home server.

> An industrial Atom board has the price of a complete PC with ten
> times more memory and higher performance.

The word "industrial" is so vague that it leads nowhere.

>> If Ada vendors wish to loose all but the market for expensive high
>> end systems, then that's their choice.
>
> It is not their choice. It is the board vendors who determine what is in
> the BSP. No Ada vendor has the resources to port it on every possible
> board.

Port what?  People have asked for good compile-time support
with some minimal run-time support. The meaning of "minimal"
not being "full Ada".



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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 13:15                 ` G.B.
@ 2013-07-08 13:59                   ` Dmitry A. Kazakov
  2013-07-09  0:53                     ` mjsilva
  0 siblings, 1 reply; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-08 13:59 UTC (permalink / raw)


On Mon, 08 Jul 2013 15:15:31 +0200, G.B. wrote:

> If a household device is sold at $$ - $$$, how could a
> microcontroller with a few pieces added be as expensive
> as you say? I can buy an electronic scale at $$; how so,
> if embedded boards cost much more than that as you say?

Because people are prepared to pay the price. The theory is (don't know how
true it is). When you are not a vendor of embedded devices yourself (in
which case you are also the board designer), then you buy 1-10 boards to be
used in a system worth of dozens of Kbucks. You do not care whether the
board is 50 or 500 bucks. Especially because one working hour of your
engineers is more than 50 bucks.

> A small(!) battery charger with an Atom processor in it?

I read somewhere about a technology that distributes tiny chargers all
around microchips. Maybe there will be no battery chargers someday.

>>> If Ada vendors wish to loose all but the market for expensive high
>>> end systems, then that's their choice.
>>
>> It is not their choice. It is the board vendors who determine what is in
>> the BSP. No Ada vendor has the resources to port it on every possible
>> board.
> 
> Port what?  People have asked for good compile-time support
> with some minimal run-time support. The meaning of "minimal"
> not being "full Ada".

When they start pulling things together the result would be pretty much
full Ada and beyond it, e.g. OS services. My point merely was that a really
minimal RTL is likely useless for most people interested in embedded and
Ada.

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


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 12:56                 ` Simon Clubley
@ 2013-07-08 14:06                   ` Dmitry A. Kazakov
  2013-07-08 14:43                     ` G.B.
  2013-07-08 17:23                     ` Simon Clubley
  0 siblings, 2 replies; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-08 14:06 UTC (permalink / raw)


On Mon, 8 Jul 2013 12:56:44 +0000 (UTC), Simon Clubley wrote:

> Start here:
> 
> https://www.olimex.com/Products/
> 
> When people come to comp.lang.ada and talk about wanting to learn Ada and
> get it running in a bare metal environment, then quite often they are
> talking about these types of boards, not the safety critical ones with
> a price tag to match.

The page says the board comes with Linux...

>>> If Ada vendors wish to loose all but the market for expensive high
>>> end systems, then that's their choice.
>>
>> It is not their choice. It is the board vendors who determine what is in
>> the BSP. No Ada vendor has the resources to port it on every possible
>> board.
> 
> There's nothing to stop a end user programmer writing their own BSP; this
> appears to be a common capability for RTOS environments. I've written 2-3
> BSPs for RTEMS over the years.

Fine. Why don't you bundle it with GNAT and GPS and resell the package to
those crowds of hobbyist longing for it?
 
-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 14:06                   ` Dmitry A. Kazakov
@ 2013-07-08 14:43                     ` G.B.
  2013-07-08 17:23                     ` Simon Clubley
  1 sibling, 0 replies; 55+ messages in thread
From: G.B. @ 2013-07-08 14:43 UTC (permalink / raw)


On 08.07.13 16:06, Dmitry A. Kazakov wrote:
> On Mon, 8 Jul 2013 12:56:44 +0000 (UTC), Simon Clubley wrote:
>
>> Start here:
>>
>> https://www.olimex.com/Products/
>>
>> When people come to comp.lang.ada and talk about wanting to learn Ada and
>> get it running in a bare metal environment, then quite often they are
>> talking about these types of boards, not the safety critical ones with
>> a price tag to match.
>
> The page says the board comes with Linux...

"The" boards (plural). Prices shown seem to start at €.€€,

https://www.olimex.com/Products/AVR/Proto/
https://www.olimex.com/Products/MSP430/Starter/
https://www.olimex.com/Products/Duino/PIC32/

I don't see so much there that would run Linux,
but has all things a comparatively small computer needs.

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 14:06                   ` Dmitry A. Kazakov
  2013-07-08 14:43                     ` G.B.
@ 2013-07-08 17:23                     ` Simon Clubley
  2013-07-08 18:55                       ` Dmitry A. Kazakov
  1 sibling, 1 reply; 55+ messages in thread
From: Simon Clubley @ 2013-07-08 17:23 UTC (permalink / raw)


On 2013-07-08, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On Mon, 8 Jul 2013 12:56:44 +0000 (UTC), Simon Clubley wrote:
>
>> Start here:
>> 
>> https://www.olimex.com/Products/
>> 
>> When people come to comp.lang.ada and talk about wanting to learn Ada and
>> get it running in a bare metal environment, then quite often they are
>> talking about these types of boards, not the safety critical ones with
>> a price tag to match.
>
> The page says the board comes with Linux...
>

Dmitry, are you trying to be deliberately awkward ?

The idea behind pointing you to the index page was to enable you to
explore a world which you clearly do not even realise exists.

Yes, some of the high end Olimex boards can run Linux, but many of the
other boards listed at the Olimex site simply cannot.

However, to help you out a bit more, here are some specific examples
out of the many available:

https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO-MICRO/
(MIPS core, 256K flash, 32K RAM)

https://www.olimex.com/Products/ARM/Atmel/SAM3-H256/
(ARM Cortex M3, 256K flash, 48K RAM)

https://www.olimex.com/Products/ARM/ST/STM32-E407/
(ARM Cortex M4, 1MB flash, 192K RAM)

These boards would not be produced unless there was a viable market for
them; Olimex, like other vendors are in business to make money.

>> 
>> There's nothing to stop a end user programmer writing their own BSP; this
>> appears to be a common capability for RTOS environments. I've written 2-3
>> BSPs for RTEMS over the years.
>
> Fine. Why don't you bundle it with GNAT and GPS and resell the package to
> those crowds of hobbyist longing for it?
>  

With those specific products, what you would be selling would be support
and that's something which needs to be supplied by a existing vendor
using their existing infrastructure.

Besides, that's only viable when you can use RTEMS instead of running on
the bare metal. Even when you use RTEMS, the end user still has to supply
a BSP if their board is not already supported.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 17:23                     ` Simon Clubley
@ 2013-07-08 18:55                       ` Dmitry A. Kazakov
  2013-07-09 11:53                         ` Simon Clubley
  0 siblings, 1 reply; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-08 18:55 UTC (permalink / raw)


On Mon, 8 Jul 2013 17:23:06 +0000 (UTC), Simon Clubley wrote:

> These boards would not be produced unless there was a viable market for
> them; Olimex, like other vendors are in business to make money.

Good for them.

>>> There's nothing to stop a end user programmer writing their own BSP; this
>>> appears to be a common capability for RTOS environments. I've written 2-3
>>> BSPs for RTEMS over the years.
>>
>> Fine. Why don't you bundle it with GNAT and GPS and resell the package to
>> those crowds of hobbyist longing for it?
> 
> With those specific products, what you would be selling would be support
> and that's something which needs to be supplied by a existing vendor
> using their existing infrastructure.

No. You would sell your tool chain and re-sell the hardware.

> Besides, that's only viable when you can use RTEMS instead of running on
> the bare metal.

You said customers need no OS. Why do you expect anybody would do something
you consider not viable?

> Even when you use RTEMS, the end user still has to supply
> a BSP if their board is not already supported.

You said it would be simple. You want customers writing a BSP for YOUR
board?

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

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08  7:43           ` Dmitry A. Kazakov
  2013-07-08 10:54             ` G.B.
@ 2013-07-08 20:31             ` Randy Brukardt
  2013-07-08 20:45               ` Dmitry A. Kazakov
  2013-07-09  0:27             ` mjsilva
  2 siblings, 1 reply; 55+ messages in thread
From: Randy Brukardt @ 2013-07-08 20:31 UTC (permalink / raw)


"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:roqq0dhh1do.ckvrzq4256q1$.dlg@40tude.net...
...
> You will need interrupts, you will need tasking you will need real-time
> clock.

You don't need the first to have the second two (Janus/Ada does not support 
interrupts; it was originally designed for MS-DOS which has no tasking nor 
allows any OS reentrancy).

On a single-board computer, you don't really need interrupts because polling 
works just as well (and you have nothing else that the machine might be 
doing, preventing latency problems). [Even on Windows, polling works very 
well with just a tiny bit of care (don't write a long-running loop without 
something that breaks it up); Janus/Ada is careful to use "sleep" when 
nothing is going on.]

> Of course, it would be possible to implement ad-hoc kludges to handle any
> of this. But the result will be so fragile that any small changes in the
> application will require redesigning the "OS". It is simply not the Ada 
> way
> (TM). Not even much the C way any more.

So you're saying that Janus/Ada is too fragile to exist (which is obviously 
false) and for some reason that changing the application (that is the Ada 
code) will require redesigning Janus/Ada (the Ada RTS). It's pretty obvious 
that is not true. :-)

                                 Randy.




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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 20:31             ` Randy Brukardt
@ 2013-07-08 20:45               ` Dmitry A. Kazakov
  2013-07-09  0:19                 ` mjsilva
  0 siblings, 1 reply; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-08 20:45 UTC (permalink / raw)


On Mon, 8 Jul 2013 15:31:32 -0500, Randy Brukardt wrote:

> On a single-board computer, you don't really need interrupts because polling 
> works just as well (and you have nothing else that the machine might be 
> doing, preventing latency problems).

Consider frequency measuring. When a digital input toggles you have to
latch the real-time clock. Usually it is done from the interrupt routine.
The latency determines the error in the time/frequency measurement.

Polling becomes problematic when there are many inputs to handle or when
signals may get lost. The later is the case when you have to react on the
edge rather than on the level as in the example above.

Interrupts are indeed rarely need if there is an OS.

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


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 20:45               ` Dmitry A. Kazakov
@ 2013-07-09  0:19                 ` mjsilva
  0 siblings, 0 replies; 55+ messages in thread
From: mjsilva @ 2013-07-09  0:19 UTC (permalink / raw)


On Monday, July 8, 2013 1:45:21 PM UTC-7, Dmitry A. Kazakov wrote:

> Consider frequency measuring. When a digital input toggles you have to
> 
> latch the real-time clock. Usually it is done from the interrupt routine.
> 
> The latency determines the error in the time/frequency measurement.

Actually, with any of the smallish micros that we're talking about, the capture of the timer value can be made to happen automatically upon the input change.  At the same time an interrupt can be generated to save off or otherwise deal with the just-captured value.

> Polling becomes problematic when there are many inputs to handle or when
> 
> signals may get lost. The later is the case when you have to react on the
> 
> edge rather than on the level as in the example above.

Interrupts are critical for most systems built around the smallish micros many of us are talking about.


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08  7:43           ` Dmitry A. Kazakov
  2013-07-08 10:54             ` G.B.
  2013-07-08 20:31             ` Randy Brukardt
@ 2013-07-09  0:27             ` mjsilva
  2013-07-09  7:51               ` Dmitry A. Kazakov
  2 siblings, 1 reply; 55+ messages in thread
From: mjsilva @ 2013-07-09  0:27 UTC (permalink / raw)


On Monday, July 8, 2013 12:43:24 AM UTC-7, Dmitry A. Kazakov wrote:
 
> I only said that *modern* hardware is not so simple to access as in the
> 
> times when it was one or two memory-mapped hardware registers at fixed
> 
> addresses. Even a "small" SBC is far more complex than any old mainframe
> 
> was.

Why do you keep talking about SBCs?  We're talking about microcontrollers, in particular 32-bit devices that run at 10s to 100s of MHz and have tens of kilobytes to a few megabytes of program memory, and less than that of RAM.  Far from being an SBC, such boards may be as simple as the processor, a crystal and the necessary bypass caps.  Everything else is header pins.

And these micros continue to have those memory-mapped hardware registers, and those of us who program these chips deal with those registers all the time.

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 13:59                   ` Dmitry A. Kazakov
@ 2013-07-09  0:53                     ` mjsilva
  0 siblings, 0 replies; 55+ messages in thread
From: mjsilva @ 2013-07-09  0:53 UTC (permalink / raw)


On Monday, July 8, 2013 6:59:02 AM UTC-7, Dmitry A. Kazakov wrote:
> On Mon, 08 Jul 2013 15:15:31 +0200, G.B. wrote:

> > Port what?  People have asked for good compile-time support
> 
> > with some minimal run-time support. The meaning of "minimal"
> 
> > not being "full Ada".
> 
> 
> 
> When they start pulling things together the result would be pretty much
> 
> full Ada and beyond it, e.g. OS services. My point merely was that a really
> 
> minimal RTL is likely useless for most people interested in embedded and
> 
> Ada.

Note that AdaCore is already doing what you say is useless.  They are doing it with their LEGO Mindstorms package (and note: "Differrently from the 2009 release of GNAT GPL for the LEGO MINDSTORMS NXT, the 2010 release does not rely on any operating system: it is an Ada-only bareboard solution leveraging on Ada 2005 features for concurrent and real-time behaviour." - They moved AWAY from an operating system!)

And they are reportedly doing it for ARM Cortex M3 (again, bare board), only that product doesn't seem to actually exist if one goes by their website.  And that product too, is (or will be) bare board: "GNAT Pro Safety-Critical for bareboard ARM supplies a fully configurable / customizable run-time library"

Still waiting for that product to become real and available.

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09  0:27             ` mjsilva
@ 2013-07-09  7:51               ` Dmitry A. Kazakov
  2013-07-09  8:33                 ` Georg Bauhaus
  2013-07-09 15:38                 ` mjsilva
  0 siblings, 2 replies; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-09  7:51 UTC (permalink / raw)


On Mon, 8 Jul 2013 17:27:11 -0700 (PDT), mjsilva@scriptoriumdesigns.com
wrote:

> And these micros continue to have those memory-mapped hardware registers,
> and those of us who program these chips deal with those registers all the time.

No technology ever dies, it becomes niche. Ada's advantage in the niche is
minimal. Its advantage on mainstream SBCs is potentially huge.

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


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09  7:51               ` Dmitry A. Kazakov
@ 2013-07-09  8:33                 ` Georg Bauhaus
  2013-07-09  9:12                   ` Dmitry A. Kazakov
  2013-07-09 15:38                 ` mjsilva
  1 sibling, 1 reply; 55+ messages in thread
From: Georg Bauhaus @ 2013-07-09  8:33 UTC (permalink / raw)


On 09.07.13 09:51, Dmitry A. Kazakov wrote:
> On Mon, 8 Jul 2013 17:27:11 -0700 (PDT), mjsilva@scriptoriumdesigns.com
> wrote:
>
>> And these micros continue to have those memory-mapped hardware registers,
>> and those of us who program these chips deal with those registers all the time.
>
> No technology ever dies, it becomes niche.

Microcontrollers a niche???

> Ada's advantage in the niche is minimal.

Please provide evidence.

> Its advantage on mainstream SBCs is potentially huge.
  
By all means, please provide evidence!

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09  8:33                 ` Georg Bauhaus
@ 2013-07-09  9:12                   ` Dmitry A. Kazakov
  2013-07-09 11:08                     ` G.B.
  0 siblings, 1 reply; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-09  9:12 UTC (permalink / raw)


On Tue, 09 Jul 2013 10:33:00 +0200, Georg Bauhaus wrote:

> On 09.07.13 09:51, Dmitry A. Kazakov wrote:
>> On Mon, 8 Jul 2013 17:27:11 -0700 (PDT), mjsilva@scriptoriumdesigns.com
>> wrote:
>>
>>> And these micros continue to have those memory-mapped hardware registers,
>>> and those of us who program these chips deal with those registers all the time.
>>
>> No technology ever dies, it becomes niche.
> 
> Microcontrollers a niche???

Yes.

>> Ada's advantage in the niche is minimal.
> 
> Please provide evidence.

Because the microcontrollers we are talking about are those where Ada would
be restricted to a subset which would have only syntactic advantages over
C. The programs are tiny, data structures absent. The software is not
maintained as the hardware becomes obsolete in few years. Portability is
zero.

Granted, Ada with SPARK would still be an advantage, but people programming
such stuff won't give a damn anyway.

>> Its advantage on mainstream SBCs is potentially huge.
>   
> By all means, please provide evidence!

Because full Ada is portable, maintainable, safe. As an evidence take our
embedded middleware written 100% in Ada. It is fully portable across
Windows/Linux/VxWorks. Its counterpart written in C++ is strictly for
Windows PC and even porting it from Win32 to Win64 would impose problems so
big, that we will probably never do it.

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


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09  9:12                   ` Dmitry A. Kazakov
@ 2013-07-09 11:08                     ` G.B.
  2013-07-09 12:28                       ` Dmitry A. Kazakov
  0 siblings, 1 reply; 55+ messages in thread
From: G.B. @ 2013-07-09 11:08 UTC (permalink / raw)


On 09.07.13 11:12, Dmitry A. Kazakov wrote:
> On Tue, 09 Jul 2013 10:33:00 +0200, Georg Bauhaus wrote:
>
>> On 09.07.13 09:51, Dmitry A. Kazakov wrote:
>>> On Mon, 8 Jul 2013 17:27:11 -0700 (PDT), mjsilva@scriptoriumdesigns.com
>>> wrote:
>>>
>>>> And these micros continue to have those memory-mapped hardware registers,
>>>> and those of us who program these chips deal with those registers all the time.
>>>
>>> No technology ever dies, it becomes niche.
>>
>> Microcontrollers a niche???
>
> Yes.

No.

http://en.wikipedia.org/wiki/Microcontroller#Volumes

>>> Ada's advantage in the niche is minimal.
>>
>> Please provide evidence.
>
> Because the microcontrollers we are talking about are those where Ada would
> be restricted to a subset which would have only syntactic advantages over
> C.

There is evidence to the contrary. Notably, Ada's scalars
seem worth using it.

> The programs are tiny, data structures absent.

The list, the prototypical data structure, originated in
computers that size. The hash table isn't far from it.
So is the small set (bits representing presence).

> The software is not
> maintained as the hardware becomes obsolete in few years.

You just heard that "the guys" still work with field
proven hardware that was designed many years ago, and
is freshly produced in large quantities.

> Portability is zero.

Algorithmic parts can be close to 100% portable, since they just
require some memory and a reasonably complete set of instructions.
I/O isn't that different between simple I/O ports of this or that
brand, is it? That quite enough for the many uses of these small
computers.

> Granted, Ada with SPARK would still be an advantage, but people programming
> such stuff won't give a damn anyway.

Programmers might find the data flow parts easy and useful,
once SPARK is readily available.

>>> Its advantage on mainstream SBCs is potentially huge.
>>
>> By all means, please provide evidence!
>
> Because full Ada is portable, maintainable, safe.

That's a claim, and we have just learned that it insufficiently
reflects reality, because there is no Ada where software needs
to be ported.

> As an evidence take our
> embedded middleware written 100% in Ada. It is fully portable across
> Windows/Linux/VxWorks.

These are PC style computers, and many here seem to have said
more than once that they use machines smaller than that, did so,
and will be, successfully.

> Its counterpart written in C++ is strictly for
> Windows PC and even porting it from Win32 to Win64 would impose problems so
> big, that we will probably never do it.

What does Ada provide that is in Win32 but not in C++?
Have you looked at C++ 11 for the tasking bits?



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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-08 18:55                       ` Dmitry A. Kazakov
@ 2013-07-09 11:53                         ` Simon Clubley
  2013-07-09 12:57                           ` Dmitry A. Kazakov
  0 siblings, 1 reply; 55+ messages in thread
From: Simon Clubley @ 2013-07-09 11:53 UTC (permalink / raw)


On 2013-07-08, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On Mon, 8 Jul 2013 17:23:06 +0000 (UTC), Simon Clubley wrote:
>>>> There's nothing to stop a end user programmer writing their own BSP; this
>>>> appears to be a common capability for RTOS environments. I've written 2-3
>>>> BSPs for RTEMS over the years.
>>>
>>> Fine. Why don't you bundle it with GNAT and GPS and resell the package to
>>> those crowds of hobbyist longing for it?
>> 
>> With those specific products, what you would be selling would be support
>> and that's something which needs to be supplied by a existing vendor
>> using their existing infrastructure.
>
> No. You would sell your tool chain and re-sell the hardware.
>

Dmitry, the whole reason behind this discussion is the desire to get Ada
running on existing hardware available from a variety of sources.

BTW, not even, say, RedHat sells hardware; they don't even really
sell RHEL itself but sell support for it. If you want RHEL for free,
you can get it in the form of Centos or Scientific Linux.

I mention RHEL because the products I mentioned are available with
similar license conditions to those packages found in RHEL.

>> Besides, that's only viable when you can use RTEMS instead of running on
>> the bare metal.
>
> You said customers need no OS. Why do you expect anybody would do something
> you consider not viable?
>

You have completely misunderstood. RTEMS comes into this because of it's
existing support for Ada and the ability of RTEMS to run on a number of
platforms.

If you can run RTEMS on your chosen platform (including writing a BSP if
required) then great, you can have Ada. But there are many platforms on
which RTEMS will either not run or for which it's not appropriate for the
job at hand. In that case, you are coding for bare metal and then face the
Ada availability issues which we are discussing.

>> Even when you use RTEMS, the end user still has to supply
>> a BSP if their board is not already supported.
>
> You said it would be simple. You want customers writing a BSP for YOUR
> board?
>

Huh? Where did I say anything about creating a specific board and selling
that ?

What is needed is to create a Ada compiler which will run in bare metal
mode on a number of specific architectures (ARM and MIPS would be my
personal initial preferences). People can then use the compiler to write
code which runs on their specific board of interest.

This is exactly what happens in the C world when writing bare metal code.
I use the same physical GCC cross compiler for ARM C projects and it
produces code which can run on all the ARM boards I have used. What you
need to then add in are the libraries (and linker scripts) which support
the hardware on each specific board.

The board or MCU specific hardware support is a separate problem from the
bare metal compiler which will generate code for the architecture as a
whole.

In the Ada world, we still need a finished equivalent of the first part;
the cross compiler which generates code for running on the architecture in
bare metal mode.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 11:08                     ` G.B.
@ 2013-07-09 12:28                       ` Dmitry A. Kazakov
  2013-07-09 14:20                         ` G.B.
  0 siblings, 1 reply; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-09 12:28 UTC (permalink / raw)


On Tue, 09 Jul 2013 13:08:44 +0200, G.B. wrote:

> What does Ada provide that is in Win32 but not in C++?

An ability not to use Win32 at all.

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


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 11:53                         ` Simon Clubley
@ 2013-07-09 12:57                           ` Dmitry A. Kazakov
  2013-07-09 13:11                             ` Simon Clubley
  0 siblings, 1 reply; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-09 12:57 UTC (permalink / raw)


On Tue, 9 Jul 2013 11:53:23 +0000 (UTC), Simon Clubley wrote:

> On 2013-07-08, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>> On Mon, 8 Jul 2013 17:23:06 +0000 (UTC), Simon Clubley wrote:

>>> Besides, that's only viable when you can use RTEMS instead of running on
>>> the bare metal.
>>
>> You said customers need no OS. Why do you expect anybody would do something
>> you consider not viable?
> 
> You have completely misunderstood. RTEMS comes into this because of it's
> existing support for Ada and the ability of RTEMS to run on a number of
> platforms.

I don't understand your point. RTEMS is an OS.
 
>>> Even when you use RTEMS, the end user still has to supply
>>> a BSP if their board is not already supported.
>>
>> You said it would be simple. You want customers writing a BSP for YOUR
>> board?
> 
> Huh? Where did I say anything about creating a specific board and selling
> that ?

Not you, nor the customer. Who then?

> What is needed is to create a Ada compiler which will run in bare metal
> mode on a number of specific architectures (ARM and MIPS would be my
> personal initial preferences).

A compiler cannot run on bare metal. You need a GCC cross compiler to be
able to do something like

   gcc -c -march=armv7 foo.adb

on the host machine.

> People can then use the compiler to write
> code which runs on their specific board of interest.

I don't think that would be very difficult, but, as I said in this
discussion already, I would be quite useless unless you say what of the RTL
goes over the board and what stays.

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

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 12:57                           ` Dmitry A. Kazakov
@ 2013-07-09 13:11                             ` Simon Clubley
  2013-07-09 20:30                               ` Randy Brukardt
  0 siblings, 1 reply; 55+ messages in thread
From: Simon Clubley @ 2013-07-09 13:11 UTC (permalink / raw)


On 2013-07-09, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On Tue, 9 Jul 2013 11:53:23 +0000 (UTC), Simon Clubley wrote:
>
>> On 2013-07-08, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
>>> On Mon, 8 Jul 2013 17:23:06 +0000 (UTC), Simon Clubley wrote:
>
>>>> Besides, that's only viable when you can use RTEMS instead of running on
>>>> the bare metal.
>>>
>>> You said customers need no OS. Why do you expect anybody would do something
>>> you consider not viable?
>> 
>> You have completely misunderstood. RTEMS comes into this because of it's
>> existing support for Ada and the ability of RTEMS to run on a number of
>> platforms.
>
> I don't understand your point. RTEMS is an OS.
>  

Read the rest of the thread; it's clear from context. We are talking about
ways to get Ada running on boards way too small for Linux. Usually that's
a bare metal mode, but RTEMS may be a option for the more capable of these
small boards/MCUs.

>>>> Even when you use RTEMS, the end user still has to supply
>>>> a BSP if their board is not already supported.
>>>
>>> You said it would be simple. You want customers writing a BSP for YOUR
>>> board?
>> 
>> Huh? Where did I say anything about creating a specific board and selling
>> that ?
>
> Not you, nor the customer. Who then?
>
>> What is needed is to create a Ada compiler which will run in bare metal
>> mode on a number of specific architectures (ARM and MIPS would be my
>> personal initial preferences).
>
> A compiler cannot run on bare metal. You need a GCC cross compiler to be
> able to do something like
>
>    gcc -c -march=armv7 foo.adb
>
> on the host machine.
>

It's clear from the next paragraph I am talking about cross compilers.
However, just to make it clear:

What is needed is to create a Ada compiler which will create code which
runs in bare metal mode on a number of specific architectures (ARM and
MIPS would be my personal initial preferences).

At this point, I'm beginning to think you are either trolling or just
refusing to accept (for whatever reason) that there's a vast embedded
market out there, outside of what you are used to, which could be a
target for Ada.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-07  9:56   ` Dmitry A. Kazakov
  2013-07-07 10:58     ` Simon Clubley
@ 2013-07-09 13:53     ` Shmuel Metz
  1 sibling, 0 replies; 55+ messages in thread
From: Shmuel Metz @ 2013-07-09 13:53 UTC (permalink / raw)


In <993despcuk1d.1ifczvyo501px.dlg@40tude.net>, on 07/07/2013
   at 11:56 AM, "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> said:

>There exist heaters better than a computer performing pointless
>calculations without any I/O.

How do you control the heater without any I/O? And how is it not a
computer?

-- 
Shmuel (Seymour J.) Metz, SysProg and JOAT  <http://patriot.net/~shmuel>

Unsolicited bulk E-mail subject to legal action.  I reserve the
right to publicly post or ridicule any abusive E-mail.  Reply to
domain Patriot dot net user shmuel+news to contact me.  Do not
reply to spamtrap@library.lspace.org

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 12:28                       ` Dmitry A. Kazakov
@ 2013-07-09 14:20                         ` G.B.
  2013-07-09 15:00                           ` Dmitry A. Kazakov
  0 siblings, 1 reply; 55+ messages in thread
From: G.B. @ 2013-07-09 14:20 UTC (permalink / raw)


On 09.07.13 14:28, Dmitry A. Kazakov wrote:
> On Tue, 09 Jul 2013 13:08:44 +0200, G.B. wrote:
>
>> What does Ada provide that is in Win32 but not in C++?
>
> An ability not to use Win32 at all.

Yes, that's a negation that rephrases the question. So what marvel
is in Ada, positively, that is in Win32 but not in C++ (11),
so that using full Ada makes software portable, while usiung
full C++ (11) does not?

The C++ version must be using features of Win32 that are
not available on all PC platforms mentioned, but are, with Ada.
Which are they? There must be a good, positive, non-negating
argument in favor of Ada.

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 14:20                         ` G.B.
@ 2013-07-09 15:00                           ` Dmitry A. Kazakov
  2013-07-09 23:13                             ` Peter C. Chapin
  0 siblings, 1 reply; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-09 15:00 UTC (permalink / raw)


On Tue, 09 Jul 2013 16:20:59 +0200, G.B. wrote:

> On 09.07.13 14:28, Dmitry A. Kazakov wrote:
>> On Tue, 09 Jul 2013 13:08:44 +0200, G.B. wrote:
>>
>>> What does Ada provide that is in Win32 but not in C++?
>>
>> An ability not to use Win32 at all.
> 
> Yes, that's a negation that rephrases the question. So what marvel
> is in Ada, positively, that is in Win32 but not in C++ (11),
> so that using full Ada makes software portable, while usiung
> full C++ (11) does not?

The project is in MSVC. I cannot tell much about C++ 11. In any case it is
irrelevant for now, because experience shows that any C standard requires
decades to be implemented by vendors, if ever.

> The C++ version must be using features of Win32 that are
> not available on all PC platforms mentioned, but are, with Ada.
> Which are they?

In my case it is tasks and protected objects.

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


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09  7:51               ` Dmitry A. Kazakov
  2013-07-09  8:33                 ` Georg Bauhaus
@ 2013-07-09 15:38                 ` mjsilva
  2013-07-09 19:48                   ` Dmitry A. Kazakov
  2013-07-09 20:10                   ` Randy Brukardt
  1 sibling, 2 replies; 55+ messages in thread
From: mjsilva @ 2013-07-09 15:38 UTC (permalink / raw)


On Tuesday, July 9, 2013 12:51:39 AM UTC-7, Dmitry A. Kazakov wrote:
> On Mon, 8 Jul 2013 17:27:11 -0700 (PDT), mjsilva@scriptoriumdesigns.com
> 
> wrote:
> 
> 
> 
> > And these micros continue to have those memory-mapped hardware registers,
> 
> > and those of us who program these chips deal with those registers all the time.
> 
> 
> 
> No technology ever dies, it becomes niche. Ada's advantage in the niche is
> 
> minimal. Its advantage on mainstream SBCs is potentially huge.

But the difference is that nobody is arguing that Ada is not suitable for SBCs.  However, you are dismissing Ada on microcontrollers, of which tens of billions are sold each year (big niche!).  You are making this an either/or question, which it most certainly is not.  How is it that you have been appointed to determine where Ada can be beneficial, and where it cannot?

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 15:38                 ` mjsilva
@ 2013-07-09 19:48                   ` Dmitry A. Kazakov
  2013-07-09 20:10                   ` Randy Brukardt
  1 sibling, 0 replies; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-09 19:48 UTC (permalink / raw)


On Tue, 9 Jul 2013 08:38:39 -0700 (PDT), mjsilva@scriptoriumdesigns.com
wrote:

> However, you are dismissing Ada on microcontrollers,

I didn't, I just explained why in my opinion it would be unlikely to
happen.

> How is it that you
> have been appointed to determine where Ada can be beneficial, and where it
> cannot?

What makes you believe that I am here to determine this? I am not a
compiler or board vendor.

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

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 15:38                 ` mjsilva
  2013-07-09 19:48                   ` Dmitry A. Kazakov
@ 2013-07-09 20:10                   ` Randy Brukardt
  2013-07-09 22:09                     ` Georg Bauhaus
  2013-07-10  1:31                     ` mjsilva
  1 sibling, 2 replies; 55+ messages in thread
From: Randy Brukardt @ 2013-07-09 20:10 UTC (permalink / raw)


<mjsilva@scriptoriumdesigns.com> wrote in message 
news:81c8e4a2-f0bb-4559-b2b7-0eba08ddca99@googlegroups.com...
On Tuesday, July 9, 2013 12:51:39 AM UTC-7, Dmitry A. Kazakov wrote:
...
> No technology ever dies, it becomes niche. Ada's advantage in the niche is
>
> minimal. Its advantage on mainstream SBCs is potentially huge.

>But the difference is that nobody is arguing that Ada is not suitable for 
>SBCs.  However,
> you are dismissing Ada on microcontrollers, of which tens of billions are 
> sold each year
> (big niche!).  You are making this an either/or question, which it most 
> certainly is not.  How
> is it that you have been appointed to determine where Ada can be 
> beneficial, and where
> it cannot?

He hasn't, he's just telling the truth. On tiny systems, 90% of Ada's 
advantages are negated; you're talking about systems with no exceptions, 
extremely limited tasking (Ravenscar is far too limited to be usable outside 
of the hands of experts with lots of time to spend on analysis), very 
limited numerics (usually integers only), and that by their very nature have 
to be small (so the benefit of Ada's program structuring features like 
private types and child packages are hardly noticable, except in a negative 
way as they often will slightly increase code size).

Such a language is completely different than the Ada I know, and it's 
dubious to call it Ada at all. Moreover, the advantages it still has are 
impossible to explain to someone that is using some other high-level 
language -- most of the code written would end up as C-in-Ada-syntax and the 
programmers would never find out why that is bad (because it wouldn't matter 
on those systems).

The truth is, you don't *need* Ada to program such systems, and on such 
systems it's "just another programming language", especially from the 
perspective of the average programmer (as opposed to the Ada true believer). 
It wouldn't cause the sort of correctness improvements that you see when 
using Ada on larger systems, so it hard to see why people would pay extra 
for it. And if no one wants to pay for it, it isn't going to exist (almost 
all great Open Source software has its roots in for-pay companys).

                                            Randy.


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 13:11                             ` Simon Clubley
@ 2013-07-09 20:30                               ` Randy Brukardt
  2013-07-09 22:23                                 ` Georg Bauhaus
  2013-07-10 12:25                                 ` Simon Clubley
  0 siblings, 2 replies; 55+ messages in thread
From: Randy Brukardt @ 2013-07-09 20:30 UTC (permalink / raw)


"Simon Clubley" <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote in 
message news:krh26d$8b0$1@dont-email.me...
> On 2013-07-09, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
...
> What is needed is to create a Ada compiler which will create code which
> runs in bare metal mode on a number of specific architectures (ARM and
> MIPS would be my personal initial preferences).

I agree with Dmitry, this sounds like nonsense. Certainly you can write a 
cross-compiler, but it can't "target bare-metal". Most machines need a 
substantial RTS to support anything. The Z80s that we targeted when we 
started out didn't even support multiple and divide in hardware -- you would 
have been limited to plus and minus (and no arrays, as those require 
multiplying to do indexing) without an RTS.

Early Janus/Ada was available for bare-metal (still is, nominally) -- we 
provided the source code of the RTS and customers could tailor it to their 
actual hardware board. But there was no way to make that process portable in 
any sense -- every hardware implementation was different. And nothing I've 
heard here suggests that anything has changed in that respect.

So it makes sense to target a particular board (Lego Mindstorms, Raspberry 
PI), but targeting all boards is nonsense.

> At this point, I'm beginning to think you are either trolling or just
> refusing to accept (for whatever reason) that there's a vast embedded
> market out there, outside of what you are used to, which could be a
> target for Ada.

I started out creating tiny Ada subsets, and I've come to believe that those 
do Ada far more harm than good. The only sort of Ada that can run on those 
targets is an emasculated Ada that is likely to repell, rather than attract 
people to "real" Ada down the road. (And yes, I feel that way about Spark 
and Ravenscar, too; those both are rooted in the technology limitations of 
the 1990s and one would hope that we can now move on to more generally 
useful things.)

> Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
> Microsoft: Bringing you 1980s technology to a 21st century world

And that's what Ada (and Linux) is doing, too. It's only become practical to 
use a lot of that 80s technology in very recent years. (Plus it works well, 
why change for the sake of change?) Why single out Microsoft for this?
Besides, that is *exactly* what you want people to do (go back to 1980s Ada 
subsets); it is really silly to advocate in a message for doing the very 
thing that your signature is railing against.

                                    Randy.





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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 20:10                   ` Randy Brukardt
@ 2013-07-09 22:09                     ` Georg Bauhaus
  2013-07-10 22:21                       ` Randy Brukardt
  2013-07-10  1:31                     ` mjsilva
  1 sibling, 1 reply; 55+ messages in thread
From: Georg Bauhaus @ 2013-07-09 22:09 UTC (permalink / raw)


On 09.07.13 22:10, Randy Brukardt wrote:
> On tiny systems, 90% of Ada's advantages are negated

McCormick found that 90% of Ada's presumed advantages were
down the list of important advantages, at least in his "test
groups". (That's the model railroads embedded projects.)

At the top of this list are Ada's scalar types.

At the top of the list of the weekly CVEs are predefined
scalar types of C.

So, it's not exactly just syntax that programmers change when
expressing their embedded programs in sequential Ada, not C.



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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 20:30                               ` Randy Brukardt
@ 2013-07-09 22:23                                 ` Georg Bauhaus
  2013-07-10  8:06                                   ` Dmitry A. Kazakov
  2013-07-10 12:25                                 ` Simon Clubley
  1 sibling, 1 reply; 55+ messages in thread
From: Georg Bauhaus @ 2013-07-09 22:23 UTC (permalink / raw)


On 09.07.13 22:30, Randy Brukardt wrote:
> those both are rooted in the technology limitations of
> the 1990s and one would hope that we can now move on to more generally
> useful things

Here's an embedded job, outlining a goal of Ada's utility:

Connect a thermometer in a fridge to an LCD display, with a controller
between them. Do I need tasking? TCP sockets? File systems?

However, an Ada 2012 scalar type for temperature, with physical unit
checking support, perhaps stating static predicates, might be superior,
and useful. Even if one does not consider a fridge generally useful.

Note that MISRA C mandates typedefs for int and the like (MISRA C
being dismissed by demonstrably knowledgeable C nerds does not
change this industry standard). Still far from the expressiveness
of basic Ada types.



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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 15:00                           ` Dmitry A. Kazakov
@ 2013-07-09 23:13                             ` Peter C. Chapin
  0 siblings, 0 replies; 55+ messages in thread
From: Peter C. Chapin @ 2013-07-09 23:13 UTC (permalink / raw)



On 07/09/2013 11:00 AM, Dmitry A. Kazakov wrote:

> The project is in MSVC. I cannot tell much about C++ 11. In any case it is
> irrelevant for now, because experience shows that any C standard requires
> decades to be implemented by vendors, if ever.

Supposedly clang++ v3.3 (available now) implements the entire C++11 
language. I believe the C++ library they are developing may also be 
close to complete (not sure about that).

I also understand that g++ v4.8 has complete support for the C++11 
language... not sure about the library.

Microsoft is behind currently. I think that may be because their release 
cycle is longer. I'd like to think that Visual Studio 2015 or whatever 
it ends up being will support C++11 fully. Well, let's hope.

Peter

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 20:10                   ` Randy Brukardt
  2013-07-09 22:09                     ` Georg Bauhaus
@ 2013-07-10  1:31                     ` mjsilva
  2013-07-10  8:17                       ` Dmitry A. Kazakov
  2013-07-10 22:39                       ` Randy Brukardt
  1 sibling, 2 replies; 55+ messages in thread
From: mjsilva @ 2013-07-10  1:31 UTC (permalink / raw)


On Tuesday, July 9, 2013 1:10:19 PM UTC-7, Randy Brukardt wrote:
> <mjsilva@scriptoriumdesigns.com> wrote in message 
> 
> news:81c8e4a2-f0bb-4559-b2b7-0eba08ddca99@googlegroups.com...
> 
> On Tuesday, July 9, 2013 12:51:39 AM UTC-7, Dmitry A. Kazakov wrote:
> 
> ...
> 
> > No technology ever dies, it becomes niche. Ada's advantage in the niche is
> 
> >
> 
> > minimal. Its advantage on mainstream SBCs is potentially huge.
> 
> 
> 
> >But the difference is that nobody is arguing that Ada is not suitable for 
> 
> >SBCs.  However,
> 
> > you are dismissing Ada on microcontrollers, of which tens of billions are 
> 
> > sold each year
> 
> > (big niche!).  You are making this an either/or question, which it most 
> 
> > certainly is not.  How
> 
> > is it that you have been appointed to determine where Ada can be 
> 
> > beneficial, and where
> 
> > it cannot?
> 
> 
> 
> He hasn't, he's just telling the truth. On tiny systems

What is tiny?  128k of program memory?  256k?  512k?  1MByte?

> 90% of Ada's 
> 
> advantages are negated;

What is the absolute minimum system that can run "100% Ada"?

> you're talking about systems with no exceptions, 
> 
> extremely limited tasking (Ravenscar is far too limited to be usable outside 
> 
> of the hands of experts with lots of time to spend on analysis), very 
> 
> limited numerics (usually integers only)

Why integers only?  Surely Ada compilers don't use OS services for floating or fixed point.

>and that by their very nature have 
> 
> to be small (so the benefit of Ada's program structuring features like 
> 
> private types and child packages are hardly noticable, except in a negative 
> 
> way as they often will slightly increase code size).
> 
> 
> 
> Such a language is completely different than the Ada I know, and it's 
> 
> dubious to call it Ada at all. Moreover, the advantages it still has are 
> 
> impossible to explain to someone that is using some other high-level 
> 
> language -- most of the code written would end up as C-in-Ada-syntax and the 
> 
> programmers would never find out why that is bad (because it wouldn't matter 
> 
> on those systems).
> 
> 
> 
> The truth is, you don't *need* Ada to program such systems, and on such 
> 
> systems it's "just another programming language", especially from the 
> 
> perspective of the average programmer (as opposed to the Ada true believer). 
> 
> It wouldn't cause the sort of correctness improvements that you see when 
> 
> using Ada on larger systems, so it hard to see why people would pay extra 
> 
> for it. And if no one wants to pay for it, it isn't going to exist (almost 
> 
> all great Open Source software has its roots in for-pay companys).

And yet somebody paid for Ada on AVR, a much smaller processor than what is being discussed here.

So again I ask you and Dmitry, what is the smallest possible system that can run "100% Ada"?


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 22:23                                 ` Georg Bauhaus
@ 2013-07-10  8:06                                   ` Dmitry A. Kazakov
  0 siblings, 0 replies; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-10  8:06 UTC (permalink / raw)


On Wed, 10 Jul 2013 00:23:01 +0200, Georg Bauhaus wrote:

> Connect a thermometer in a fridge to an LCD display, with a controller
> between them. Do I need tasking? TCP sockets? File systems?

Sure. E.g.

   http://www.beckhoff.de/english.asp?ethercat/et1100_et1200.htm 

The sensor is a PT100, an analogue input sampled independently on the I/O
protocol. In this case of ET1100 it is EtherCAT. The nature of the
communication is that I/O to the master and sampling can be asynchronous or
triggered by communication I/O etc. In short, it is tasking, shared memory,
barriers and other "nice" stuff.

This is clearly all over the top for a fridge right now. But this is not so
distant future. A telephone is already a personal computer with all bells
and whistles. So any household device will become. 

It may be funny, but yes, to service one bit of data of an actuator or
sensor you will have a whole computer attached to it wielding the power of
a workstation in early 90's.

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


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-10  1:31                     ` mjsilva
@ 2013-07-10  8:17                       ` Dmitry A. Kazakov
  2013-07-10 22:39                       ` Randy Brukardt
  1 sibling, 0 replies; 55+ messages in thread
From: Dmitry A. Kazakov @ 2013-07-10  8:17 UTC (permalink / raw)


On Tue, 9 Jul 2013 18:31:13 -0700 (PDT), mjsilva@scriptoriumdesigns.com
wrote:

> So again I ask you and Dmitry, what is the smallest possible system that
> can run "100% Ada"?

Under 1MB I would guess. But I am not a compiler vendor, Randy can give a
much more reliable figure.

P.S. I ran full Ada 83 compilers on systems with 2MB and less. Those were
CISCs, so if you consider ARM, which is a RISC, you should probably
multiply that by factor 2 or so.

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

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 20:30                               ` Randy Brukardt
  2013-07-09 22:23                                 ` Georg Bauhaus
@ 2013-07-10 12:25                                 ` Simon Clubley
  2013-07-10 22:17                                   ` Randy Brukardt
  1 sibling, 1 reply; 55+ messages in thread
From: Simon Clubley @ 2013-07-10 12:25 UTC (permalink / raw)


On 2013-07-09, Randy Brukardt <randy@rrsoftware.com> wrote:
> "Simon Clubley" <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote in 
> message news:krh26d$8b0$1@dont-email.me...
> ...
>> What is needed is to create a Ada compiler which will create code which
>> runs in bare metal mode on a number of specific architectures (ARM and
>> MIPS would be my personal initial preferences).
>
> I agree with Dmitry, this sounds like nonsense. Certainly you can write a 
> cross-compiler, but it can't "target bare-metal". Most machines need a 
> substantial RTS to support anything. The Z80s that we targeted when we 
> started out didn't even support multiple and divide in hardware -- you would 
> have been limited to plus and minus (and no arrays, as those require 
> multiplying to do indexing) without an RTS.
>

I define bare metal as including the required support code to support
language constructs. Bare metal is defined as the code directly talking
to the hardware without a OS in the way.

Even bare metal C (within GCC) has references in it's generated code to a
gcc supplied library to handle the features not available on the hardware;
such code is still considered to be bare metal code.

> Early Janus/Ada was available for bare-metal (still is, nominally) -- we 
> provided the source code of the RTS and customers could tailor it to their 
> actual hardware board. But there was no way to make that process portable in 
> any sense -- every hardware implementation was different. And nothing I've 
> heard here suggests that anything has changed in that respect.
>
> So it makes sense to target a particular board (Lego Mindstorms, Raspberry 
> PI), but targeting all boards is nonsense.
>

I never said anything about targeting _all_ boards. I only talked about
targeting specific architectures. Within those architectures, there are
specific subclasses you can target. For example, in the ARM world, a
generic Cortex-M3 target could be a good choice for a hardware support
library.

And as I have already mentioned, the process of building a compiler to
generate code for a architecture (ARM) and writing a support library for
boards within that architecture (Cortex M3) are considered to be two
separate things.

>> At this point, I'm beginning to think you are either trolling or just
>> refusing to accept (for whatever reason) that there's a vast embedded
>> market out there, outside of what you are used to, which could be a
>> target for Ada.
>
> I started out creating tiny Ada subsets, and I've come to believe that those 
> do Ada far more harm than good. The only sort of Ada that can run on those 
> targets is an emasculated Ada that is likely to repell, rather than attract 
> people to "real" Ada down the road.
>

Congratulations, you just guaranteed that Ada is never going to be accepted
by the majority with that attitude.

The way to get people interested in Ada is to expose them to Ada _before_
they have made a large investment in other languages and have learned to
work around the issues associated with those other languages.

You are still going to get people like myself interested (people who know
those more mainstream languages, but also actively look for other safer
languages), but the result of your worldview is that by the time many
people are working on projects which you think are large enough to be
considered for Ada use, then those people are just going to use the
languages they are familiar with because they understand those languages
and their issues even though Ada may indeed be a better fit.

There's a hell of a lot of good stuff in Ada which deserves to be more
widely used, but a number of people here don't seem to understand that
their ossified attitudes turn away potential newcomers while those same
same people are moaning about the lack of new people interested in Ada.

I'm frustrated because I see places it would be _very_ nice to use Ada,
but also see that some existing attitudes within the established Ada
community are a major blocker stopping people trying Ada.

The people who you might interest in Ada today have a very different
experience in terms of hardware platforms and projects than what you
seem to be used to. If you want those people to start becoming interested
in Ada, you need to make Ada relevant to the way they work and their
interests.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-10 12:25                                 ` Simon Clubley
@ 2013-07-10 22:17                                   ` Randy Brukardt
  2013-07-11 16:58                                     ` Eryndlia Mavourneen
  0 siblings, 1 reply; 55+ messages in thread
From: Randy Brukardt @ 2013-07-10 22:17 UTC (permalink / raw)


"Simon Clubley" <clubley@remove_me.eisner.decus.org-Earth.UFP> wrote in 
message news:krjjr4$sqm$1@dont-email.me...
> On 2013-07-09, Randy Brukardt <randy@rrsoftware.com> wrote:
...
>>> At this point, I'm beginning to think you are either trolling or just
>>> refusing to accept (for whatever reason) that there's a vast embedded
>>> market out there, outside of what you are used to, which could be a
>>> target for Ada.
>>
>> I started out creating tiny Ada subsets, and I've come to believe that 
>> those
>> do Ada far more harm than good. The only sort of Ada that can run on 
>> those
>> targets is an emasculated Ada that is likely to repell, rather than 
>> attract
>> people to "real" Ada down the road.
>
> Congratulations, you just guaranteed that Ada is never going to be 
> accepted
> by the majority with that attitude.

Ada never will be accepted by the majority, for the very simple reason that 
the "majority" are programming in Javascript and PHP, maybe Ruby or Python 
for big projects. Moreover, the "majority" doesn't give a damn about getting 
anything right, they'll just use rapid updates to change it until it sort-of 
works. None of which could reasonably be replaced by Ada.

> The way to get people interested in Ada is to expose them to Ada _before_
> they have made a large investment in other languages and have learned to
> work around the issues associated with those other languages.

But that's never been true historically, and it's even less true today. Back 
in the 70s and 80s, people started with Basic of one sort or another. A few 
lucky ones started with Turbo Pascal. Hardly anyone started with Ada (or 
even Java).

Now, people are going to start with Javascript or PHP, because what they're 
going to want to do is going to be associated with the web.

> You are still going to get people like myself interested (people who know
> those more mainstream languages, but also actively look for other safer
> languages), but the result of your worldview is that by the time many
> people are working on projects which you think are large enough to be
> considered for Ada use, then those people are just going to use the
> languages they are familiar with because they understand those languages
> and their issues even though Ada may indeed be a better fit.
>
> There's a hell of a lot of good stuff in Ada which deserves to be more
> widely used, but a number of people here don't seem to understand that
> their ossified attitudes turn away potential newcomers while those same
> same people are moaning about the lack of new people interested in Ada.
>
> I'm frustrated because I see places it would be _very_ nice to use Ada,
> but also see that some existing attitudes within the established Ada
> community are a major blocker stopping people trying Ada.
>
> The people who you might interest in Ada today have a very different
> experience in terms of hardware platforms and projects than what you
> seem to be used to. If you want those people to start becoming interested
> in Ada, you need to make Ada relevant to the way they work and their
> interests.

I spent 25 years of my life trying to get Ada more widely used by the 
masses. And lots of others at places like Aonix did the same. We have almost 
nothing to show for those efforts. Indeed, we seem to have more interest now 
rather than in the past now that everyone has given up those efforts. Which 
suggests to me, at least, that those efforts were counterproductive. Where 
AdaCore seems to have been more successful is in giving away free stuff as a 
side-effect of their paying work. But that of course presumes that there is 
paying work...

I could see a lot of value to an Ada-like language for smaller machines. 
Just don't call it Ada, and you'll probably have a winner. (So many people 
have a knee-jerk hate of Ada, even though they've never used it, it's bets 
to distance one from the name.) That's not going to do anything for Ada 
proper.

You don't like the view that I get from my 33 years of Ada experience, and 
that's fine. Feel free to prove me wrong, but if you fail, remember that I 
told you that you would fail. And don't expect me to encourage anyone else 
to waste their time on what I view as a losing endevour.

                                           Randy.


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-09 22:09                     ` Georg Bauhaus
@ 2013-07-10 22:21                       ` Randy Brukardt
  2013-07-11  6:12                         ` Georg Bauhaus
  0 siblings, 1 reply; 55+ messages in thread
From: Randy Brukardt @ 2013-07-10 22:21 UTC (permalink / raw)


"Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
news:51dc8a0f$0$6579$9b4e6d93@newsspool3.arcor-online.net...
> On 09.07.13 22:10, Randy Brukardt wrote:
>> On tiny systems, 90% of Ada's advantages are negated
>
> McCormick found that 90% of Ada's presumed advantages were
> down the list of important advantages, at least in his "test
> groups". (That's the model railroads embedded projects.)
>
> At the top of this list are Ada's scalar types.
>
> At the top of the list of the weekly CVEs are predefined
> scalar types of C.
>
> So, it's not exactly just syntax that programmers change when
> expressing their embedded programs in sequential Ada, not C.

Sure, that's the 10%: Ada's type system still brings some benefits. IMHO, 
the package system, private types, exceptions and handling, and tasking with 
timeouts and the like are much more valuable. Keep in mind that McCormick is 
talking about tiny systems where the *real* advantages of Ada don't have 
much use.

(And any high-level language -- C is not a high-level language in my view --  
would have the same advantages. Which is why it is not a particularly good 
place for Ada, unless you think that the only possible competition is C.)

                           Randy.


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-10  1:31                     ` mjsilva
  2013-07-10  8:17                       ` Dmitry A. Kazakov
@ 2013-07-10 22:39                       ` Randy Brukardt
  1 sibling, 0 replies; 55+ messages in thread
From: Randy Brukardt @ 2013-07-10 22:39 UTC (permalink / raw)


<mjsilva@scriptoriumdesigns.com> wrote in message 
news:4be25699-a21d-42f9-b44a-38631e866357@googlegroups.com...
> On Tuesday, July 9, 2013 1:10:19 PM UTC-7, Randy Brukardt wrote:
>> <mjsilva@scriptoriumdesigns.com> wrote in message
...
>> He hasn't, he's just telling the truth. On tiny systems
> What is tiny?  128k of program memory?  256k?  512k?  1MByte?

Anything that needs an Ada subset to succeed.

>> 90% of Ada's advantages are negated;
>
> What is the absolute minimum system that can run "100% Ada"?

Our 16-bit 8086 compilers (for validated Ada 83) had a minimum size of about 
16K without tasking and 64K with tasking. Ada 2012 would be larger, but 
probably not more than twice that (Janus/Ada was built from the ground up 
for small code size, so *everything* emphasizes that, and that support is 
still in the compiler). The main problem for bare machine compilers is that 
one has to have access to timers, some sort of bootstrap loader, and 
possibly interrupt controllers to support anything. (And then you have a 
compiler with no I/O, which makes debugging interesting.) And those things 
are different on every board, every processor revision, and the like. You 
never have a large enough market to commercially support anything; doing it 
individually is too expensive for most customers. So you're stuck.

Don't get me wrong, I'd love to support bare-metal Ada systems again. But 
I'd only do it if someone was willing and able to support the work -- I 
don't make enough now to take on lots of freebee work in the hopes of making 
some money down the road (especially when experience says that it would be a 
money-losing proposition).

>> you're talking about systems with no exceptions,
>> extremely limited tasking (Ravenscar is far too limited to be usable 
>> outside
>>
>> of the hands of experts with lots of time to spend on analysis), very
>>
>> limited numerics (usually integers only)
>
> Why integers only?  Surely Ada compilers don't use OS services for 
> floating or fixed point.

None of the "tiny processors" that I'm aware of have any hardware floating 
point support. Doing it in software would be horribly expensive (the library 
we wrote for 8086 machines took several months to write and debug; it's 6500 
lines of assembler), and programs for such processors don't usually need it 
anyway (else they'd use a processor with such support), so it isn't worth 
supporting. Janus/Ada uses floating point to implement fixed point I/O, 
conversions, and in some cases in generics, so it isn't practical to support 
fixed point on machines without any floating point support. Some compilers 
might be able to support very limited forms of fixed point without any 
floating point support (only a limited number of binary smalls, for 
instance) -- I don't find such things very interesting (decimal smalls are 
manditory in my view, since we work in decimal, not binary).

                                     Randy.




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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-10 22:21                       ` Randy Brukardt
@ 2013-07-11  6:12                         ` Georg Bauhaus
  2013-07-11 22:00                           ` Randy Brukardt
  0 siblings, 1 reply; 55+ messages in thread
From: Georg Bauhaus @ 2013-07-11  6:12 UTC (permalink / raw)


On 11.07.13 00:21, Randy Brukardt wrote:

> Sure, that's the 10%: Ada's type system still brings some benefits. IMHO,
> the package system, private types, exceptions and handling, and tasking with
> timeouts and the like are much more valuable. Keep in mind that McCormick is
> talking about tiny systems where the *real* advantages of Ada don't have
> much use.

Customer: These Ada types help a lot! I want them.
Supplier: You are writing a tiny system. My preferred features
           of Ada don't have much use there.
Customer: A Lot of payed embedded work is done making
           such tiny systems. Are you sure?
Supplier: Go for another vendor who sells a compiler with Ada features
           for those tiny systems under a name different from Ada.
            Thank you.

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-10 22:17                                   ` Randy Brukardt
@ 2013-07-11 16:58                                     ` Eryndlia Mavourneen
  2013-07-11 22:07                                       ` Randy Brukardt
  0 siblings, 1 reply; 55+ messages in thread
From: Eryndlia Mavourneen @ 2013-07-11 16:58 UTC (permalink / raw)


On Wednesday, July 10, 2013 5:17:08 PM UTC-5, Randy Brukardt wrote
> 
> Ada never will be accepted by the majority, for the very simple reason that 
> the "majority" are programming in Javascript and PHP, maybe Ruby or Python 
> for big projects. Moreover, the "majority" doesn't give a damn about getting 
> anything right, they'll just use rapid updates to change it until it sort-of 
> works. None of which could reasonably be replaced by Ada.
> 
> > The way to get people interested in Ada is to expose them to Ada _before_
> > they have made a large investment in other languages and have learned to
> > work around the issues associated with those other languages.
> 
> But that's never been true historically, and it's even less true today. Back 
> in the 70s and 80s, people started with Basic of one sort or another. A few 
> lucky ones started with Turbo Pascal. Hardly anyone started with Ada (or 
> even Java).
> 
> Now, people are going to start with Javascript or PHP, because what they're 
> going to want to do is going to be associated with the web.
> 
> > You are still going to get people like myself interested (people who know
> > those more mainstream languages, but also actively look for other safer
> > languages), but the result of your worldview is that by the time many
> > people are working on projects which you think are large enough to be
> > considered for Ada use, then those people are just going to use the
> > languages they are familiar with because they understand those languages
> > and their issues even though Ada may indeed be a better fit.
> >
> > There's a hell of a lot of good stuff in Ada which deserves to be more
> > widely used, but a number of people here don't seem to understand that
> > their ossified attitudes turn away potential newcomers while those same
> > same people are moaning about the lack of new people interested in Ada.
> >
> > I'm frustrated because I see places it would be _very_ nice to use Ada,
> > but also see that some existing attitudes within the established Ada
> > community are a major blocker stopping people trying Ada.
> >
> > The people who you might interest in Ada today have a very different
> > experience in terms of hardware platforms and projects than what you
> > seem to be used to. If you want those people to start becoming interested
> > in Ada, you need to make Ada relevant to the way they work and their
> > interests.
> 
> I spent 25 years of my life trying to get Ada more widely used by the 
> masses. And lots of others at places like Aonix did the same. We have almost 
> nothing to show for those efforts. Indeed, we seem to have more interest now 
> rather than in the past now that everyone has given up those efforts. Which 
> suggests to me, at least, that those efforts were counterproductive. Where 
> AdaCore seems to have been more successful is in giving away free stuff as a 
> side-effect of their paying work. But that of course presumes that there is 
> paying work...
> 
> I could see a lot of value to an Ada-like language for smaller machines. 
> Just don't call it Ada, and you'll probably have a winner. (So many people 
> have a knee-jerk hate of Ada, even though they've never used it, it's bets 
> to distance one from the name.) That's not going to do anything for Ada 
> proper.
> 
> You don't like the view that I get from my 33 years of Ada experience, and 
> that's fine. Feel free to prove me wrong, but if you fail, remember that I 
> told you that you would fail. And don't expect me to encourage anyone else 
> to waste their time on what I view as a losing endevour.
> 
>                                            Randy.

In my experience (over 40+ years), people gravitate to a language b/c
1) They can afford it.  This usually means free.
2) It is easy to learn and use.
   A well-defined "official" subset to get them "hooked" wouldn't hurt.
   This may exist now. I don't know.
3) Way cool tools and APIs (Android?) for doing way cool things.
4) Buy-in by major vendors; however, I do not see this as happening until (2) and (3) garner enough interest from the developers who are employed by these major vendors.

Number (3) -- the built-in tools (annexes, attributes, etc.) -- caught my attention first, and then I found out that the language was going to be supported by the major vendors of the time -- IBM and DEC in particular.

It certainly wouldn't hurt for a MicroSoft or a Google or a Yahoo to decide to use it internally; there certainly are many reasons to begin doing so:  The bug repair list seems to get larger rather than smaller.  Perhaps one of these giants could be persuaded to "try it out" on a small but important project.  The positive results and personnel could then be used for another project, then another, ....

Btw, I started with FORTRAN and IBM 360 Assembly Language.  I also have used C extensively but also C++, COBOL, PL/I, RPG, Delphi (Object Pascal), SNOBOL4 (and the SPITBOL compiler for SNOBOL4), Icon, a few other assembly languages, etc.  None of these stopped me from immediately recognizing the beauty and practicality of Ada, even before there were compilers available.  And this was just from thumbing through the LRM in the bookstore!

I really don't believe that an existing, ensconced language is going to keep people from switching, if they see the utility in doing so, and it is possible to get a job using the "new" language.  I believe the coolness factor of great tools for specific jobs (like web page creation) can overcome many negative perceptions.  Don't forget the countless number of independent web developers who *will* use the next great tool, if it does (or has a library to do) what they need and want.  We see this all the time.

-- Eryndlia

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-11  6:12                         ` Georg Bauhaus
@ 2013-07-11 22:00                           ` Randy Brukardt
  0 siblings, 0 replies; 55+ messages in thread
From: Randy Brukardt @ 2013-07-11 22:00 UTC (permalink / raw)


"Georg Bauhaus" <rm.dash-bauhaus@futureapps.de> wrote in message 
news:51de4cda$0$6571$9b4e6d93@newsspool3.arcor-online.net...
> On 11.07.13 00:21, Randy Brukardt wrote:
>
>> Sure, that's the 10%: Ada's type system still brings some benefits. IMHO,
>> the package system, private types, exceptions and handling, and tasking 
>> with
>> timeouts and the like are much more valuable. Keep in mind that McCormick 
>> is
>> talking about tiny systems where the *real* advantages of Ada don't have
>> much use.
>
> Customer: These Ada types help a lot! I want them.
> Supplier: You are writing a tiny system. My preferred features
>           of Ada don't have much use there.
> Customer: A Lot of payed embedded work is done making
>           such tiny systems. Are you sure?
> Supplier: Go for another vendor who sells a compiler with Ada features
>           for those tiny systems under a name different from Ada.
>            Thank you.

This last reply isn't accurate. The real reply would be something like:

Supplier: We can put full Ada on such systems, but they always require 
customization. We can do the customization as part of an embedded support 
contract, but they're not cheap.
Customer: Oh. I wanted something free.
Supplier: Ha-ha-ha-ha-ha!!!! (OK, I'd probably politely say, can't help you 
with that, thank them, hang up, then laugh hysterially -- or maybe cry.)

                                    Randy.


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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
  2013-07-11 16:58                                     ` Eryndlia Mavourneen
@ 2013-07-11 22:07                                       ` Randy Brukardt
  0 siblings, 0 replies; 55+ messages in thread
From: Randy Brukardt @ 2013-07-11 22:07 UTC (permalink / raw)


"Eryndlia Mavourneen" <eryndlia@gmail.com> wrote in message 
news:602e6609-b42d-4c92-a105-e6d899771154@googlegroups.com...
...
>Btw, I started with FORTRAN and IBM 360 Assembly Language.

Well, being a bit younger, I was able to start on early PCs when I was just 
out of high school. (Well, actually, I programmed various programmable 
calculators in high school, but that doesn't really translate to anything 
sensible.) But that meant programming with what what was easily available: 
the Basic that came with the machine. My formal programming education 
started a few months later with FORTRAN IV (it wasn't "Fortran" then).

I agree that the starting language doesn't matter than much; anyone with 
half-a-brain will quickly figure out that you need more than basic 
capabilities to get much done. That's where Ada comes in, at least we hope.

                                            Randy.






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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada
  2013-06-19 18:59   ` Marcus F
  2013-06-19 19:25     ` Marcus F
@ 2013-07-12 20:35     ` Rego, P.
  2013-07-12 20:37       ` Rego, P.
  1 sibling, 1 reply; 55+ messages in thread
From: Rego, P. @ 2013-07-12 20:35 UTC (permalink / raw)


On Wednesday, June 19, 2013 3:59:01 PM UTC-3, Marcus F wrote:
> I'd heard about ADA on Arduino, but wouldn't there be a relatively severe lack of space for code?

Hello Marcus,
Not quite. I have a quadcopter controlled by an Arduino with a simple kernel running in Ada. 

Besides AVR-Ada 
(http://sourceforge.net/p/avr-ada/wiki/Home/) cited by Jacob, I also point that Adacore has a ZFP implementation in GNAT GPL for AVRs called avr-elf-windows; you can download it from Adacore Libre site (select avr-elf-windows 2012; this year there is no new release for it). I am advising a msc thesis which implements some satellite protocols for small resources in an Arduino, in Ada, using ZFP. 

Ada is also available (I guess with full implementation) in the Raspbian linux which comes with Raspberry Pi. A bit more expensive (than Arduinos), but you have plenty more resources. I have a feeling that you can install that rt linux addins on it.

Cheers.
Rego.

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

* Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada
  2013-07-12 20:35     ` Rego, P.
@ 2013-07-12 20:37       ` Rego, P.
  0 siblings, 0 replies; 55+ messages in thread
From: Rego, P. @ 2013-07-12 20:37 UTC (permalink / raw)


On Friday, July 12, 2013 5:35:50 PM UTC-3, Rego, P. wrote:
> (http://sourceforge.net/p/avr-ada/wiki/Home/) cited by Jacob, I also point that Adacore has a ZFP implementation in GNAT GPL for AVRs called avr-elf-windows; you can download it from Adacore Libre site (select avr-elf-windows 2012; this year there is no new release for it). I am advising a msc thesis which implements some satellite protocols for small resources in an Arduino, in Ada, using ZFP. 
Adacore Libre is in 
http://libre.adacore.com/download/configurations#

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

end of thread, other threads:[~2013-07-12 20:37 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-19  7:51 Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Marcus F
2013-06-19 18:20 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running Ada Jacob Sparre Andersen
2013-06-19 18:59   ` Marcus F
2013-06-19 19:25     ` Marcus F
2013-07-12 20:35     ` Rego, P.
2013-07-12 20:37       ` Rego, P.
2013-07-07  9:16 ` Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA Lucretia
2013-07-07  9:56   ` Dmitry A. Kazakov
2013-07-07 10:58     ` Simon Clubley
2013-07-07 15:00       ` Dmitry A. Kazakov
2013-07-07 16:27         ` Niklas Holsti
2013-07-08  7:43           ` Dmitry A. Kazakov
2013-07-08 10:54             ` G.B.
2013-07-08 12:14               ` Dmitry A. Kazakov
2013-07-08 12:56                 ` Simon Clubley
2013-07-08 14:06                   ` Dmitry A. Kazakov
2013-07-08 14:43                     ` G.B.
2013-07-08 17:23                     ` Simon Clubley
2013-07-08 18:55                       ` Dmitry A. Kazakov
2013-07-09 11:53                         ` Simon Clubley
2013-07-09 12:57                           ` Dmitry A. Kazakov
2013-07-09 13:11                             ` Simon Clubley
2013-07-09 20:30                               ` Randy Brukardt
2013-07-09 22:23                                 ` Georg Bauhaus
2013-07-10  8:06                                   ` Dmitry A. Kazakov
2013-07-10 12:25                                 ` Simon Clubley
2013-07-10 22:17                                   ` Randy Brukardt
2013-07-11 16:58                                     ` Eryndlia Mavourneen
2013-07-11 22:07                                       ` Randy Brukardt
2013-07-08 13:15                 ` G.B.
2013-07-08 13:59                   ` Dmitry A. Kazakov
2013-07-09  0:53                     ` mjsilva
2013-07-08 20:31             ` Randy Brukardt
2013-07-08 20:45               ` Dmitry A. Kazakov
2013-07-09  0:19                 ` mjsilva
2013-07-09  0:27             ` mjsilva
2013-07-09  7:51               ` Dmitry A. Kazakov
2013-07-09  8:33                 ` Georg Bauhaus
2013-07-09  9:12                   ` Dmitry A. Kazakov
2013-07-09 11:08                     ` G.B.
2013-07-09 12:28                       ` Dmitry A. Kazakov
2013-07-09 14:20                         ` G.B.
2013-07-09 15:00                           ` Dmitry A. Kazakov
2013-07-09 23:13                             ` Peter C. Chapin
2013-07-09 15:38                 ` mjsilva
2013-07-09 19:48                   ` Dmitry A. Kazakov
2013-07-09 20:10                   ` Randy Brukardt
2013-07-09 22:09                     ` Georg Bauhaus
2013-07-10 22:21                       ` Randy Brukardt
2013-07-11  6:12                         ` Georg Bauhaus
2013-07-11 22:00                           ` Randy Brukardt
2013-07-10  1:31                     ` mjsilva
2013-07-10  8:17                       ` Dmitry A. Kazakov
2013-07-10 22:39                       ` Randy Brukardt
2013-07-09 13:53     ` Shmuel Metz

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