Forum: Mikrocontroller und Digitale Elektronik Gründe für IAR


von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo,
ein Kunde von mir möchte gerne Software mit dem IAR entwickelt haben. 
Ich bin mit der Kombination von GCC, GDB, CMake + Editor sehr zufrieden. 
Ich kenne den IAR überhaupt nicht. Welche Argumente sprechen eurer 
Meinung nach für oder gegen IAR?

Vom ersten Blick auf deren Webseite fallen mir als Argumente gegen IAR 
ein:
- Läuft scheinbar nur unter Windows
- Kann kein C++11

mfg Torsten

von Pandur S. (jetztnicht)


Lesenswert?

Ein Grund dafuer : der Kunde will das so.

Es genuegt ja, dass eine Software nur unter Windows laeuft. Nein ? 
Technische Entwicklungen macht man ausschliesslich auf einem PC.

Weshalb muss man das neuste Feature auch implementiert haben ? Limitiert 
dich das in irgendeiner Weise ? Fuer Controller sind die Objekte eh 
nichts.

Ein Grund dagegen waere allenfalls der stolze Preis. aber wenn der Kunde 
das so will ... und dir einen solchen Compiler hinstellt...

: Bearbeitet durch User
von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Oder D. schrieb:
> Ein Grund dafuer : der Kunde will das so.

Nun, meine Aufgabe als Software-Entwickler ist es ja auch durchaus, 
Kunden, die nicht aus der Software-Entwicklung kommen, zu beraten.

> Technische Entwicklungen macht man ausschliesslich auf einem PC.

Selbst wenn ich Deine Ausschließlichkeit so nicht teilen würde, verstehe 
ich den Zusammenhang mit PC und Windows nicht.

> Weshalb muss man das neuste Feature auch implementiert haben ? Limitiert
> dich das in irgendeiner Weise ? Fuer Controller sind die Objekte eh
> nichts.

Das must Du schon mir überlassen. Gerade C++11 enthält sehr viele 
Neuerungen, die sich im Microcontroller-Umfeld hervorragend verwenden 
lassen.

>
> Ein Grund dagegen waere allenfalls der stolze Preis. aber wenn der Kunde
> das so will ... und dir einen solchen Compiler hinstellt...

Ich kenne den Preis nicht, kann mir aber vorstellen, dass das eher kein 
Argument sein wird.

Schönen Dank für Deine Rückmeldung.

mfg Torsten

von Frank K. (fchk)


Lesenswert?

Wenn ich Kunde wäre und alles mit IAR entwickelt hätte, und dann 
Projekte vergebe, will ich nachher nicht ein Sammelsurium an 
verschiedenen IDEs und Compilern pflegen müssen. Das  allein reicht als 
Begründung.

Windows ist in der Industrie Standard. Ist halt so.

IAR hat sehr gute Compiler. Für AVR zB gibt es nichts besseres, denn IAR 
hat die AVR-Architektur mitentwickelt, so dass sie auf ihren Compiler 
optimal passt.

IAR unterstützt MISRA. Du kennst MISRA nicht? Fehler, großer Fehler. 
Dabei geht es nicht darum, alle Features des Compilers und der Sprache 
auszunutzen, sondern gezielt Sprachelemente NICHT zu nutzen, die 
erfahrungsgemäß leicht zu Bugs führen. C++11 ist daher auch kein Thema.

fchk

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

> Torsten R. schrieb:
>> Welche Argumente sprechen eurer
>> Meinung nach für oder gegen IAR?

Cyblord -. schrieb im Beitrag #4363600:

> Natürlich ist die IDE vom IAR nicht der Weisheit letzter Schluss (lange
> nicht), aber man muss da nicht so ein Geschiss drum machen.

Hallo Cyblord,
tut mir leid, wenn Dich meine Nachricht gerade mit Verstopfung auf der 
Toilette erreicht hat. Wie ich ja oben selbst geschrieben habe, kenne 
ich den IAR nicht. Mir sind aber zwei Dinge aufgefallen, die mich bei 
der Arbeit stören würden.

Du must ja meine Art zu arbeiten nicht mögen, aber muss man deswegen 
hier so austicken? Du tust ja fast so, als hätte ich Dich persönlich 
beleidigt.

mfg Torsten

von Felix A. (madifaxle)


Lesenswert?

Die IAR-Umgebung selbst ist ein Krampf. Es gibt keine Hervorhebungen im 
Code (durch Markieren einer Variablen alle anderen Vorkommen auch 
hervorgehoben) und kaum Codevervollständigungen. Ich muss das auch 
aufgrund eines Kundenwunsches machen. Im Nachhinein hätte ich 100% mehr 
Geld verlangen sollen.

Ein guter Punkt ist aber, dass es für Eclipse ein IAR Plugin gibt. Die 
Vorzüge von Eclipse lassen sich so mit dem IAR nutzen.

von Steffen R. (steffen_rose)


Lesenswert?

Torsten R. schrieb:
> ein Kunde von mir möchte gerne Software mit dem IAR entwickelt haben.

Grund genug.

> Ich bin mit der Kombination von GCC, GDB, CMake + Editor sehr zufrieden.
> Ich kenne den IAR überhaupt nicht. Welche Argumente sprechen eurer
> Meinung nach für oder gegen IAR?

Wir liefern Sourcecode. Unsere Kunden möchten diesen weiterentwickeln.
Viele unserer Kunden haben Probleme gcc, gdb, cmake Umgebung 
aufzusetzen.
Und IAR (oder eine andere Umgebung) läuft bereits. Außerdem macht es 
normalerweise für die Firmen keinen Sinn verschiedene Umgebungen 
einzusetzen.

> Vom ersten Blick auf deren Webseite fallen mir als Argumente gegen IAR
> ein:
> - Läuft scheinbar nur unter Windows

Möglich. Viele unserer Kunden nutzen Windows.

> - Kann kein C++11

Erlauben die Codingstandards der jeweiligen Firma dessen Verwendung?

Ich muss allerdings zugeben, dass wir die Entwicklung nicht auf der 
jeweiligen Umgebung durchführen. Jedoch erstellen wir entsprechende 
Projekte für den Kunden und testen die Software hiermit.

von Max D. (max_d)


Lesenswert?

Frank K. schrieb:
> Windows ist in der Industrie Standard. Ist halt so.

Selbsterfüllende Prophezeiung oder auch Teufelskreis.
Wenn nie jemand aus dem alten Muster ausgebrochen wäre, dann würde wir 
immernoch mit der Keule hinter nem Mammut herlaufen....

Frank K. schrieb:
> Für AVR zB gibt es nichts besseres, denn IAR
> hat die AVR-Architektur mitentwickelt, so dass sie auf ihren Compiler
> optimal passt.

Selbst Atmel presöhnlich setzt inzwischen auf einen (etwas verpatchten) 
GCC als ihren "Standart-AVR-Compiler". So überlegen kann IAR also nicht 
sein.


Solange natürlich tausende Euros für Produkte rausgeworfen werden weil 
es "standard" ist ohne zu kucken ob die features das rechtfertigen, 
solange werden solche Produkte natürlich auch bestehen bleiben.

M$ schafft es ja (zum Glück) zur Zeit massiv die Kundschaft zu 
vergraulen mit ihrer Spioniererei und den Zwangsupdates. Vlt. kommt so 
endlich mal etwas bewegung in den Lanschaft...

von Cyblord -. (cyblord)


Lesenswert?

Max D. schrieb:
> Frank K. schrieb:
>> Windows ist in der Industrie Standard. Ist halt so.
>
> Selbsterfüllende Prophezeiung oder auch Teufelskreis.
Der Kunde hat abgestimmt. Finde dich damit ab. Ist das so schwer zu 
verstehen?

> Wenn nie jemand aus dem alten Muster ausgebrochen wäre, dann würde wir
> immernoch mit der Keule hinter nem Mammut herlaufen....

Was damals Keule und Mammut war, ist heute die Kommandozeile unter Linux 
und die unsägliche Benutzerunfreundlichkeit. Fortschritt sehe ich da 
keinen.
Aber das spielt auch keine Rolle. Wenn ein Kunde das will, warum bitte 
müsst ihr dann immer missionieren? Genau DAS ist das Problem mit euch.

> Selbst Atmel presöhnlich setzt inzwischen auf einen (etwas verpatchten)
> GCC als ihren "Standart-AVR-Compiler". So überlegen kann IAR also nicht
> sein.
Der GCC ist ebenfalls sehr gut für AVRs inzwischen. Trotzdem stimmt die 
Aussage mit IAR.

> M$
Alles klar.

: Bearbeitet durch User
von Steffen R. (steffen_rose)


Lesenswert?

Felix A. schrieb:
> Die IAR-Umgebung selbst ist ein Krampf. Es gibt keine Hervorhebungen im
> Code (durch Markieren einer Variablen alle anderen Vorkommen auch
> hervorgehoben) und kaum Codevervollständigungen. Ich muss das auch
> aufgrund eines Kundenwunsches machen. Im Nachhinein hätte ich 100% mehr
> Geld verlangen sollen.

Du beziehts Dich hier nur auf den Editor. Und da merkt es niemand, 
welchen du im Endeffekt verwendet hast. Bis auf die 
Zeilenendenproblematik. Die man aber ganz gut in den Griff bekommt.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Steffen,

Steffen R. schrieb:
> Und IAR (oder eine andere Umgebung) läuft bereits. Außerdem macht es
> normalerweise für die Firmen keinen Sinn verschiedene Umgebungen
> einzusetzen.

ja, ich würde jetzt einem Kunden auch nicht aufschwatzen wollen, die 
Umgebung für bestehende Projekte zu ändern. GCC und CMake zu 
installieren ist aber auch kein Hexenwerk. Der gesamte Build ist dann 
mit CMake (oder von mir aus auch make) beschrieben und die Software kann 
sofort gebaut werden.

Ich kennes es noch von Visual Studio, das man da von Version zu Version 
regelmäßig die Projekt-Files anpassen musste. Gibt es solche Probleme 
mit IAR nicht?

>> - Kann kein C++11
>
> Erlauben die Codingstandards der jeweiligen Firma dessen Verwendung?

Es gibt Kunden, die die Vorteile von C++11/14 durchaus zu schätzen 
wissen. Ich habe einen Kunden da wird ein Großteil des Systemverhaltens 
deklarativ beschrieben und so zur Compiler-Zeit z.B. 
CAN-Bus-Telegram-Layouts bestimmt.

> Ich muss allerdings zugeben, dass wir die Entwicklung nicht auf der
> jeweiligen Umgebung durchführen. Jedoch erstellen wir entsprechende
> Projekte für den Kunden und testen die Software hiermit.

Das wäre natürlich auch ein Weg, man müsste sich dann halt auf die 
Einschränkungen des IAR-Compilers beschränken.

mfg Torsten

von Felix A. (madifaxle)


Lesenswert?

Ein paar weitere Infos habe ich noch:

-Kosten für eine Lizenz sollen bei etwa 4k€ liegen
-Compiler erstellt ANGEBLICH den "optimalsten" Code, keine Ahnung ob das 
stimmt
-Auch hier kommt es (habe das mit Version 6.x und der aktuellen 7.4? 
erlebt) zu leichten Unterschieden. Es wird zwar etwas angemerkt, aber 
ich weiß nicht, ob/wo es hakt.
-Mit STM32CubeMX erstellter Code führt auch zu einer Meldung, die ich 
nicht zuordnen kann. Wohl weil noch nicht die aktuelleste IAR-Version 
unterstützt wird. Gilt aber nur bei der Nutzung von STM-Controllern. 
Sonst wird CubeMX nicht benutzt.

