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
. @ .
next prev parent 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