comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Point a beginner in the right direction? Cheap bare-board to run with a RTOS for running ADA
Date: Sun, 07 Jul 2013 19:27:34 +0300
Date: 2013-07-07T19:27:34+03:00	[thread overview]
Message-ID: <b3tj7mF47m7U1@mid.individual.net> (raw)
In-Reply-To: <u6bg0ssfhm3z$.n67nistd8o0o.dlg@40tude.net>

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

  reply	other threads:[~2013-07-07 16:27 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 [this message]
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
replies disabled

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