Wenn du mit der Umgebung Probleme hast, sollte der Support helfen. Das 
tut er aber nur, wenn du die Software gekauft hast.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Steffen R. schrieb:
>> - Läuft scheinbar nur unter Windows
>
> Möglich. Viele unserer Kunden nutzen Windows.

Der Kunde selbst nutzt OS/X und lässt den IAR dem entsprechend in einer 
VM laufen. Eine Lösung, die sowohl unter OS/X als auch Windows läuft 
wäre eher ein Gewinn. Ich kann ja auch verstehen, dass man IDEs nicht 
für mehrere Plattformen Supporten möchte, aber dem Compiler sollte es 
doch (fast) egal sein, auf welchem Betriebssystem er läuft.

von Steffen R. (steffen_rose)


Lesenswert?

Torsten R. schrieb:
> Steffen R. schrieb:
>> Und IAR (oder eine andere Umgebung) läuft bereits. Außerdem macht es
>> normalerweise für die Firmen keinen Sinn verschiedene Umgebungen
>> einzusetzen.
>
> ja, ich würde jetzt einem Kunden auch nicht aufschwatzen wollen, die
> Umgebung für bestehende Projekte zu ändern. GCC und CMake zu
> installieren ist aber auch kein Hexenwerk. Der gesamte Build ist dann
> mit CMake (oder von mir aus auch make) beschrieben und die Software kann
> sofort gebaut werden.

Unter Windows?
Und es hört ja nicht mit der Installation auf. Wie gesagt, unsere Kunden 
wollen die Projekte weiterpflegen.

Und warum beziehst du dich nur auf bestehende Projekte? Ist der Kunde 
gewillt für zukünftige Projekte komplett umzusteigen. Ansonsten hat er 
mehrere Umgebungen und dies ist aus meiner Sicht schlecht.

> Ich kennes es noch von Visual Studio, das man da von Version zu Version
> regelmäßig die Projekt-Files anpassen musste. Gibt es solche Probleme
> mit IAR nicht?

Klar gibt es die Probleme auch hier wie überall. Du must hierbei 
bedenken, dass die Kunden genauso eingearbeitet sind in die IAR Umgebung 
wie du in die Make Umgebung. Es fällt ihnen daher nicht so schwer wie 
dir ein neues IAR Projekt aufzusetzen.

Torsten R. schrieb:
>>> - Kann kein C++11

>> Erlauben die Codingstandards der jeweiligen Firma dessen Verwendung?

> Es gibt Kunden, die die Vorteile von C++11/14 durchaus zu schätzen
> wissen.

Nur weil ich frage heißt dies nicht, dass ich es verneine. Da die 
angesprochene Firma jedoch auf IAR setzt, besteht zumindest die 
Möglichkeit, dass sie es bewußt oder unbewußt nicht einsetzen.

Torsten R. schrieb:
>> Ich muss allerdings zugeben, dass wir die Entwicklung nicht auf der
>> jeweiligen Umgebung durchführen. Jedoch erstellen wir entsprechende
>> Projekte für den Kunden und testen die Software hiermit.
>
> Das wäre natürlich auch ein Weg, man müsste sich dann halt auf die
> Einschränkungen des IAR-Compilers beschränken.

Genau. Deshalb auch bereits die entwicklungsbegleitenden Tests auf dem 
IAR System.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Felix,

Felix A. schrieb:
> Ein paar weitere Infos habe ich noch:
>
> -Kosten für eine Lizenz sollen bei etwa 4k€ liegen

ups, ich hätte schlimmsten Falls mit der Hälfte gerechnet. Ich habe da 
vorhin mal eine Anfrage gestellt, mal gucken, was die Antworten.

> -Compiler erstellt ANGEBLICH den "optimalsten" Code, keine Ahnung ob das
> stimmt

Ok, das kann natürlich sein, dass die da mehr Energie rein gesteckt 
haben.

> Wenn du mit der Umgebung Probleme hast, sollte der Support helfen. Das
> tut er aber nur, wenn du die Software gekauft hast.

Ja, das ist auch immer wieder ein Argument, was das dann im Endeffekt 
taugt, erfährt man leider erst im Nachhinein. Bei 4TEUR wäre meine 
Erwartungshaltung schon recht groß.

schönen Dank und mfg,
Torsten

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Steffen,

Steffen R. schrieb:

> Unter Windows?

Ja, selbst unter Windows sollte sich GCC/CMake relativ einfach 
installieren lassen (< 2h; >> Klick auf setup.exe). Je nach Projektgröße 
reicht ein einfaches make natürlich auch aus.

> Und warum beziehst du dich nur auf bestehende Projekte? Ist der Kunde
> gewillt für zukünftige Projekte komplett umzusteigen. Ansonsten hat er
> mehrere Umgebungen und dies ist aus meiner Sicht schlecht.

Der Kunde selbst hat überhaupt keine SW-Entwicklung. Ich denke der wird 
vor allem die Gewissheit haben wollen, dass später andere Entwickler mit 
der aufgesetzten Toolchain (und dem Code) weiter arbeiten können.

mfg Torsten

von Steffen R. (steffen_rose)


Lesenswert?

Torsten R. schrieb:
> Steffen R. schrieb:
>>> - Läuft scheinbar nur unter Windows
>>
>> Möglich. Viele unserer Kunden nutzen Windows.
>
> Der Kunde selbst nutzt OS/X und lässt den IAR dem entsprechend in einer
> VM laufen. Eine Lösung, die sowohl unter OS/X als auch Windows läuft
> wäre eher ein Gewinn. Ich kann ja auch verstehen, dass man IDEs nicht
> für mehrere Plattformen Supporten möchte, aber dem Compiler sollte es
> doch (fast) egal sein, auf welchem Betriebssystem er läuft.

Ich kenne zwar mehr OS/X Kunden, die Windows in der VM laufen haben als 
Linux. Das ist aber keineswegs representativ.

Unverständnis erntest Du von mir für deine Beschränkung auf den 
Compiler. Unsere Kunden entscheiden sich gerade wegen der IDE für die 
jeweilige Umgebung. Der Compiler darunter ist ihnen eigentlich egal. 
(Mein Eindruck)
Und sie bleiben lange bei der gewählten Umgebung und sind wenig 
wechselbereit.
Und die Möglichkeit direkten Support zu bekommen spielt auch einen 
Rolle.

Allerdings habe ich weniger mit Entwicklern zu tun, welche zeitkritische 
Routinen schreiben müssen. Die werden hier natürlich eine andere Meinung 
dazu haben.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Torsten R. schrieb:
> Vom ersten Blick auf deren Webseite fallen mir als Argumente gegen IAR
> ein:

Der Kunde möchte, dass seine Software mit Hilfe von IAR entwickelt wird. 
Wenn Ihr nicht bereit seid, dies zu tun, seid Ihr aus dem Rennen. Als 
Kunde würde ich mir an der Stelle einfach einen anderen 
Entwicklungspartner suchen.

Vor einigen Jahren kam ein extrem windowszentrierter Geschäftspartner 
bei mir an, um sich von uns beraten zu lassen, weil sein Kunde für das 
neu zu entwickelnde System zwingend Linux verwenden wollte. Es gab auch 
sehr handfeste Gründe, die dafür sprachen. Wir berieten also unseren 
Geschäftsparner und machten einige Konzeptvorschläge.

Etwas später kam der Geschäftspartner an: "Wir haben für den Kunden 
einen Demonstrator mit Windows aufgebaut und ihm damit gezeigt, dass man 
kein Linux verwenden muss!"

Ich: "Und habt Ihr den Auftrag?"

Er: "Nein, natürlich nicht, aber wir haben ihm gezeigt, dass Linux 
scheiße ist."

Super...

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Steffen R. schrieb:

> Unverständnis erntest Du von mir für deine Beschränkung auf den
> Compiler. Unsere Kunden entscheiden sich gerade wegen der IDE für die
> jeweilige Umgebung. Der Compiler darunter ist ihnen eigentlich egal.
> (Mein Eindruck)

ich finde CMake vor allem auch deswegen ganz gut, weil es für 
verschiedene IDEs project files erzeugen kann (IAR ist leider nicht 
dabei). So kann jeder seine IDE verwenden, mit der er am schnellsten ist 
und am Ende wird das final binary auf dem build server mit make erzeugt. 
Spätestens wenn man mal continuous integration einführen möchte, ist es 
sehr hilfreich, wenn man die binaries von der Kommandozeile aus erzeugen 
kann.

Kann man einen Build in IAR von der Kommandozeile aus starten?

> Allerdings habe ich weniger mit Entwicklern zu tun, welche zeitkritische
> Routinen schreiben müssen. Die werden hier natürlich eine andere Meinung
> dazu haben.

Ach, ich habe den Eindruck, das der Unterschied eher in der Ausbildung 
liegt. SW-Entwickler, die aus der Informatik kommen sind meiner Meinung 
nach eher gewillt / gewohnt, sich in die Feinheiten der entscheidenen 
Tools (Compiler-Schalter; Linker-Scripts) einzuarbeiten. Kollegen, die 
aus der E-Technik kommen haben meistens einen anderen Fokus. Das ist 
völlig wertfrei gemeint!

mfg Torsten

von Steffen R. (steffen_rose)


Lesenswert?

Torsten R. schrieb:
>> Wenn du mit der Umgebung Probleme hast, sollte der Support helfen. Das
>> tut er aber nur, wenn du die Software gekauft hast.
>
> Ja, das ist auch immer wieder ein Argument, was das dann im Endeffekt
> taugt, erfährt man leider erst im Nachhinein.

Ich bin auch immer wieder verwundert, wie wenig Werbung ich von Firmen 
bekomme, die mir Support bei Problemen mit der gdb Umgebung geben können 
(gegen Geld). Ich glaube, die Sorge bei Problemen alleine dazustehen, 
ist die größte Angst der Firmen, die sich gegen gcc/gdb entscheiden.

von Bürovorsteher (Gast)


Lesenswert?

> Welche Argumente sprechen eurer Meinung nach für oder gegen IAR?

Der Kunde möchte das so. Wenn du damit nicht leben willst, kannst du den 
Auftrag auch ablehnen. Die Vertragsfreiheit lässt das durchaus zu.

> > -Kosten für eine Lizenz sollen bei etwa 4k€ liegen
> ups, ich hätte schlimmsten Falls mit der Hälfte gerechnet.

Kommentar überflüssig.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Andreas,

Andreas S. schrieb:
> Der Kunde möchte, dass seine Software mit Hilfe von IAR entwickelt wird.

Tut mir leid, mein eingehendes Statement war etwas ungenau: Der Kunde 
und ich möchten uns zusammen setzen und gucken, ob wir zusammen arbeiten 
möchten/können. Z.Z. setzt der Kunde IAR ein. Das kann für mich ein 
Grund sein, nicht mit dem Kunden zusammen zu arbeiten. Und ich würde den 
Kunden ggf. gerne davon überzeugen, bei zukünftigen Projekten auf IAR zu 
verzichten, es sei den ich höre Argumente, die ganz klar für IAR 
sprechen (einige wurden ja schon genannt).

Ich war bei der Formulierung so ungenau, weil ich ja vor allem nach 
Argumenten pro/kontra IAR suche und irgend wie einen einleitenden Satz 
brauchte, um darzulegen, warum ich nach diesen Informationen suche. 
Entschuldigt bitte die Verwirrung.

mfg Torsten

von Steffen R. (steffen_rose)


Lesenswert?

Torsten R. schrieb:
> ich finde CMake vor allem auch deswegen ganz gut, weil es für
> verschiedene IDEs project files erzeugen kann

Du brauchst mich nicht agitieren. Ich versuche nur die Sichtweise 
unserer Kunden darzustellen.

Torsten R. schrieb:
> Kann man einen Build in IAR von der Kommandozeile aus starten?

Lt. Doku ja (EWARM).

