comp.lang.ada
 help / color / mirror / Atom feed
* Bootable ... bindings?
@ 2000-11-03 10:31 Sandro Binetti
  2000-11-03 14:55 ` Ted Dennison
  0 siblings, 1 reply; 4+ messages in thread
From: Sandro Binetti @ 2000-11-03 10:31 UTC (permalink / raw)


 Hi, I'm Sandro Binetti.
It's the first time I post into this newsgroup, thought I've been an
ADA programmer for more than ten years.

The question is the following: how to make a completely operating
system independent software by using ADA code? Why do I have to run my
embedded real-time ADA environment onto a "virtual machine", instead of
bootstrapping directely the ADA envinronment?

--
Ciao, Sandro


Sent via Deja.com http://www.deja.com/
Before you buy.



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

* Re: Bootable ... bindings?
  2000-11-03 10:31 Bootable ... bindings? Sandro Binetti
@ 2000-11-03 14:55 ` Ted Dennison
  2000-11-08  7:38   ` Sandro Binetti
  0 siblings, 1 reply; 4+ messages in thread
From: Ted Dennison @ 2000-11-03 14:55 UTC (permalink / raw)


In article <8tu466$vgd$1@nnrp1.deja.com>,
  Sandro Binetti <sandrobinetti@my-deja.com> wrote:

> The question is the following: how to make a completely operating
> system independent software by using ADA code? Why do I have to run my
> embedded real-time ADA environment onto a "virtual machine", instead
> of bootstrapping directely the ADA envinronment?

Hmmm. It sounds like you are suggesting that you'd like to run on an
embedded platform w/o an OS at all, just Ada. There are lots of embedded
Ada compilers out there that do that.

But if your concern is portability, you can do pretty well just by
staying within the defined language wherever possible. We have a rather
complex real-time scheduler we use here on our GreenHills vxWorks
systems which the developers commonly recompile using Gnat (different
compiler) for NT. Ada is probably the *only* language you could
realisticly write a source-code portable real-time scheduler in.

But of course you will probably still have hardware portability
problems. Any real-time system is bound to have special hardware that it
needs to access in a platform specific way. We are relatively fortunate
there in that we are using UDP sockets to interface to all our hardware.

--
T.E.D.

http://www.telepath.com/~dennison/Ted/TED.html


Sent via Deja.com http://www.deja.com/
Before you buy.



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

* Re: Bootable ... bindings?
  2000-11-08  7:38   ` Sandro Binetti
@ 2000-11-08  0:00     ` Ted Dennison
  0 siblings, 0 replies; 4+ messages in thread
From: Ted Dennison @ 2000-11-08  0:00 UTC (permalink / raw)


In article <8uavt1$kv$1@nnrp1.deja.com>,
  Sandro Binetti <sandrobinetti@my-deja.com> wrote:
> In article <8tujkg$bl9$1@nnrp1.deja.com>,
>   Ted Dennison <dennison@telepath.com> wrote:
> > Hmmm. It sounds like you are suggesting that you'd like to run on an
> > embedded platform w/o an OS at all, just Ada.
>
> OK! That's the case! I have to load in a PROM a boot sequence that

Well, in that case what you want is an embedded Ada compiler that
targets your CPU directly. There are several companies that make such
compilers. Searching through the list of validated compilers at
http://www.adaic.org/compilers/ada95.html would be a good place to start
looking.

Obviously you are likely to have better luck if you can be a bit
flexible about what processor you are going to use. But in a pinch,
there is also an Ada compiler from Aonix that targets C. I'm not sure it
supports the real-time annex though.


> > We have a rather
> > complex real-time scheduler we use here on our GreenHills vxWorks
> > systems which the developers commonly recompile using Gnat
> > (different compiler) for NT. Ada is probably the *only* language you
> > could realisticly write a source-code portable real-time scheduler
> > in.
> You mean that you can assemble a little, OS independent, task
> scheduler based on the ADA run-time libraries?

Whoa! I said it was "rather complex". I don't know if its "little" or
not, but as there is often an inverse relation between the two, my money
would be on "not". We are targetting a (non-windoze) PC, so size really
hasn't been much of a concern.

If you kept your needs simple (and within the easy capabilities of Ada's
real-time annex), then I don't see why one couldn't make a small
scheduler though. We had to do all sorts of fancy stuff like support
task snapshots and task recording and playback.

As for the rest though, yes. We made an OS independed real-time task
scheduler based on the Ada run-time libraries. It recompiled and ran
without a hitch on a different OS with a different vendor's compiler.

(Well, to be honest I did have to comment out a call to set the
real-time clock's iteration rate. Ada's real-time annex doesn't have
that one. But that could have been done in the kernel anyway.)

--
T.E.D.

http://www.telepath.com/~dennison/Ted/TED.html


Sent via Deja.com http://www.deja.com/
Before you buy.




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

* Re: Bootable ... bindings?
  2000-11-03 14:55 ` Ted Dennison
@ 2000-11-08  7:38   ` Sandro Binetti
  2000-11-08  0:00     ` Ted Dennison
  0 siblings, 1 reply; 4+ messages in thread
From: Sandro Binetti @ 2000-11-08  7:38 UTC (permalink / raw)


In article <8tujkg$bl9$1@nnrp1.deja.com>,
  Ted Dennison <dennison@telepath.com> wrote:
> In article <8tu466$vgd$1@nnrp1.deja.com>,
>   Sandro Binetti <sandrobinetti@my-deja.com> wrote:

> Hmmm. It sounds like you are suggesting that you'd like to run on an
> embedded platform w/o an OS at all, just Ada.

OK! That's the case! I have to load in a PROM a boot sequence that
contains only, or nearly, the ADA environment, and sone little add-ons
for a simple 32-bit bus handling.

[... snip]

> We have a rather
> complex real-time scheduler we use here on our GreenHills vxWorks
> systems which the developers commonly recompile using Gnat (different
> compiler) for NT. Ada is probably the *only* language you could
> realisticly write a source-code portable real-time scheduler in.

You mean that you can assemble a little, OS independent, task scheduler
based on the ADA run-time libraries?
I have to stay into some strict constraints, trading-off memory size
and execution times! I have to almost rely on the ADA code I write,
assigning strict priority "pragmas" to my tasks, allowing task
evolution only if this is able to terminate inside a predefined time-
window (in ather cases, something's gone wrong).

I only want, if possible, to minimize the presence of OS kernel
instructions in my bootable environment.

Thank you a lot, Ted, for your interest in my problem.
--
Ciao, Sandro


Sent via Deja.com http://www.deja.com/
Before you buy.



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

end of thread, other threads:[~2000-11-08  7:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-11-03 10:31 Bootable ... bindings? Sandro Binetti
2000-11-03 14:55 ` Ted Dennison
2000-11-08  7:38   ` Sandro Binetti
2000-11-08  0:00     ` Ted Dennison

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