Forum: Compiler & IDEs ADA für ARM OpenScource/Free?


von Researcher (Gast)


Lesenswert?

Hallo Gemeinde,

ich suche einen ADA Compiler & Laufzeitumgebung für ARM (Cortex).
Ich weiß, das Greenhills wohl solch einen anbietet, aber gibt es nicht 
vielleicht etwas auf Basis von GCC/GNAT?
Ich hatte neulich auch etwas von LLVM & ADA gelesen, habe aber nichts zu 
den unterstützen Plattformen gefunden.

Über Unterstützung wäre ich dankbar!

von GNAT für ARM (Gast)


Lesenswert?

Ja, gibt es.


1. GNAT Pro (Adacore)

Free (as in Free Speech): Ja
Free (as in Free Beer):   Nein (im Gegenteil, kostet richtig Geld...)
Lizenz der Runtime:       GMGPL (Erzeugen von nicht-GPL-Software 
möglich)

2. GNAT GPL for Mindstorms (Adacore; libre.adacore.com)

Free (as in Free Speech): Ja
Free (as in Free Beer):   Ja
Lizenz der Runtime:       GPL (damit erzeugte Software ist automatisch 
GPL)

Diese Version ist (wie der Name andeutet ;-) ) für Lego Mindstorms 
gedacht.
Es gibt ein sourceforge-Projekt, das auf der Basis dieser Sourcen eine 
angepaßte Runtime für andere Targets baut: 
http://sourceforge.net/projects/arm-ada/develop

Hat GHS tatsächlich einen ADA-Compiler für ARM? Auf deren ADA-Seite 
finde ich ARM nicht unter den unterstützten Targets.

von Researcher (Gast)


Lesenswert?

Hmm mist.
Also gibt es ergo noch nichts fertiges auf was man aufsetzten sollte...

Komisch - obwohl vielleicht liegt es daran, das ARM noch für das 
DOD/Space/... uninteressant ist - schade eigentlich!

Wir haben nur Probleme...
Erst hatten wir Probleme extendet Temperatur Devices zu finden (bis 
+125°C) und dann gibt es keinen Compiler :( zuletzt haben wir mit einem 
ADA-to-C Wrapper gearbeitet. Aber da ist das Ergebnis meiner Meinung 
nach fraglich...

von GNAT für ARM (Gast)


Lesenswert?

Researcher schrieb:
> Komisch - obwohl vielleicht liegt es daran, das ARM noch für das
> DOD/Space/... uninteressant ist - schade eigentlich!

Denen ist ARM vielleicht noch zu neu...

Andererseits: Dort hat man keine Probleme, GNAT Pro-Subscriptions zu 
kaufen. Und als GNAT Pro-Version gibt es ja so etwas wie 
ARM-mentor-nucleus (andere RTOS oder auch "ohne OS" auf Anfrage...)

von O. D. (odbs)


Lesenswert?

> zuletzt haben wir mit einem ADA-to-C Wrapper gearbeitet.

Wie validiert man das?

von countessoflovelance (Gast)


Lesenswert?

ich habe da mal von einem herrn horn von der universität lodz gehört der 
sich compiler-frontend,-backend,laufzeitumgebung selbst gebaut hat.

hier seine diplomarbeit (einer der ersten treffer bei google nach »ada 
linux arm«)

 http://www.zsk.p.lodz.pl/~morawski/Dyplomy/Praca%20dyplomowa%20p.%20Horna.pdf

hier wird das schön schlanke FreeRTOS verwendet. sieht nach einem haufen 
eigeninitiative aus, deshalb hab ich mich da noch nicht rangetraut,

ich wundere mich auch sehr über das äußerst verhaltene interesse an 
dieser wunderschönen sprache; besonders in den außerordentlich 
bevorzugenswerten kombinationen Ada+L4+ARM.

obschon bei den ersten beiden sich was tut: 
http://comments.gmane.org/gmane.comp.lang.ada.macosx/1023

hier die beiden letzten auf basis von OKL mit planung an ersterem 
http://genode.org/documentation/release-notes/9.11

schön zu lesen, dass sich doch jemand dafür interessiert.

von XTerminator (Gast)


Lesenswert?

countessoflovelance schrieb:
> ich wundere mich auch sehr über das äußerst verhaltene interesse an
> dieser wunderschönen sprache;

Die GPL-Edition von GNAT (also die von Adacore selbst) ist ziemlich 
jung, vor einigen Jahren kam man als Privatmensch überhaupt nicht an 
GNAT ran.

Das gcc-Frontend verbesserte die Situation schon, war aber ungeliebtes 
Stiefkind im gcc (weil ohnehin nur Adacore-Leute dran 
schraubten/schreiben konnten). Daher veraltete das Frontend auch, bzw. 
wurde oft nicht an Fortentwicklungen des Middleends angepaßt. NPTL war 
ein Drama, GNAT auf Basis von gcc 4 lange Zeit nicht nutzbar, 3.15 
dagegen broken.

Und die kleine Open-Source-Bewegung, die sich im GNAT-Umfeld gebildet 
hatte, hatte es schwer, weil die etablierten Ada-Experten Open Source 
nicht mögen. Sind eben durch und durch Leute, die 
Multimillionen-Dollar-Projekte kennen und mögen.

Letzteres erinnert an die Lisp-Open-Source-Situation, wobei es da 
immerhin ein kleines Ökosystem gibt. Und Lisp natürlich keine 
Multimillionen-Dollar-Industrie ist.

Kostenlose/Günstige Tools sind auch ein Problem.


Und zuguterletzt ist die Sprachdefinition zwar exakt, aber bizarr 
unverständlich. Selbst wenn man sich in die Begriffswelt erstmal 
einfindet, was schon schwierig genug ist, ist der "ungenaue" C-Standard 
dagegen der reinste Bestsellerroman.

von XTerminator (Gast)


Lesenswert?

GNAT für ARM schrieb im Beitrag #2469071:
> Free (as in Free Speech): Ja
> Free (as in Free Beer):   Nein (im Gegenteil, kostet richtig Geld...)

Falls sich jemand wundert, wie das funktioniert (und es funktioniert, 
ich hatte vor einigen Jahren u.a. Tauschbörsen nach der GPL-Version 
durchsucht -- wäre ja legal):

Adacore drohte dem Vernehmen nach seinen Kunden mindestens 
unterschwellig damit, daß im Falle eines Leaks gegebenenfalls die 
Support-Anrufe mal, nun ja, nur verzögert beachtet würden.

Und das wollte und konnte kein Kunde riskieren. Man hatte schließlich 
viel, viel, viel Geld auf den Tresen gelegt, um kommerziellen Support zu 
bekommen.

von GNAT für ARM (Gast)


Lesenswert?

XTerminator schrieb:
> Die GPL-Edition von GNAT (also die von Adacore selbst) ist ziemlich
> jung, vor einigen Jahren kam man als Privatmensch überhaupt nicht an
> GNAT ran.

Was man so jung nennt. GNAT GPL gibt's seit 2005 (also in etwa solange, 
wie es Adacore in der jetzigen Form gibt). So weit ich weiß, war vorher 
eine GMGPL-Version frei verfügbar.