Torsten R. schrieb:
> Ach, ich habe den Eindruck, das der Unterschied eher in der Ausbildung
> liegt.

Unsere Studenten lernen keine C Programmierung/Embedded Programmierung 
an der Uni. Da gehts mehr um Java und Co.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Steffen R. schrieb:
>
> Ich bin auch immer wieder verwundert, wie wenig Werbung ich von Firmen
> bekomme, die mir Support bei Problemen mit der gdb Umgebung geben können
> (gegen Geld). Ich glaube, die Sorge bei Problemen alleine dazustehen,
> ist die größte Angst der Firmen, die sich gegen gcc/gdb entscheiden.

Vielleicht wäre ein vernünftiger Debugger in dem Umfeld auch eine gute 
Produkt-Idee ;-)

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Steffen R. schrieb:
> Du brauchst mich nicht agitieren. Ich versuche nur die Sichtweise
> unserer Kunden darzustellen.

das habe ich auch nicht anders verstanden.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Bürovorsteher,

Bürovorsteher schrieb:
>> Welche Argumente sprechen eurer Meinung nach für oder gegen IAR?
>
> Der Kunde möchte das so. Wenn du damit nicht leben willst, kannst du den
> Auftrag auch ablehnen. Die Vertragsfreiheit lässt das durchaus zu.

danke für den Hinweis. Meiner Meinung nach kommt man mit dieser 
Einstellung im Berufsleben aber nicht sehr weit. Du magst das anders 
sehen; das lässt Deine Meinungsfreiheit ja auch zu.

> Kommentar überflüssig.

Ach ja...

mfg Torsten

von Markus T. (toybaer) Benutzerseite


Lesenswert?

Moin.

Bei uns wird seit Urzeiten der IAR verwendet, praktisch ausschließlich 
für Prozessoren von NEC/Renesas. K4, K0, V850.. Aktuell sind die Geräte 
vornehmlich auf RX63ern unterwegs.
Die Lizenzkosten sind in der Tat nicht ganz ohne, allerdings kommen wir 
bei ~15 Entwicklern mit 8 Floating-Lizenzen momentan prima aus.

An wirkliche Probleme bei einem Versionsupdate kann ich mich nicht 
erinnern. Die Projektdateien wurden von der neuen Workbench beim ersten 
Aufruf geupdatet und gut.
Ein oder zweimal hatten wir das "Glück", den IAR wohl mit als erste auf 
neu eingeführte Prozessoren loslassen zu dürfen. Oder wir waren die 
ersten, die einen dabei entdeckten Fehler gemeldet haben. Eine neue 
Version von IAR ließ dann aber auch nicht lange auf sich warten. (IIRC 
innerhalb von ein, zwei Tagen.).

Build über Kommandozeile - ja. Wird nebenan von Kollegen derzeit 
(erstmals g) hochgezogen, da für deren Gerät nebst hex-File auch 
weitere Ausgaben benötigt. Binary für Updates, Verschlüsseln desselben 
über nachgezogenes Skrip. Nein, Build-Rechner existiert hier nicht. Habe 
ich zwar regelmäßig versucht, einzuführen - aber inzwischen resigniert 
:-/

Persönliche Meinung(en):
- Ich komme mit dem IAR nun seit 10 Jahren gut klar. Die Anbindung der 
jeweiligen Debugger (NEC Minicube/Renesas E1 und E20) klappt prima, 
ohnehin empfinde ich die Debug-Möglichkeiten als sehr angenehm.
- Die IDE selbst... vor einigen Jahren hätte ich mehr geschimpft. Das 
parallel andere Editoren (NP++/UltraEdit) genutzt werden (bzw. an 
anderen Standorten auch Eclipse vorhanden ist) kommt nicht von ungefähr.
- In der aktuellen Version wechsle ich hingegen nur noch selten auf 
NP++. Ob's mehr an den erweiterten Funktionen des integrierten Editors 
liegt oder an meiner Gewöhnung, weiß ich nicht. (Und wenn doch, dank 
Keybinding und passendem Aufruf steht nach einem Tastendruck der Cursor 
dann im NP++ immerhin an der gleichen Stelle...)

Nein, ein "nur noch mit'm IAR" gibt's von mir nicht. Dafür habe ich auch 
zu wenig Erfahrungen mit anderen Umgebungen. Vielleicht kannst du mit 
den Hinweisen ja dennoch etwas anfangen.

Grüße,
Markus

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Markus,

Markus T. schrieb:
> Vielleicht kannst du mit
> den Hinweisen ja dennoch etwas anfangen.

auf jeden Fall, schönen Dank dafür!

mfg Torsten

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Torsten R. schrieb:
> Und ich würde den
> Kunden ggf. gerne davon überzeugen, bei zukünftigen Projekten auf IAR zu
> verzichten, es sei den ich höre Argumente, die ganz klar für IAR
> sprechen (einige wurden ja schon genannt).

Und:
> Ich kenne den IAR überhaupt nicht.

Du bist also viel zu unflexibel, Dich auf die Kundenwünsche 
einzustellen. Du lehnst den Einsatz von Produkten ab, die Du überhaupt 
nicht kennst.

> Ich war bei der Formulierung so ungenau, weil ich ja vor allem nach
> Argumenten pro/kontra IAR suche

Nein, Du willst nur Argumente kontra IAR hören, die in Dein Weltbild 
passen.

Würdest Du ein Abweichen von Deiner bisherigen festgefahrenen Toolkette 
tolerieren, hättest Du komplett andere Fragen gestellt.

von Cyblord -. (cyblord)


Lesenswert?

So siehts aus. Der Andreas bringts mal wieder auf den Punkt.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Andreas S. schrieb:

> Du bist also viel zu unflexibel, Dich auf die Kundenwünsche
> einzustellen.

> Du lehnst den Einsatz von Produkten ab, die Du überhaupt
> nicht kennst.

> Nein, Du willst nur Argumente kontra IAR hören, die in Dein Weltbild
> passen.

Ich bin ja immer wieder erstaunt, über die Menge der hellseherischen 
Menschenkenntnisse in diesem Forum :-)

> Würdest Du ein Abweichen von Deiner bisherigen festgefahrenen Toolkette
> tolerieren, hättest Du komplett andere Fragen gestellt.

Na, dann schieß mal los... Ich bin ganz Ohr!

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Torsten R. schrieb:
> Bürovorsteher schrieb:
>> Der Kunde möchte das so. Wenn du damit nicht leben willst, kannst du den
>> Auftrag auch ablehnen. Die Vertragsfreiheit lässt das durchaus zu.
>
> danke für den Hinweis. Meiner Meinung nach kommt man mit dieser
> Einstellung im Berufsleben aber nicht sehr weit. Du magst das anders
> sehen; das lässt Deine Meinungsfreiheit ja auch zu.

Genau diese Einstellung vertrittst Du aber an anderer Stelle:
> Z.Z. setzt der Kunde IAR ein. Das kann für mich ein
> Grund sein, nicht mit dem Kunden zusammen zu arbeiten.

Und wie schon zuvor geschrieben, stellst Du die falschen Fragen. Wärst 
Du wirklich daran interessiert, den Kunden unvoreingenommen zu beraten, 
würdest Du Dich auf die wesentlichen Punkte wie z.B. 
Zertifizierungsanforderungen, Homogenisierung von 
Entwicklungsumgebungen, Kompatibilität zu Drittsoftware (Bibliotheken, 
Tools, usw.) konzentrieren. Das willst Du aber nicht.

von Felix A. (madifaxle)


Lesenswert?

Andreas S. schrieb:
> Torsten R. schrieb:
>> Und ich würde den
>> Kunden ggf. gerne davon überzeugen, bei zukünftigen Projekten auf IAR zu
>> verzichten, es sei den ich höre Argumente, die ganz klar für IAR
>> sprechen (einige wurden ja schon genannt).
>
> Und:
>> Ich kenne den IAR überhaupt nicht.
>
> Du bist also viel zu unflexibel, Dich auf die Kundenwünsche
> einzustellen. Du lehnst den Einsatz von Produkten ab, die Du überhaupt
> nicht kennst.
>

Das hat erstmal nichts unflexibles an sich. Es ist eine Einschätzung, 
dass es viel mehr Zeit brauchen könnte als nötig. Außerdem macht die 
Nutzung des IAR auch abhängig. Wenn die Firma aus welchen Gründen auch 
immer mal aufgibt, gibt es den IAR nicht mehr. Sources sind nicht 
öffentlich und damit dann quasi tot.
Das ist der Vorteil von OpenSource. Wird größtenteils von Usern für User 
entwickelt und gepflegt. Jeder kann die Tools nutzen (da kostenlos und 
im Einsatz unbegrenzt dank fehlender Kommerzwünsche). Und verschwinden 
werden die nicht.

>> Ich war bei der Formulierung so ungenau, weil ich ja vor allem nach
>> Argumenten pro/kontra IAR suche
>
> Nein, Du willst nur Argumente kontra IAR hören, die in Dein Weltbild
> passen.
>
> Würdest Du ein Abweichen von Deiner bisherigen festgefahrenen Toolkette
> tolerieren, hättest Du komplett andere Fragen gestellt.


Es mag was anderes sein, wenn der kleinstmögliche Controller gewählt 
werden muss, wodurch der kleinste Code gebraucht wird. Aber in der 
heutigen Zeit ist das nur im Bereich Massenmarkt der Fall; wenn 
überhaupt, Flash kostet fast nix. Es hängt vom Projekt ab. Das kennt 
hier bis auf Torsten R. keiner. Diese aus dem Äther geholten Vorwürfe 
nerven.

von Maxx (Gast)


Lesenswert?

Steffen R. schrieb:
> Torsten R. schrieb:
>> Kann man einen Build in IAR von der Kommandozeile aus starten?
>
> Lt. Doku ja (EWARM).

Auch praktisch.

Ist hier so in Verwendung (EWARM)
IarBuild.exe <Projekt>.ewp "<Konfiguration>"

Gemeinsam mit Hudson, SVN und GCC für automatische Unit-Tests (x86 Host)

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Lieber Andreas,

Andreas S. schrieb:
> Wärst
> Du wirklich daran interessiert, den Kunden unvoreingenommen zu beraten,
> würdest Du Dich auf die wesentlichen Punkte wie z.B. ...
> konzentrieren.

woher nimmst Du bloß diese Weisheit?

Möchtest Du ernsthaft, dass ich den Kunden einlade, diese Themen hier im 
Forum öffentlich mit Dir zusammen zu diskutieren, damit dokumentiert 
ist, dass ich nicht nur einen Aspekt beleuchte?

Könntest Du evtl. mal von deiner "Alles Vollidioten ausser 
Papi"-Weltanschauung etwas Abstand nehmen und einfach mal annehmen, dass 
es auch noch andere Menschen gibt, die einfach mal zu einem bestimmten 
Aspekt Informationen suchen und diese Informationen später im 
Gesamtkontext durchaus einordnen können?

> Das willst Du aber nicht.

Du wirst das wissen müssen..

mfg Torsten

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Maxx,

Maxx schrieb:

> Ist hier so in Verwendung (EWARM)
> IarBuild.exe <Projekt>.ewp "<Konfiguration>"

danke für die Info!

mfg Torsten

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Torsten R. schrieb:
> Welche Argumente sprechen eurer Meinung nach für oder gegen IAR?

Es ist grundsätzlich kein großes Problem, Code so zu schreiben, dass
er sich mit beiden Compilern benutzen lässt (OK, auf C++11 musst du
dann natürlich verzichten).  Dass bisschen Compilerabhängigkeit
bekommt man relativ gut in einem Headerfile abstrahiert.

