comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
Date: Wed, 10 Jul 2013 17:39:45 -0500
Date: 2013-07-10T17:39:45-05:00	[thread overview]
Message-ID: <krknri$el7$1@loke.gir.dk> (raw)
In-Reply-To: 4be25699-a21d-42f9-b44a-38631e866357@googlegroups.com

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




  parent reply	other threads:[~2013-07-10 22:39 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2013-07-09 13:53     ` Shmuel Metz
replies disabled

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