> Das gcc-Frontend verbesserte die Situation schon,...
Was meinst Du in diesem Zusammenhang mit gcc-Frontend? Alle 
GNAT-Versionen sind GCCs mit Ada-Frontend. Im Prinzip ist GNAT Pro, GNAT 
GPL und FSF-GNAT technisch das gleiche, nur vom Entwicklungsstand 
zeitlich etwas auseinander.

> Und die kleine Open-Source-Bewegung, die sich im GNAT-Umfeld gebildet
> hatte, hatte es schwer, weil die etablierten Ada-Experten Open Source
> nicht mögen.

Wenn man bei Adacore Open Source nicht mögen würde, würde man wohl kaum 
die GPL-Version anbieten. Und schon gar nicht die eigenen Entwicklungen 
in den FSF-GCC-Tree einfließen lassen...

> Und zuguterletzt ist die Sprachdefinition zwar exakt, aber bizarr
> unverständlich.

Exakte und vollständige Definitionen sind häufig anstrengend zu lesen. 
Wenn man nicht gerade einen Compiler schreiben will, braucht man die 
Sprachdefinition allerdings eher selten. Für Anwender gibt es sehr gut 
lesbare andere Literatur.

> Falls sich jemand wundert, wie das funktioniert (und es funktioniert,

Warum sollte das nicht funktionieren...

> Adacore drohte dem Vernehmen nach seinen Kunden mindestens
> unterschwellig damit, daß im Falle eines Leaks gegebenenfalls die
> Support-Anrufe mal, nun ja, nur verzögert beachtet würden.

... es mag sein, daß es solche unterschwelligen Drohungen tatsächlich 
gab/gibt, wirklich nötig sind sie wohl nicht:
Die typische Adacore-Kundschaft wird gar nicht auf die Idee kommen, die 
Software weiterzugeben. So etwas - Software an Dritte weitergeben - 
liegt völlig außerhalb deren Erfahrungswelt.

von XTerminator (Gast)


Lesenswert?

GNAT für ARM schrieb im Beitrag #2511194:
>> Und die kleine Open-Source-Bewegung, die sich im GNAT-Umfeld gebildet
>> hatte, hatte es schwer, weil die etablierten Ada-Experten Open Source
>> nicht mögen.
>
> Wenn man bei Adacore Open Source nicht mögen würde, würde man wohl kaum
> die GPL-Version anbieten. Und schon gar nicht die eigenen Entwicklungen
> in den FSF-GCC-Tree einfließen lassen...

Es geht um die "Community". Lies halt mal ein bißchen mit, die Akzeptanz 
von Open Source ist dort sehr gering.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.