Allerdings sind die Kommandozeilen, die man für den IAR zusammenbauen
muss, ein ziemlicher Krampf, und die notwendigen Kommandozeilenargumente
können sich auch schon mal von einer Version zur nächsten ändern.  Damit
wird die Pflege einer entsprechenden Makefile-Hierarchie schon recht
lästig.  Eventuell dann doch eine duale Infrastruktur pflegen, CMake
für GCC (kann $KUNDE ja dann auch direkt auf OSX laufen lassen) und
das eben genannte IAR-Projektzeugs für diesen.

IAR ist zweifellos ein guter Compiler, aber er ist auch zweifellos
verdammt teuer.  Ob du dir nun MISRA unbedingt antun musst, hängt von
der Umgebung ab, die der Kunde so braucht.  Manche der MISRA-Regeln
sind nicht so arg unsinnig, andere wiederum sind mittlerweile eher
von zweifelhaftem Wert.

von Lothar (Gast)


Lesenswert?

Torsten R. schrieb:
> Ich kenne den IAR überhaupt nicht.

Was spricht dagegen die kostenfreie Kickstart Version zu installieren 
und zu testen. Die Laufzeit ist unbegrenzt hat nur 32K Codelimit. Das 
ist aber für die zahlreichen Beipielprojekte ausreichend.

Positiv wären noch das Versionsmanagement und das State Machine Tool.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der Kunde könnte, falls er nicht schon eine hat, eine IAR Lizenz kaufen 
und dir für die Entwicklung überlassen. Wenn Du fertig bist, dann gibst 
Du ihm die Lizenz zurück. Kosten für Dich - Null.

Dennoch solltest Du etwas höhere Entwicklungskosten kalkulieren, da, wie 
schon oben geschrieben, die Editor Unterstützung nicht so ausgereift ist 
wie beispielsweise bei Eclipse.

: Bearbeitet durch User
von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Lothar,

Lothar schrieb:
> Was spricht dagegen die kostenfreie Kickstart Version zu installieren
> und zu testen. Die Laufzeit ist unbegrenzt hat nur 32K Codelimit.

vor allem der Faktor Zeit. Wenn mir hier jemand in kürzester Zeit sagen 
kann dass der Compiler sehr guten Code erzeugt, dann muss ich da nicht 
erst eigene Tests für machen :-) Aber danke schön für den Hinweis auf 
die Test-Version.

> Positiv wären noch das Versionsmanagement und das State Machine Tool.

Kannst Du noch was zum "Versionsmanagement" sagen?

mfg Torsten

von Stefan K. (stefan64)


Lesenswert?

Gründe für gcc/make:
Für das Übersetzen der Firmware wird keine komplette IDE benötigt. 
Updates der IDE können sich nicht auf das Übersetzungs-Erbenis 
auswirken. Beim Erstellen einer neuen Release-Version wird der 
verwendete Compiler mit gesichert, und damit ist auch Jahre später eine 
Neu-Übersetzung unter exakt gleichen Umständen möglich.
Wahrscheinlich ist ein ähnlichen Vorgehen auch mit dem IAR-Compiler 
möglich, aber dann entfällt eben der IDE-Komfort, den man sich 
eigendlich einkaufen möchte.

Gruß, Stefan

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Torsten R. schrieb:
> Wenn mir hier jemand in kürzester Zeit sagen kann dass der Compiler sehr
> guten Code erzeugt

Ja, das macht er.  Aber so grundlegend besser als der GCC, dass du
nun vielleicht nur noch einen halb so großen Controller am Ende
brauchst, ist er auch wieder nicht.  Ich habe mal eine zeitlang Zugang
zu einem IAR für AVR gehabt, die Optimierungsstrategien zwischen IAR
und GCC sind an vielen Stellen so verdammt ähnlich, dass man schon
fast denken könnte, einer schreibt manchmal vom anderen ab. ;-)

Falls du irgendwo irgendwie mal Inline Assembler brauchst: da ist der
GCC zwar kryptisch, aber unschlagbar flexibel.  In dieser Richtung
bietet der IAR nichts, was man auch nur ansatzweise vergleichen könnte.
(Falls sich jetzt einer auf den Schlips getreten fühlt: ja, na klar
hat auch der IAR das Feature als solches.  Aber die Übergabe von
Parametern aus der C-Umgebung an den Inline Assembler ist, abseits
von der natürlich immer vorhandenen Möglichkeit des Zugriffs auf
globale Variablen, praktisch nicht steuerbar.  War sie zumindest, als
ich ihn das letzte Mal in den Fingern hatte.)

von Stefan K. (stefan64)


Lesenswert?

Jörg W. schrieb:
> Falls du irgendwo irgendwie mal Inline Assembler brauchst: da ist der
> GCC zwar kryptisch, aber unschlagbar flexibel.  In dieser Richtung
> bietet der IAR nichts, was man auch nur ansatzweise vergleichen könnte.
> (Falls sich jetzt einer auf den Schlips getreten fühlt: ja, na klar
> hat auch der IAR das Feature als solches.  Aber die Übergabe von
> Parametern aus der C-Umgebung an den Inline Assembler ist, abseits
> von der natürlich immer vorhandenen Möglichkeit des Zugriffs auf
> globale Variablen, praktisch nicht steuerbar.  War sie zumindest, als
> ich ihn das letzte Mal in den Fingern hatte.)

Mein Erlebnis mit dem IAR-Compiler, zugegeben schon 20 Jahre her, damals 
für den NEC 780034:

Einige Routinen mussten in Assembler geschrieben werden. Zur 
Parameterübergabe waren vom IAR-Compiler (damals?) feste CPU-Register 
festgelegt. Irgendwann kam dann ein Compiler-Update. Nach dem nächsten 
Build ging nichts mehr. Nach langem Suchen kam dann heraus, daß die neue 
Compiler-Version andere Register zur Parameterübergabe verwendete. 
Natürlich nicht einstellbar. Irgendwo war das sogar dokumentiert, aber 
leider nicht in einem changes.log oder ähnlichen File.

Das hat SICHER nichts mit dem aktuellen IAR-Compiler zu tun, prägt einen 
aber doch irgendwie.

Gruß, Stefan

von Steffen R. (steffen_rose)


Lesenswert?

Torsten R. schrieb:
> Wenn mir hier jemand in kürzester Zeit sagen
> kann dass der Compiler sehr guten Code erzeugt, dann muss ich da nicht
> erst eigene Tests für machen :-)

Du hast bisher nicht deine Architektur erwähnt. Allgemein läßt sich das 
sicher nicht beantworten.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Steffen R. schrieb:
> Allgemein läßt sich das sicher nicht beantworten.

Eine exzellente Codegenerierung ist so ziemlich das Einzige, was ich
dem IAR unabhängig von der Architektur eigentlich immer zutrauen
würde. ;-)

von Peter D. (peda)


Lesenswert?

Bei uns ist auch die Entscheidung für IAR für die LPC gefallen.
Gründe waren MISRA, Support, Debugger und einfache Installation.
Der Programmierer soll sich aufs Programmieren konzentrieren können und 
die Ergebnisse müssen stabil und reproduzierbar sein.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Steffen R. schrieb:

> Du hast bisher nicht deine Architektur erwähnt. Allgemein läßt sich das
> sicher nicht beantworten.

Ich habe mit dem Kunden bis jetzt noch nicht gearbeitet. Die meisten 
Applikationen basieren wohl auf STM32 zusätzlich gibt es die 
Notwendigkeit hier und da mal Desktop GUIs zu bauen. Einige der 
Applikationen könnten Sicherheitskritisch sein. Ich treffe mich heute 
zum ersten mal mit Ihm und wollte im Vorweg eigentlich einfach nur mal 
kurz ein paar Informationen zum IAR ;-)

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Peter,

Peter D. schrieb:
> ... und
> die Ergebnisse müssen stabil und reproduzierbar sein.

Bei der Reproduzierbarkeit finde ich IDEs im Allgemeinen meist nicht so 
vorteilhaft.

Kann man bei IAR Projekten relativ einfach im Versionsmanagement 
erkennen, wenn jemand an einem Compiler-Schalter etwas geändert hat? Ist 
Dokumentiert, in welchen Datei die Bild-Regeln abgebildet sind, und in 
welchen Dateien bloß die Fenstergröße beim letzten Öffnen abgelegt sind?

mfg Torsten

von Arc N. (arc)


Lesenswert?

Felix A. schrieb:
> Das hat erstmal nichts unflexibles an sich. Es ist eine Einschätzung,
> dass es viel mehr Zeit brauchen könnte als nötig. Außerdem macht die
> Nutzung des IAR auch abhängig. Wenn die Firma aus welchen Gründen auch
> immer mal aufgibt, gibt es den IAR nicht mehr. Sources sind nicht
> öffentlich und damit dann quasi tot.

Keine Ahnung wie IAR das handhabt, ansonsten ist es üblich die 
Quelltexte und alle nötigen Tools inkl. Dokumention bei einem Notar oder 
darauf spezialisierten Software Escrow-Dienstleistern zu hinterlegen.

> Das ist der Vorteil von OpenSource. Wird größtenteils von Usern für User
> entwickelt und gepflegt.

User ist nicht gleich User...  Z.B. der Linux-Kernel:
"The number of paid developers is on the rise, as companies aggressively 
recruit top Linux talent. More than 80 percent of kernel development is 
done by developers who are being paid for their work. Volunteer 
developers tend not to stay that way for long."
http://www.linuxfoundation.org/news-media/announcements/2015/02/linux-foundation-releases-linux-development-report

> Jeder kann die Tools nutzen (da kostenlos und
> im Einsatz unbegrenzt dank fehlender Kommerzwünsche).

Abhängig von der Lizenz... Ebenso kann die Frage was ein abgeleitetes 
Werk ist und die daraus resultierenden Offenlegungspflichten zum Problem 
werden bzw. werden OSS-Lizenzen von einigen Konzernen gerade deshalb 
eingesetzt, um sich Konkurrenz vom Leib halten.

> Und verschwinden werden die nicht.

Verschwinden nicht, aber u.U. unbrauchbar z.B. im Sinne von zu hohen 
Kosten, wenn der/die Hauptentwickler nicht mehr da sind oder der 
Konzern, der die Entwickler bezahlt hat, meint, dass die Kosten dafür zu 
hoch sind...

Edit: Beitrag "Software Zertifizierung" wo es u.a. um GCC vs. 
kommerzielle Compiler für zertifizierte Software geht

: Bearbeitet durch User
von Felix A. (madifaxle)


Lesenswert?

Arc N. schrieb:
> Keine Ahnung wie IAR das handhabt, ansonsten ist es üblich die
> Quelltexte und alle nötigen Tools inkl. Dokumention bei einem Notar oder
> darauf spezialisierten Software Escrow-Dienstleistern zu hinterlegen.

Davon hatte ich bisher nichts gehört. Danke für den Hinweis.

>> Das ist der Vorteil von OpenSource. Wird größtenteils von Usern für User
>> entwickelt und gepflegt.
>
> User ist nicht gleich User...  Z.B. der Linux-Kernel:
> "The number of paid developers is on the rise, as companies aggressively
> recruit top Linux talent. More than 80 percent of kernel development is
> done by developers who are being paid for their work. Volunteer
> developers tend not to stay that way for long."
> 
http://www.linuxfoundation.org/news-media/announcements/2015/02/linux-foundation-releases-linux-development-report

Ja, das stimmt. Ich denke aber trotzdem, dass der überwiegende Teil 
Software von nicht bezahlten Entwicklern entsteht. Neben dem 
Linux-Kernel gibt es schließlich noch einen Riesenberg andere Software.

> Edit: Beitrag "Software Zertifizierung" wo es u.a. um GCC vs.
> kommerzielle Compiler für zertifizierte Software geht

Den verfolge ich auch immer mal wieder, ist recht interessant.

von Fabian F. (fabian_f55)


