comp.lang.ada
 help / color / mirror / Atom feed
* Ada for the next bare metal project?
@ 2015-02-16 16:40 droiddermo
  2015-02-16 17:37 ` Dmitry A. Kazakov
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: droiddermo @ 2015-02-16 16:40 UTC (permalink / raw)


Hello, friends! I'm going to implement a new project, that needs to run without operating system on bare metal x86 and x64 processors. And I'm thinking about using Ada instead of C. First of all what compiler should I use (free one)? Is it easy to use Ada without runtime (that depends on operating system api)? What language features will I miss? Is there a ready to use bare metal RTS, or I need to build my own?

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

* Re: Ada for the next bare metal project?
  2015-02-16 16:40 Ada for the next bare metal project? droiddermo
@ 2015-02-16 17:37 ` Dmitry A. Kazakov
  2015-02-16 22:19 ` Luke A. Guest
  2015-02-18 10:29 ` Frédéric Praca
  2 siblings, 0 replies; 7+ messages in thread
From: Dmitry A. Kazakov @ 2015-02-16 17:37 UTC (permalink / raw)


On Mon, 16 Feb 2015 08:40:43 -0800 (PST), droiddermo@gmail.com wrote:

> I'm going to implement a new project, that needs to run
> without operating system on bare metal x86 and x64 processors.

How could it "need" this? It is not a 8-bit microcontroller... It is big,
expensive needs a lot of things around it to be any usable. From that I
don't see why and how it needs to be without OS, depending on what you
understand under OS. Does MS-DOS count?

> And I'm thinking about using Ada instead of C.

Sure

> First of all what compiler should I
> use (free one)?

GNAT. However for x86 there are many other Ada compilers.

> Is it easy to use Ada without runtime (that depends on
> operating system api)?

1. Ada does not use any OS API (not directly).

2. Practically no language (a reasonable subset), Ada included, works
without some run-time.

> What language features will I miss?

Depends on how much of the run-time you are going to throw away and on the
motherboard. Almost everything, in this case, probably.

> Is there a ready to use bare metal RTS,
> or I need to build my own?

There is a great number of various OSes for x86. If you have much time and
money, you could take VxWorks. Otherwise, Debian Linux is just fine.

Even Windows XP would be OK, if you have some licenses left...

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


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

* Re: Ada for the next bare metal project?
  2015-02-16 16:40 Ada for the next bare metal project? droiddermo
  2015-02-16 17:37 ` Dmitry A. Kazakov
@ 2015-02-16 22:19 ` Luke A. Guest
  2015-02-17  7:56   ` droiddermo
  2015-02-18 10:29 ` Frédéric Praca
  2 siblings, 1 reply; 7+ messages in thread
From: Luke A. Guest @ 2015-02-16 22:19 UTC (permalink / raw)


<droiddermo@gmail.com> wrote:
> Hello, friends! I'm going to implement a new project, that needs to run
> without operating system on bare metal x86 and x64 processors. And I'm
> thinking about using Ada instead of C. First of all what compiler should
> I use (free one)? Is it easy to use Ada without runtime (that depends on
> operating system api)? What language features will I miss? Is there a
> ready to use bare metal RTS, or I need to build my own?

I have a tool chain built, apart from x86_64-elf-gdb as apparently this has
never been supported. So I'll be using the system one. I can provide you
with it and the basics for a zero footprint runtime.


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

* Re: Ada for the next bare metal project?
  2015-02-16 22:19 ` Luke A. Guest
@ 2015-02-17  7:56   ` droiddermo
  2015-02-17 23:42     ` Luke A. Guest
  0 siblings, 1 reply; 7+ messages in thread
From: droiddermo @ 2015-02-17  7:56 UTC (permalink / raw)


> I have a tool chain built, apart from x86_64-elf-gdb as apparently this has
> never been supported. So I'll be using the system one. I can provide you
> with it and the basics for a zero footprint runtime.
As for toolchain, I think I'll just go with mingw-w64 build (builds both x86 and
x64 code), put all code in one section and cut it out with objdump. But I'd like
to take a look at your zero footprint profile. What language features are
missing, if I use zero footprint profile?



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

* Re: Ada for the next bare metal project?
  2015-02-17  7:56   ` droiddermo
