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!
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.
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...
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...)
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.
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.
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.
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.
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.