Lesenswert?

IAR EW ist ein grauenhaftes Tool.
- Kein syntax highlighting.
- Keine Sysntax vervollständigung
- Umständliche Suche nach referenzen
- Nichtssagende Fehlermeldungen
- Crashes wenn versucht die Projektstrucktur zu ändern
- Komplett undurchsichtig woher die Sourcen angezogen werden
- Miese, bzw. nicht existente Integration von code-Generatoren

Ich benutzte viel lieber Atmel Studio bei AVRs, bzw. E2-Studio bei 
Renesas µC

Beide eclipe-basierend..

von Cyblord -. (cyblord)


Lesenswert?

Fabian F. schrieb:

>
> Ich benutzte viel lieber Atmel Studio bei AVRs, bzw. E2-Studio bei
> Renesas µC
>
> Beide eclipe-basierend..

Also das Atmel Studio basiert auf MS Visual Studio und nicht auf 
Eclipse.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Fabian F. schrieb:
> IAR EW ist ein grauenhaftes Tool.

Muss man aber nicht unbedingt benutzen, der Compiler läuft wie jeder
andere Compiler auch auf der Kommandozeile, und das Tool, um ihn auf
eine komplette Projektdatei anzuwenden, wurde ja oben schon genannt.

Den GUI-Krams kann man ja initial einmal benutzen, um sich die
Projektdatei generieren zu lassen.  Danach kann man die auch nebenbei
mit der Hand editieren, wenn man wirklich mal neue Dateien aufnehmen
muss.  Die IAR-Projekte sind einfach gestrickte XML-Dateien.

Versionierung würde ich wohl auch separat machen, git, Mercurial,
SVN, was auch immer einem am meisten liegt.

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

Jörg W. schrieb:
> IAR ist zweifellos ein guter Compiler, aber er ist auch zweifellos
> verdammt teuer.

Ach, das ist ziemlich relativ. Naja - den Keil gibt es auch nicht für 
umsonst und soweit ich gehört habe, sind die Compiler von Green Hills 
noch ein ganzes Stück teurer. Deren Selbstdarstellung als Anlage.. ;-)
(siehe "http://www.ghs.com/products/compiler.html";)

Allerdings hätte ich durchaus ganz gern mal deren Arm-Compiler zwischen 
den Fingern... (wenigstens als Demo)

Was bitte all die Diskutierer hier mal beachten sollte, ist der Umstand, 
daß es Keil, IAR, Green Hills schon seit Jahren gibt und daß sie deshalb 
ganz offensichtlich so viele Compiler und andere SW verkaufen, daß es 
sie immer noch gibt und daß sie ihren Leuten vermutlich immer noch das 
monatliche Salär zahlen können.

Was hier nervt und auch der ganze Grund ist für den ellenlangen Streit 
um des Kaisers Bart ist die Diskrepanz in den Sichtweisen der Leute. Das 
geht schon aus der Eröffnung hervor:

Torsten R. schrieb:
> ein Kunde von mir möchte gerne Software mit dem IAR entwickelt haben.
> Ich bin mit der Kombination von GCC, GDB, CMake + Editor sehr zufrieden.
> Ich kenne den IAR überhaupt nicht. Welche Argumente sprechen eurer
> Meinung nach für oder gegen IAR?

1. Kunde will IAR
2. Torsten kennt nur GCC und will auch nix anderes wissen
3. Torsten sucht Argumente zu seiner Selbstbestätigung.
Jaja! ohne sowas hätte der Torsten sich einfach ne Demoversion 
heruntergeladen und ausprobiert, fertig. Aber nein, er fragt hier, weil 
er sich dieser Mühe nicht unterziehen will. OK, da hängen Welten dran: 
Wer kein Windows auf seinem PC hat, tut sich schwer, eine SW für Windows 
ausprobieren zu wollen. Kunde will aber - was nun?

Sachlich gesehen, sind Compiler wie IAR, Keil, Green Hills dem GCC 
elleweil haushoch überlegen. Ich denke grad an die Wrapper-Akrobatik in 
Assembler, die nötig ist, um sowas wie SVC's bei Verwendung des GCC zu 
hinzukriegen. Dabei ist das eines der grundlegenden Features der 
ARM-Prozessorfamilie. Ist nur ein Beispiel, aber deren gibt es mehrere.

Auch sachlich gesehen haben alle renommierten Hersteller die Nase vorn, 
wenn es um Zulassungen oder anderweitige Rechtsdinge geht. IAR oder Keil 
oder Green Hills sind geschäftsfähig, sie können Garantien und Zusagen 
geben - und wo ist jemand, der sowas für den GCC tun kann? So einen gibt 
es nicht.

Der Unterschied in den Sichtweisen zeigt sich an genau diesen Stellen.

Das GCC-Lager kann sich ganz offensichtlich all die kommerziell relevant 
sein könnenden Gründe nicht vorstellen - oder sowas wird als zu 
unbedeutend abgetan. Ich hab weiter oben sogar sowas gelesen "was tun, 
wenn IAR mal Pleite geht?" - was offensichtlicher Unsinn ist, denn dann 
hätte man ja immer noch die bereits in Benutzung befindlichen Tools, die 
nicht welken oder verderben wie Frischgemüse.

Naja, und daß kommerzielle Tools eben Geld kosten, sollte akzeptiert 
werden. Die Tools kosten deutlich weniger als das Firmenauto oder die 
Büro-Einrichtung oder ne mehrwöchige Krankheit eines MA. Jaja - ich 
weiß, da unterscheiden sich die Sphären der Bastler und Amateure von 
denen der Firmen. Aber genau DAS haben wir an allen Stellen: nicht nur 
bei Software, sonden auch beim Bauelemente-Einkauf, bei 
Leiterplattenbestellungen, und so weiter.

W.S.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

W.S. schrieb:
> Torsten sucht Argumente zu seiner Selbstbestätigung

Wenn du auch nur etwas mehr vom Thread als das Eingangsposting gelesen
hättest, könntest du dir diese unsachliche Unterstellung sparen, und
große Teile deiner darauf aufbauenden Argumentationskette.

von Cyblord -. (cyblord)


Lesenswert?

Jörg W. schrieb:
> W.S. schrieb:
>> Torsten sucht Argumente zu seiner Selbstbestätigung
>
> Wenn du auch nur etwas mehr vom Thread als das Eingangsposting gelesen
> hättest, könntest du dir diese unsachliche Unterstellung sparen, und
> große Teile deiner darauf aufbauenden Argumentationskette.

Er hat leider völlig recht. Du lieber Jörg, bist leider auf der gleichen 
Linux-Spur wie der TE, und darum siehst du das offensichtliche nicht.

von Felix A. (madifaxle)


Lesenswert?

W.S. schrieb:
> Torsten R. schrieb:
>> ein Kunde von mir möchte gerne Software mit dem IAR entwickelt haben.
>> Ich bin mit der Kombination von GCC, GDB, CMake + Editor sehr zufrieden.
>> Ich kenne den IAR überhaupt nicht. Welche Argumente sprechen eurer
>> Meinung nach für oder gegen IAR?
>
> 1. Kunde will IAR
> 2. Torsten kennt nur GCC und will auch nix anderes wissen
> 3. Torsten sucht Argumente zu seiner Selbstbestätigung.
> Jaja! ohne sowas hätte der Torsten sich einfach ne Demoversion
> heruntergeladen und ausprobiert, fertig. Aber nein, er fragt hier, weil
> er sich dieser Mühe nicht unterziehen will. OK, da hängen Welten dran:
> Wer kein Windows auf seinem PC hat, tut sich schwer, eine SW für Windows
> ausprobieren zu wollen. Kunde will aber - was nun?

Er hat nach Gründen dafür und dagegen gesucht. Wieso versuchen hier 
ständig Leute, eine eindeutige Ablehnung daraus zu machen?

: Bearbeitet durch User
von Max (Gast)


Lesenswert?

W.S. schrieb:
> Allerdings hätte ich durchaus ganz gern mal deren Arm-Compiler zwischen
> den Fingern... (wenigstens als Demo)

Der ist wohl so schlecht, dass die jetzt auf LLVM wechseln: 
http://ds.arm.com/ds-5/build/arm-compiler-6/

(wohl mit einem eigenen Backend)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Cyblord -. schrieb:
> Du lieber Jörg, bist leider auf der gleichen Linux-Spur wie der TE, und
> darum siehst du das offensichtliche nicht.

Du, lieber Cyblord, bist auf der gleichen „Linux-ist-Mist“-Spur wie
unser berüchtigter W.S., daher siehst du gar nicht, dass der TE nach
deutlich mehr an Nuancen gefragt hatte.

Wenn du mich auch nur ansatzweise kennen würdest, wüsstest du übrigens,
dass ich alles andere als „mit Linux verheiratet“ bin.

Jetzt bitte wieder zurück zu sachlichen Argumenten.  (Da hatte W.S.
wenigstens ein paar drin.)

: Bearbeitet durch Moderator
von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Lieber Fremder,

W.S. schrieb:

> 2. Torsten kennt nur GCC und will auch nix anderes wissen
> 3. Torsten sucht Argumente zu seiner Selbstbestätigung.

wie kommst Du darauf?

> Jaja! ohne sowas hätte der Torsten sich einfach ne Demoversion
> heruntergeladen und ausprobiert, fertig.

Ganz ehrlich: Um die Vor- und Nachteile eines Tools wirklich kennen zu 
lernen, braucht es deutlich mehr Zeit, als eben mal setup.exe 
anzuklicken, blinky.prj zu laden und F9 zu drücken.

Warum sollte ich Deiner Meinung nach nicht von den Erfahrungen, die 
andere Entwickler bereits gemacht haben, profitieren dürfen?

> Aber nein, er fragt hier, weil
> er sich dieser Mühe nicht unterziehen will.

Stimmt, meiner Meinung nach unterschätzt Du den Aufwand, einer 
Evaluation, die ein eigenes Urteil zulässt.

> Wer kein Windows auf seinem PC hat, tut sich schwer, eine SW für Windows
> ausprobieren zu wollen.

Das wäre nicht das Problem.

> Kunde will aber - was nun?

s.o.

> Ich denke grad an die Wrapper-Akrobatik in
Assembler...
> Dabei ist das eines der grundlegenden Features der
> ARM-Prozessorfamilie. Ist nur ein Beispiel, aber deren gibt es mehrere.

Danke für den Hinweis (auch wenn ich das Problem noch nicht hatte).

> Naja, und daß kommerzielle Tools eben Geld kosten, sollte akzeptiert
werden.

Danke für den Hinweis, habe ich auch überhaupt kein Problem mit.

mfg Torsten

von Sheeva P. (sheevaplug)


Lesenswert?

W.S. schrieb:
> Torsten R. schrieb:
>> ein Kunde von mir möchte gerne Software mit dem IAR entwickelt haben.
>> Ich bin mit der Kombination von GCC, GDB, CMake + Editor sehr zufrieden.
>> Ich kenne den IAR überhaupt nicht. Welche Argumente sprechen eurer
>> Meinung nach für oder gegen IAR?
>
> 1. Kunde will IAR
> 2. Torsten kennt nur GCC und will auch nix anderes wissen
> 3. Torsten sucht Argumente zu seiner Selbstbestätigung.

Die letzten beiden Behauptungen sind reine Unterstellungen Deinerseits, 
und sie erwecken nicht den Eindruck von Gutwilligkeit. Tatsächlich fragt 
Torsten nämlich gerade deswegen nach dem IAR, weil er diesen nicht kennt 
und deswegen wissen will, welche Vor- und Nachteile er hat, so daß Deine 
Behauptungen zu 2b. und 3. offensichtlich Blödsinn sind. Mindestens.