@ 2015-02-17 23:42     ` Luke A. Guest
  0 siblings, 0 replies; 7+ messages in thread
From: Luke A. Guest @ 2015-02-17 23:42 UTC (permalink / raw)


<droiddermo@gmail.com> wrote:
>> I have a tool chain built, apart from x86_64-elf-gdb as apparently this has
>> never been supported. So I'll be using the system one. I can provide you
>> with it and the basics for a zero footprint runtime.
> As for toolchain, I think I'll just go with mingw-w64 build (builds both x86 and
> x64 code), put all code in one section and cut it out with objdump. But I'd like
> to take a look at your zero footprint profile. What language features are
> missing, if I use zero footprint profile?

If you're doing is dev you should read the osdev wiki where it states you
should compile separate compilers for 32 and 64 bit builds as you might get
some strange surprises. You'll also find my ada barebones tutorial there
which outlines the basics you need Ina rts.


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

* Re: Ada for the next bare metal project?
  2015-02-16 16:40 Ada for the next bare metal project? droiddermo
  2015-02-16 17:37 ` Dmitry A. Kazakov
  2015-02-16 22:19 ` Luke A. Guest
@ 2015-02-18 10:29 ` Frédéric Praca
  2015-02-23 22:45   ` brbarkstrom
  2 siblings, 1 reply; 7+ messages in thread
From: Frédéric Praca @ 2015-02-18 10:29 UTC (permalink / raw)


On Mon, 16 Feb 2015 08:40:43 -0800, droiddermo wrote:

> Hello, friends! I'm going to implement a new project, that needs to run
> without operating system on bare metal x86 and x64 processors. And I'm
> thinking about using Ada instead of C. First of all what compiler should
> I use (free one)? Is it easy to use Ada without runtime (that depends on
> operating system api)? What language features will I miss? Is there a
> ready to use bare metal RTS, or I need to build my own?

If you don't want to build your own RTS, you could use :
- MaRTEOS http://marte.unican.es/ which is an Ada RTOS
- RTEMS https://www.rtems.org/ which is a C RTOS where you can use Ada to 
develop applications

The first one is quite easy to setup while the second was last time I 
tested it more difficult to use with Ada.

Hope it helps

Fred

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

* Re: Ada for the next bare metal project?
  2015-02-18 10:29 ` Frédéric Praca
@ 2015-02-23 22:45   ` brbarkstrom
  0 siblings, 0 replies; 7+ messages in thread
From: brbarkstrom @ 2015-02-23 22:45 UTC (permalink / raw)


On Wednesday, February 18, 2015 at 5:29:16 AM UTC-5, Frédéric Praca wrote:
> On Mon, 16 Feb 2015 08:40:43 -0800, droiddermo wrote:
> 
> > Hello, friends! I'm going to implement a new project, that needs to run
> > without operating system on bare metal x86 and x64 processors. And I'm
> > thinking about using Ada instead of C. First of all what compiler should
> > I use (free one)? Is it easy to use Ada without runtime (that depends on
> > operating system api)? What language features will I miss? Is there a
> > ready to use bare metal RTS, or I need to build my own?
> 
> If you don't want to build your own RTS, you could use :
> - MaRTEOS http://marte.unican.es/ which is an Ada RTOS
> - RTEMS https://www.rtems.org/ which is a C RTOS where you can use Ada to 
> develop applications
> 
> The first one is quite easy to setup while the second was last time I 
> tested it more difficult to use with Ada.
> 
> Hope it helps
> 
> Fred

You could just install the Ubuntu Linux non-desktop OS, followed by
GNAT.  At that point, you don't need an RTS, as far as I can tell.
I did that with an Intel Atom.  Appears to work fine.

Bruce B.

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

end of thread, other threads:[~2015-02-23 22:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-16 16:40 Ada for the next bare metal project? droiddermo
2015-02-16 17:37 ` Dmitry A. Kazakov
2015-02-16 22:19 ` Luke A. Guest
2015-02-17  7:56   ` droiddermo
2015-02-17 23:42     ` Luke A. Guest
2015-02-18 10:29 ` Frédéric Praca
2015-02-23 22:45   ` brbarkstrom

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