Von einem Profi, der zu sein Du so gerne behauptest, könnte man übrigens 
die Fähigkeit zur Kommunikation ohne derlei böswillige Unterstellungen 
und blödsinnige Pöbeleien erwarten. Ein wirklicher Profi würde auch 
wissen, daß der "Ratschlag"...

> ohne sowas hätte der Torsten sich einfach ne Demoversion
> heruntergeladen und ausprobiert

...so überflüssig und unklug ist wie nur irgendwas. Denn so lernt man im 
allerbesten Fall ein wenig über die Usability der GUI des Werkzeugs, 
aber überhaupt gar nichts über die besonders bei kommerziellen 
Entwicklungen wichtigen Fragen: Qualität, Kontinuität, ... solche Dinge 
weiß nur jemand, der langjährige Erfahrungen mit dem betreffenden 
Produkt hat.

> Ich hab weiter oben sogar sowas gelesen "was tun,
> wenn IAR mal Pleite geht?" - was offensichtlicher Unsinn ist, denn dann
> hätte man ja immer noch die bereits in Benutzung befindlichen Tools, die
> nicht welken oder verderben wie Frischgemüse.

Ach, irgendwann kommt die nächste Windows-Version, dann die übernächste, 
und ehe Du Dich versiehst, stellt $Werkzeug den Dienst ein oder braucht 
irgendwelche hahnebüchenen Workarounds, um weiter zu funktionieren. Und 
wenn Du Dich mit Deiner ganzen Entwicklung von diesem einen Hersteller 
abhängig gemacht hast, dann hast Du ein echtes Problem. Die Grundsätze 
ordentlicher Geschäftsführung beinhalten nämlich, solche Abhängigkeiten 
und die daraus entstehenden Risiken wo möglich zu minimieren.

von Sheeva P. (sheevaplug)


Lesenswert?

Cyblord -. schrieb:
> Er hat leider völlig recht. Du lieber Jörg, bist leider auf der gleichen
> Linux-Spur wie der TE, und darum siehst du das offensichtliche nicht.

Soweit ich weiß, ist Jörg auf der FreeBSD-Spur. Aber das macht für 
elaborierte %Irgendwas%-Fanatiker vermutlich keinen Unterschied.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Sheeva P. schrieb:
> Cyblord -. schrieb:
>> Er hat leider völlig recht. Du lieber Jörg, bist leider auf der gleichen
>> Linux-Spur wie der TE, und darum siehst du das offensichtliche nicht.
>
> Soweit ich weiß, ist Jörg auf der FreeBSD-Spur. Aber das macht für
> elaborierte %Irgendwas%-Fanatiker vermutlich keinen Unterschied.

Und der TE setzt auch kein Linux ein :-)

von c-hater (Gast)


Lesenswert?

Max D. schrieb:

> Selbst Atmel presöhnlich setzt inzwischen auf einen (etwas verpatchten)
> GCC als ihren "Standart-AVR-Compiler". So überlegen kann IAR also nicht
> sein.

Ist er aber. Wenn der für lau wäre, könnte selbst ich mir an vielen 
Stellen die Entwicklung in Asm sparen...

Der Vorteil aus der Sicht von Atmel bei der Benutzung von gcc ist 
einfach nur: der ist für lau und für viele Zwecke gut genug. Und: wo er 
suboptimal ist, kann Atmel als direkte Folge größere (und teurere) Units 
verkaufen.

Aus Sicht von Atmel ist der gcc die ultimative Win-Win-Situation. Atmel 
kann hier nix falsch machen. Für die Befreiung von der OSS-Freiheit und 
ein gewisses Grundmass an vendor-lockin sorgen dann eben diese komischen 
Patches...

So einfach ist das zu erklären... Man muß schon ziemlich doof sein und 
sowas von garnix davon verstehen, wie der Hase läuft, um das nicht 
selber unmittelbar aus der Sachlage ableiten zu können...

Kurzfassung: du weißt nix und du kannst nix, bist aber ofensichtlich 
ganz glücklich damit. Möge es dir gegeben sein, nicht allzu schnell 
allzu unsanft aus deinem Traum geweckt zu werden...

von Anton (Gast)


Lesenswert?

Nightly-Builds via Buildbot und automatisierte Unit- und 
Hardware-in-the-Loop-Tests lassen sich mit der GNU-Toolchain sehr leicht 
bauen.
So machen wir das bei größeren Embedded-Projekten wenn viele Leute 
gleichzeitig am Code arbeiten.

Keine Ahnung wie gut man aktuelle IAR bzw. Keil Compiler in solche 
Umgebungen einbauen kann. Zumindest mit Cygwin/Mingw & Co sollten sich 
diese Tools halbwegs professionell unter Windows verwenden lassen.

Wobei das bei kleinen Projekten und/oder nur einem Entwickler am Projekt 
natürlich nicht mehr so wichtig ist...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Anton schrieb:
> Keine Ahnung wie gut man aktuelle IAR bzw. Keil Compiler in solche
> Umgebungen einbauen kann.

Geht schon auch, aber wenn du parallelisieren willst, musst du noch
mehr $$$ investieren für alle Instanzen, die parallel laufen können
sollen.  Am Ende ist auch so'n IAR weiter nichts als der Aufruf eines
Kommandos, welche eine C-Datei als Input bekommt und eien Objektdatei
als Output generiert.

von klausro (Gast)


Lesenswert?

Cyblord -. schrieb im Beitrag #4363600:
> Natürlich ist die IDE vom IAR nicht der Weisheit letzter Schluss (lange
> nicht), aber man muss da nicht so ein Geschiss drum machen. Ich muss
> auch manchmal IAR nutzen. Manchmal GCC. Manchmal was ganz anderes So ist
> das halt.

Wohl die beste Aussage im ganzen Thread. Wenn der Kunde gute Gründe (IAR 
schon im Haus, andere Entwickler arbeiten damit, nachfragen!) für den 
IAR hat, warum nicht?!? Ich durfte mal in einer Abteilung arbeiten, in 
der fast jeder Entwickler andere Tools zum editieren verwendet hat. Gut, 
der Compiler war überall gleich und kompiliert wurde mit großen .bat 
Dateien. Ok, das war um die Jahrtausendwende rum. Das schlimmste war 
damals EasyCase, das hat den Code der anderen Entwickler auch mit 
Formatierungskomentaren zerhackstückselt. Die anderen Entwickler hatten 
schon Tools geschrieben, um den "Käse" wieder rauszufiltern. Hier wäre 
mal eine einheitliche Enwicklungsumgebung sinnvoll gewesen.
Und wenn der Kunde Entwicklung unter Windows will, dann bekommt er das 
auch. Man muss halt als Entwickler flexibel sein.

Aber nachfragen würde ich schon, ob diese "guten Gründe" vorliegen. 
Nicht, das irgend ein Vertriebler dem "Entscheider" was aufgeschwatzt 
hat. Blöd wäre halt, wenn du nicht beim Kunden arbeitest und du dir 
selbst den IAR kaufen müsstest. Dann musst du halt einen Preiszuschlag 
aushandeln oder du lässt das Projekt sein.

Im Übrigen halte ich den gcc sehr wohl für ein professionelles Produkt. 
Gibt ja auch für die ARM Version einen schönen Installer 
https://launchpad.net/gcc-arm-embedded. Ein Softwareentwickler sollte 
schon die Grundprinzipien von Make-Dateien Verstanden haben, zumal viele 
IDEs intern mit Makedateien arbeiten. Ein Entwickler, der Makedateien 
ablehnt ist genauso wenig professionell wie deiner, der nur den gcc 
unter Linux verwenden möchte.

von Bernd K. (prof7bit)


Lesenswert?

c-hater schrieb:
> Atmel
> kann hier nix falsch machen. Für die Befreiung von der OSS-Freiheit und
> ein gewisses Grundmass an vendor-lockin sorgen dann eben diese komischen
> Patches...

Der gepatchte gcc ist genauso offen und frei wie der aus dem er 
ursprünglich hervorging. Wo soll da "vendor lock in" sein, bzw was hätte 
Atmel davon? Die verkaufen in erster Linie MCUs und keine überteuerten 
Compiler und je stressfreier der Kunde die MCUs benutzen kann desto 
besser fürs Geschäft.

von klausro (Gast)


Lesenswert?

Nochwas: Das Grausame an den Makefiles ist, wenn ein Entwickler
viele absolute Pfade einbaut. Würde man alles über ein Basisverzeichnis 
kodieren und Realpath einbauen (sowas: BASEDIR = $(realpath ..)" dann 
kann man das Makefile sogar UNVERÄNDERT unter Linux und Windows 
verwenden, völlig egal, wo man das Quellverzeichnis hin kopiert, wenn 
die Tools (arm-none-eabi-gcc usw.) im Pfad sind.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bernd K. schrieb:
> Die verkaufen in erster Linie MCUs und keine überteuerten Compiler und
> je stressfreier der Kunde die MCUs benutzen kann desto besser fürs
> Geschäft.

Sie haben übrigens ziemlich lange gebraucht, bis sie den AVR-GCC als
vollwertig genug für sich akzeptiert haben.  Durch ihre Wurzeln, die
mit einer Zusammenarbeit mit IAR begannen (und die innerhalb von Atmel
jedem eine kostenlose IAR-Lizenz beschert haben), haben sie in ihren
Appnotes über viele Jahre nur Code für den IAR abgegeben.

Teils waren es übrigens durchaus ihre Kunden (und auch und vor allem
aus Kostengründen, Stichwort nightly builds wurde ja schon genannt),
die dann auf den AVR-GCC gedrängt haben.  Nein, das waren keine kleinen
Kunden, sonst hätte sich da kein FAE (Field Application Engineer) drum
kümmern müssen, der wird erst ab einem nicht ganz kleinen Jahresumsatz
aktiv.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

klausro schrieb:
> Nochwas: Das Grausame an den Makefiles ist, wenn ein Entwickler
> viele absolute Pfade einbaut.

Das gleiche Problem hast Du auch, wenn Du so etwas in den Project-Files 
einer IDE einträgst. Das gilt generell für build Prozesse.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Torsten R. schrieb:
> Das gleiche Problem hast Du auch, wenn Du so etwas in den Project-Files
> einer IDE einträgst.

Nur dass es dort leider so ziemlich Standard ist, das so zu machen.

von 123 (Gast)


Lesenswert?

Ich hab mal IAR verwenden dürfen. Version 4 und 5

Editor war grausam.  VS 6 war damals noch besser. Voralllem wenn man 
noch Java mit eclips verwendet, oder mit einem aktuelles VS vergleicht 
...

Ich ham mal die IDE reproduzierbar zum Absturz gebracht durch eine 
include loop. Der IAR Compiler hat wenigstens gemekert. Die IAR IDE hat 
sich nur verabschiedet.

Absolute Pfade hab ich manuell beheben dürfen. Die Projekt Dateien waren 
zum glück Text Dateien.

Die Stabilität unter W7 ist bescheiden!

IAR hat damals mit USB dongels gearbeitet.

IAR hat damals auf j-link als debug prob gesetzt. Der läuft auch mit dem 
GCC. Im Gegensatz zum u-link von Keil.

von Lukas K. (carrotindustries)


Lesenswert?

In einer Sache kommt nur wenig/nichts an den GCC ran. Ich kann die selbe 
Toolchain sowohl für x86, als auch für alles vom AVR, ARM über MSP430 
bis RL78 verwenden. Einmal Toolchain lernen, immer anwenden.

Letztens für RL78: vorhandene Makefile für ARM hergenommen, 
compiler-optionen angepasst, Linkerskript, startup-dateien, etc aus 
Beispiel-Projekt kopiert, läuft. Keine neue IDE, keine neue Toolchain.

Für die Fraktion, die GCC als "Hobby-Compiler" in die Ecke stellt: Ratet 
mal, mit was der Kernel (und einiges mehr) auf eurem Android-Handy 
gebaut ist. GCC. Ein Projekt vom Umfang des Linux-Kernels zu bauen 
können wohl weder IAR noch Keil von sich behaupten.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> Ein Projekt vom Umfang des Linux-Kernels zu bauen können wohl weder IAR
> noch Keil von sich behaupten.

Warum nicht?

Ist ja nicht so, dass ein Compiler irgendwie nach 10000 Zeilen Quellcode
seinen Dienst verweigern würde.

von Frank K. (fchk)


Lesenswert?

Lukas K. schrieb:
> In einer Sache kommt nur wenig/nichts an den GCC ran. Ich kann die selbe
> Toolchain sowohl für x86, als auch für alles vom AVR, ARM über MSP430
> bis RL78 verwenden. Einmal Toolchain lernen, immer anwenden.

Ist bei IAR auch nicht anders. Schau Dir mal die Liste der unterstützten 
Architekturen an. Die ist auch nicht kurz. Und IAR für MSP430 
funktioniert genauso wie IAR für dsPIC.

> Für die Fraktion, die GCC als "Hobby-Compiler" in die Ecke stellt: Ratet
> mal, mit was der Kernel (und einiges mehr) auf eurem Android-Handy
> gebaut ist. GCC. Ein Projekt vom Umfang des Linux-Kernels zu bauen
> können wohl weder IAR noch Keil von sich behaupten.

Wenn ich mir anschaue, was inzwischen in der Automobilindustrie abgeht, 
wäre ich mir da nicht so sicher. IAR ist dort quasi Branchenstandard.

fchk

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank K. schrieb:
> Schau Dir mal die Liste der unterstützten Architekturen an.

Dass x86 dabei ist, wäre mir neu.

Ansonsten ist das natürlich richtig, die unterstützen alles Mögliche.
Allerdings muss man für jede Architektur neu Geld hinlegen.

Was mich bei AVR-IAR immer genervt hat ist, dass es nicht geschafft
haben, da endlich mal den ELF-Standard zu unterstützen, obwohl sie
ELF natürlich für viele andere Architekturen anbieten.  Damit hat
man außerhalb ihrer Toolchain keine Chance auf irgendein Postprocessing.

von Mr M. (Gast)


Lesenswert?

Lukas K. schrieb:
> Für die Fraktion, die GCC als "Hobby-Compiler" in die Ecke stellt: Ratet
> mal, mit was der Kernel (und einiges mehr) auf eurem Android-Handy
> gebaut ist. GCC. Ein Projekt vom Umfang des Linux-Kernels zu bauen
> können wohl weder IAR noch Keil von sich behaupten.

Natürlich können die das. Der ARMCC hat schon vor 10 Jahren Projekte mit 
mehreren 100MB grossen Images zusammengebaut. Das war z.b. Firmware für 
Feature Phones. Ist aber kein Qualitätsmerkmal. Der GCC ist ein völlig 
überfrachtetes Projekt und wird sicher bald vom LLVM beerbt.
Die Frage die sich mir aufdrängt ist eher: wer repariert deinen Compiler 
wenn er mal aufgibt? Postest du dann deinen Kundencode in einen 
öffentlichen Bugtracker? Und wie testest du vernünftig? Gibt der GDB 
inzwischen mehr her als rudimentäres Debugging?
Am Ende sollte ich vielleicht zu nicht-kommerziellen Tools in der 
Auftragsentwicklung raten. Dann bleiben mehr Aufträge für die die 
pragmatisch entscheiden und weniger aus eigenem Glauben.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Mr M. schrieb:
> Und wie testest du vernünftig?

Ich kann mir ehrlich gesagt nicht vorstellen, wie man mit einem Debugger 
vernünftig testen sollte.

von Lukas K. (carrotindustries)


Lesenswert?

Jörg W. schrieb:
> Lukas K. schrieb:
>> Ein Projekt vom Umfang des Linux-Kernels zu bauen können wohl weder IAR
>> noch Keil von sich behaupten.
>
> Warum nicht?
>
> Ist ja nicht so, dass ein Compiler irgendwie nach 10000 Zeilen Quellcode
> seinen Dienst verweigern würde.

Klar, aber wenn ein Compiler den Linux-Kernel und auch sonst >90% an 
Software, die auf meinem System läuft schafft, dann wird's auch für 
meine Anwendungen tun. Trifft bei RL78 ehr weniger zu, aber vom 
nicht-Architekturspezifischen Teil weiß ich's schonmal.


Frank K. schrieb:
> Lukas K. schrieb:
>> In einer Sache kommt nur wenig/nichts an den GCC ran. Ich kann die selbe
>> Toolchain sowohl für x86, als auch für alles vom AVR, ARM über MSP430
>> bis RL78 verwenden. Einmal Toolchain lernen, immer anwenden.
>
> Ist bei IAR auch nicht anders.

Die Unterscheidung Embedded-Compiler / Anwendungs-Compiler will mir 
nicht so recht einleuchten. Am Ende vom Tag machen beide das selbe. 
Weshalb also nicht die gleiche Infrastruktur nutzen?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mr M. schrieb:
> wer repariert deinen Compiler wenn er mal aufgibt? Postest du dann
> deinen Kundencode in einen öffentlichen Bugtracker?

Wenn du sensitiven Code hast, würdest du den denn einem Hersteller
in die Hand drücken?

Ich nicht.  Ich würde eine heruntergebrochene Version eines Beispiels
einreichen, mit dem das Problem ausreichend nachgestellt werden kann.
Das hält das IP bei mir, und erleichtert es dem Hersteller sowieso,
sich aufs Wesentliche zu konzentrieren.

Für mehrere tausend Euro sollte man durchaus auch im GCC-Umfeld einen
Contractor finden, wenn man mal ein ernsthaft dringendes Problem hat.

> Der GCC ist ein völlig überfrachtetes Projekt und wird sicher bald vom
> LLVM beerbt.

Ja, das kann gut passieren.  Wo ist dabei das Argument für (oder gegen)
IAR?  Dieser Thread ist ja nicht überschrieben: „Gründe gegen GCC“.

von Mr M. (Gast)


Lesenswert?

Jörg W. schrieb:
> Wenn du sensitiven Code hast, würdest du den denn einem Hersteller
> in die Hand drücken?

Ja, das kommt schon mal vor. In den letzten 15 Jahren hab ich häufiger 
Probleme gesehen die nur im Gesamtkontext auftreten (vor allem 
Linkerprobleme). Dann wird eben ein NDA mit dem Hersteller geschlossen 
(wofür hat man denn eine Rechtsabteilung).

> Ich nicht.  Ich würde eine heruntergebrochene Version eines Beispiels
> einreichen, mit dem das Problem ausreichend nachgestellt werden kann.
> Das hält das IP bei mir, und erleichtert es dem Hersteller sowieso,
> sich aufs Wesentliche zu konzentrieren.

Gut. Wenn das geht. Schlecht wenn nicht. Und der Liefertermin naherückt.

> Für mehrere tausend Euro sollte man durchaus auch im GCC-Umfeld einen
> Contractor finden, wenn man mal ein ernsthaft dringendes Problem hat.

Richtig, das ist der Punkt. Service kostet immer Geld. Richtig spannend 
wird es sicher wenn das Projekt auch noch ISO26262 oder ähnliche Stempel 
braucht. Da rücken die Lizenzkosten auf jeden Fall in den Hintergrund.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mr M. schrieb:
> Richtig spannend wird es sicher wenn das Projekt auch noch ISO26262 oder
> ähnliche Stempel braucht. Da rücken die Lizenzkosten auf jeden Fall in
> den Hintergrund.

Ja, das bestreitet ja wohl auch keiner.

Aber das ist eben in vielen Fällen nicht das Thema, und dafür ist es
doch völlig OK, wenn der TE sich mal über das Für und Wider erkundigt,
damit er mit dem Kunden einen für beide sinnvollen Weg findet.

Ich mein', wenn der Kunde dem Entwickler extra eine IAR-Lizenz für
4000 spendieren müsste, die aber eigentlich zur Lösung seines Problems
nicht zwingend erforderlich ist, dann kann er den Entwickler alternativ
eine Woche länger beschäftigen und zusätzliche Gimmicks dafür bekommen.

von Mr M. (Gast)


Lesenswert?

Jörg W. schrieb:
> Aber das ist eben in vielen Fällen nicht das Thema, und dafür ist es
> doch völlig OK, wenn der TE sich mal über das Für und Wider erkundigt,
> damit er mit dem Kunden einen für beide sinnvollen Weg findet.

Ich hatte ein wenig den Eindruck er hat seine Entscheidung schon gefällt 
und möchte nur wissen wie er sich dem Kundenwunsch jetzt nicht anpassen 
muss. Der Kunde hat aber eben evtl. ganz andere Gründe wie unter anderem 
die Betriebssicherheit für sich als wichtig erklärt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mr M. schrieb:
> Ich hatte ein wenig den Eindruck er hat seine Entscheidung schon gefällt
> und möchte nur wissen wie er sich dem Kundenwunsch jetzt nicht anpassen
> muss.

Noch einer, der nicht den ganzen Thread sondern nur das Eingangsposting
gelesen hat?

von Frank K. (fchk)


Lesenswert?

Lukas K. schrieb:

> Die Unterscheidung Embedded-Compiler / Anwendungs-Compiler will mir
> nicht so recht einleuchten. Am Ende vom Tag machen beide das selbe.
> Weshalb also nicht die gleiche Infrastruktur nutzen?

Unterschiedliche Anforderungen? MISRA? Funktionale Sicherheit mit 
SIL-irgendwas-Zertifizierungen? OSEK-Support? Besserer Code für 
spezielle Architekturen? etc.

Wer nur einen Hammer hat, für den sieht alles wie ein Nagel aus.

fchk

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank K. schrieb:
> Lukas K. schrieb:
>
>> Die Unterscheidung Embedded-Compiler / Anwendungs-Compiler will mir
>> nicht so recht einleuchten. Am Ende vom Tag machen beide das selbe.
>> Weshalb also nicht die gleiche Infrastruktur nutzen?
>
> Unterschiedliche Anforderungen?

Inwiefern?  Optimale und korrekte Umsetzung von C auf die jeweilige
Maschine ist doch auf dem PC genauso gewünscht wie im Embedded-Bereich?

Oder darf der C-Compiler für den PC schlampen?

> MISRA?

Sind ja erstmal nur Coding-Regeln.  An die kannst du dich auf dem
PC genauso halten (und es scheint nicht wenige Coding Standards zu
geben, die das auch dort fordern).  Ist also auch keine Sache, die
man nur im Embedded-Bereich braucht.

> Funktionale Sicherheit mit
> SIL-irgendwas-Zertifizierungen? OSEK-Support?

OK, sind sicher wirklich Dinge, für die im PC-Bereich keiner Geld in
die Hand nehmen würde.  Musst du aber auch beim IAR wohl extra
bezahlen (ist natürlich da, wo man's braucht, ein wesentliches
Argument, keine Frage).

> Besserer Code für
> spezielle Architekturen?

Totschlagargument?  „Meiner ist länger als deiner!“?

Es wird wohl immer das Ziel der Compilerbauer sein, dass sie jeweils
für ihre Zielarchitektur das beste rausholen.  Da unterscheiden sich
Keil, IAR, Green Hills, GCC und LLVM nicht.  Wie nah jeder an dieses
Ziel herankommt, ist immer noch eine andere Sache, aber auch da sind
sie alle nicht so weit voneinander entfernt.

Das Argument mit den Zertifizierungen ist ja völlig OK, die machste
nicht einfach so für ein Opensource-Projekt, als Firma leistet man
sich sowas dann, wenn man weiß, dass es einem die Kunden dann auch
zurückzahlen werden.  Schon beim Support wird es dünner, gibt's
prinzipiell bei Opensource auch, und zumindest für das Standardprodukt
bekommst du auch von IAR keine Zusage, in welchem Zeitrahmen sie einen
Fehler reparieren werden (der dich zwar vielleicht nervt, aber eben
nur dich und bei anderen nicht reproduzierbar ist).  Für solche
Garantien musst du auch dort nochmal extra Geld in die Hand nehmen.
Was du als Garantie bekommst, ist eine Erstreaktion innerhalb einer
bestimmten Zeit.  Aber die kann auch darauf hinauslaufen, dass sie
den Fehler einfach als solchen akzeptieren, wenn es denn einer ist,
und dass sie ihn im Laufe der Zeit irgendwann mal reparieren werden.

: Bearbeitet durch Moderator
von W.S. (Gast)


Lesenswert?

Lukas K. schrieb:
> Die Unterscheidung Embedded-Compiler / Anwendungs-Compiler will mir
> nicht so recht einleuchten. Am Ende vom Tag machen beide das selbe.
> Weshalb also nicht die gleiche Infrastruktur nutzen?

Dann leuchte ich dir: Bei einem typischen µC-Projekt kommt am Schluß 
irgend eine Firmware heraus, die in den µC gebrannt wird und dort eben 
ihren Dienst tut. Nach welchen Kriterien innerhalb dieser Firmware die 
Kommunikation abläuft, also was da an binärer Interface-Gestaltung 
stattfindet, geht niemanden was an, hauptsache, es funktioniert, ist 
hinreichend optimiert und ist innerhalb der Firmware konsistent.

Beim Schreiben von Anwendungen für oder Teilen von Betriebssystemen 
sieht das jedoch völlig anders aus, da müssen Konventionen eingehalten 
werden, die völlig außerhalb der verwendeten Toolchaines definiert 
wurden. Da muß die Toolchain auf ansonsten sinnvoll anwendbare 
Optimierungen pfeifen und im übrigen muß sie das gesamte binäre Layout 
der Anwendung dem Ziel-OS angepaßt liefern. Sonst wird da nix draus.

Kurzum, OS oder Firmware sind zwei so unterschiedliche Paar Schuhe, daß 
es einfach NICHT sinnvoll ist, Programmiererkraft darauf zu 
verschwenden, beide unter einen Hut kriegen zu wollen.


Jörg W. schrieb:
> Ich mein', wenn der Kunde dem Entwickler extra eine IAR-Lizenz für
> 4000 spendieren müsste, die aber eigentlich zur Lösung seines Problems
> nicht zwingend erforderlich ist, dann kann er den Entwickler alternativ
> eine Woche länger beschäftigen und zusätzliche Gimmicks dafür bekommen.

Jörg, diese ganze Thread lebt NUR davon, daß der TO nur einen vermutlich 
kleinen Auszug aus den nur ihm bekannten Randbedingungen gepostet hat.

Abgesehen davon mag es auch so sein, daß auch sein Kunde ihm nur das 
gesagt hat, was er für nötig gehalten hat. Woher sollen wir hier wissen, 
was dort tatsächlich im Busche ist!!!???

Jetzt den TO darin zu bestärken, gegen den dedizierten Wunsch seines 
Kunden zu argumentieren, würde ich deshalb für völlig fehl am Platze 
halten. Der einzige sinnvolle Rat an ihn ist: "Guck dir den IAR selber 
an, damit du ein Gefühl dafür kriegst, worauf du dich einlassen mußt, 
wenn du die Sache annimmst."

Ich hätte an Torstens Stelle hier überhaupt keinen Thread aufgemacht, 
sondern mir nen IAR als Demo gezogen, ausprobiert und dann dem Kunden 
ein vernünftiges Angebot gemacht, wo eben auch der IAR sinnvoll mit 
eingebunden ist. Entweder vom Kunden gestellt oder auf Kunden's Kosten 
gekauft und nach Abschluß der Arbeiten mit übergeben oder sonstwie - 
wird ja wohl möglich sein, nen vernünftigen Vertrag zustande zu kriegen.

W.S.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

W.S. schrieb:
> Ich hätte an Torstens Stelle hier überhaupt keinen Thread aufgemacht,
> sondern mir nen IAR als Demo gezogen, ausprobiert

Nochmal (auch für dich): mit einem bissel Demo lernst du keinen
Compiler kennen.  Darum hat er gefragt, um die Meinung von Leuten
zu hören, die ihn schon besser kennen.

von Nase (Gast)


Lesenswert?

Frank K. schrieb:
> Funktionale Sicherheit mit
> SIL-irgendwas-Zertifizierungen?
Bwahaha.

Und du glaubst ernsthaft, dass die Zertifizierung eines Compilers auch 
nur irgendeinen Beitrag zur Sicherheit leistet?

Die einschlägige Normenreihe zum Thema (61508, 62061) ist doch 
hinsichtlich allem, was nicht klappert oder mit Druckluft funktioniert, 
sowas von steinzeitlich. Jeder einigermaßen zeitgemäße Compiler ist doch 
bei seiner Komplexität davon sowas von meilenweit weg, dass jegliche 
Zertifizierung praktisch nur Augenwischerei und Abzocke ist.

Das ist doch ähnlich wie bei MISRA-C: Stupides Anwenden von Regeln hat 
noch nie zu besserer (Code-)Qualität geführt.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Nase schrieb:
> Und du glaubst ernsthaft, dass die Zertifizierung eines Compilers auch
> nur irgendeinen Beitrag zur Sicherheit leistet?

Die Zertifizierung hat nur einen geringen Einfluss auf die technische 
Sicherheit des Produktes. Wenn es jedoch für den Entwickler oder 
Hersteller um eine juristische Auseinandersetzung geht, hilft es 
ungemein, für möglichst viele eingesetzte Ressourcen (Material, 
Werkzeuge, Personal) irgendwelche Phantasiezertifikate aus der Schublade 
ziehen zu können. Ein Richter wird keine inhaltliche Prüfung einer 
Produktentwicklung durchführen können, aber wenn man ihm einen Haufen 
Papier vorlegt, auf dem ersichtlich ist, dass man sich vor und während 
der Produktentwicklung viele Gedanken gemacht hat, schindet das 
Eindruck. Ggf. kann man auf diese Art und Weise sogar den Schwarzen 
Peter in Haftungsfragen an Dritte weitergeben.

Gerade in Großunternehmen schindet man als Entscheider eher Eindruck, 
wenn man (für den jeweiligen Anwendungsfall völlig überteuerte) Produkte 
oder Leistungen einkauft, für die Zertifizierungen vorliegen oder durch 
den Anbieter zumindest zugesagt sind. Das gilt als professionell. 
Benötigt man viele teure Werkzeuge, steigt dadurch das benötigte Budget. 
Bei der nächsten Verhandlung über Gehalt und Zielvereinbarung kann man 
als Mitarbeiter dann wiederum auf die hohe Budgetverantwortung verweisen 
und hierfür mehr Gehalt verlangen. Bedient man sich hingegen nur 
kostenloser oder schon im Hause befindlicher Ressourcen, fehlt die hohe 
Budgetverantwortung, obwohl man eigentlich sogar sehr im Sinne des 
Unternehmens gehandelt hat.

Ich stimme allerdings völlig zu, dass man bei vielen Zertifizierungen 
als Techniker nur den Kopf schütteln kann.

von greg (Gast)


Lesenswert?

Moment, es gibt noch Leute, die den GCC als "Hobbycompiler" ansehen?

Es gibt doch von vielen Firmen zusammengeschnürte Pakete für komplette 
Entwicklungsumgebungen auf Basis des GCC (z.B. Rowley CrossWorks). 
Inklusive Support mit Hotfixes bei kritischen Bugs und Ähnlichem. Zum 
Thema Zertifizierungen weiß ich nichts Genaues, aber das gibt es sicher 
auch, wenn man genug Geld auf den Tisch legt.

LLVM/clang entwickelt sich schnell, aber im Bereich der eingebetteten 
Systeme scheint mir der GCC noch die Nase vorn zu haben.

von W.S. (Gast)


Lesenswert?

Jörg W. schrieb:
> Nochmal (auch für dich): mit einem bissel Demo lernst du keinen
> Compiler kennen.

Nochmal ausdrücklich für dich:
Das ist hier dediziert NICHT das Thema. Lies den Eröffnungsthread 
nochmal gründlich und leg zuvor mal deine BSD-Sichtweise ein wenig zur 
Seite.

Abgesehen davon ist die IAR-Demo für 30 Tage oder so ähnlich komplett 
die Vollversion und wer kein Volltrottel ist, weiß binnen dieser Zeit 
sehr wohl, worauf er sich da einläßt.

W.S.

von Nase (Gast)


Lesenswert?

Andreas S. schrieb:
> Nase schrieb:
>> Und du glaubst ernsthaft, dass die Zertifizierung eines Compilers auch
>> nur irgendeinen Beitrag zur Sicherheit leistet?
>
> Die Zertifizierung hat nur einen geringen Einfluss auf die technische
> Sicherheit des Produktes. [...]

Und dieser Trend ist äußerst bedenklich.

Nach dem ganzen Ärger mit diversen Sicherheitssteuerungen namhafter 
Hersteller weiß ich nichtmal mehr, ob ich so genau wissen möchte, wie 
die da programmieren.

Noch viel schlimmer ist der Gedanke, auf welchen Schrott an Software 
man sich da möglicherweise verlässt, wenn man in die Maschine greift.

von Arc N. (arc)


Lesenswert?

Nase schrieb:
> Nach dem ganzen Ärger mit diversen Sicherheitssteuerungen namhafter
> Hersteller weiß ich nichtmal mehr, ob ich so genau wissen möchte, /wie/
> die da programmieren.

Etwas älter (2013) und dreht sich um PKWs bzw. u.a. um ein 
Gerichtsverfahren in den USA bei dem auch der Quelltext untersucht 
wurde...
http://www.safetyresearch.net/blog/articles/toyota-unintended-acceleration-and-big-bowl-%E2%80%9Cspaghetti%E2%80%9D-code

"possible bit flips, task deaths that would disable the failsafes, 
memory corruption, single-point failures, inadequate protections against 
stack overflow and buffer overflow, single-fault containment regions, 
thousands of global variables."

"Barr checked the source code against MISRA’s 2004 edition and found 
81,514 violations."

"watchdog supervisor “is incapable of ever detecting the death of a 
major task. That's its whole job. It doesn't do it. It's not designed to 
do it.”"
usw. usf.

von Frank K. (fchk)


Lesenswert?

Torsten R. schrieb:

> Kann man bei IAR Projekten relativ einfach im Versionsmanagement
> erkennen, wenn jemand an einem Compiler-Schalter etwas geändert hat? Ist
> Dokumentiert, in welchen Datei die Bild-Regeln abgebildet sind, und in
> welchen Dateien bloß die Fenstergröße beim letzten Öffnen abgelegt sind?

Die Projektdateien sind im XML-Format, also durchaus lesbar, wenn auch 
XML-typisch verbose.

fchk

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank K. schrieb:
> Die Projektdateien sind im XML-Format, also durchaus lesbar, wenn auch
> XML-typisch verbose.

Etwas verwirrend ist, dass sie derer gleich mal drei Stück brauchen
(deren Aufgabentrennung mir nicht völlig transparent ist).  Auf die
Schnelle habe ich dabei keine gefunden, in der Dinge wie die
Fenstergröße stünden.

Aber ansonsten: ja, Build-Optionen etc. sind drin.  Typisch für solche
Dateien aber, und da macht auch IAR keine Ausnahme, beim nächsten
Versions-Upgrade ändern sie sich so gut wie immer.

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.