www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Welchen Kompiler?


Autor: tron (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forumgemeinde,

Ich benutze den Programmers Notpad 2 Compiler um im "AT91 USB Framework 
- Core 1.03 + HID 1.01" Ordner, das Projekt "mouse" zu kompilieren. 
Leider unterstützt der Kompiler das Makefile nicht richtig (Projekt im 
Anhang).
Hat jemand schon Erfahrungen gemacht und kann mit einen besseren 
Kompiler empfehlen, bzw den Orginalkompiler in dem das Programm 
geschrieben wurde?

Besten Dank!

Autor: tron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo?

Autor: OliverSo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Programmers Notpad 2 Compiler

Wie der Name schon sagt, ist "Programmers Notepad" ein Editor, und kein 
Compiler. Und Compiler unterstützen auch keine makefiles.

Also: Welchen Prozessor willst du programmieren, welchen Compiler hast 
du jezt dafür installiert, und was genau geht damit nicht 
(Fehlermeldungen?)

Oliver

Autor: tron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry für die ungenauigkeit, ich benutze den [WinArm_G] Kompiler.
Der Fehler bim Kompilieren:

> "make.exe" all
Makefile:52: *** missing separator.  Stop.

> Process Exit Code: 2
> Time Taken: 00:00

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaub das ist ein Problem mit TAB und SPACE im Makefile. Kannst du 
mal das Makefile posten?

Autor: tron (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier das Makefile.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin zwar kein großer Makefile-Experte, aber ich bin mir fast sicher, 
dass die "232" am Anfang der Zeile 52 (auf die sich ja auch die 
Fehlermeldung bezieht) da nicht hingehört! Da hättest Du beim 
Drüberschauen aber auch selber drauf kommen können...

Autor: tron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, mit 223 will ich nun wirklich nichts machen, da ich ja keinen 
Konverter IC benutze.

Ich bin sowieso etwas verrwirrt was das Makefile anghet, im 
Package(Dateianhang erster Poste) steht im sind mehrer Makefiles 
vorhanen wobei im Readmefile steht:

Compilation is done by using the root makefile (not the one in /core or 
/hid).
Please refer to the corresponding application note for more information 
on
this step.

Aber weleches der Makefiles muss ich nun nehmen, erhalte beim Kopilieren 
mit jedem der Makefiles einen ***missing seperator Error?!

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die '232' ist da irgendwie reingerutscht, sie ist im Original-Makefile
nicht vorhanden. Was aber ebenfalls stört, ist das anschließende '!',
das von GNU-make nicht verstanden wird.

Überfliegen des Makefiles ergibt: Es wird nicht der GCC, sondern ein
armcc oder tcc als Compiler verwendet.

Suche nach diesen Compilern in Goolgle ergibt: Sie sind Bestandteil
von RVDS (RealView Development Suite) der Firma ARM Ltd.

Es scheint, als ob in RVDS ein eigenes Make-Tool enthalten ist, das
nicht zu GNU-Make kompatibel ist.

Um das Programm ohne Änderungen kompilieren zu können, kommst du also
wahrscheinlich um das RVDS nicht herum. Es gibt übrigens auch eine
Demo-Version davon.

Autor: tron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für deine ausführiche Erklärung.
Kann ich einen x-beliebige armcc oder tcc Compiler verwenden oder muss 
es der von RVDS sein?
Wenn nein, wo finde ich die Demo zum RVDS, auf der Herstellerseite 
konnte ich sie noch nicht entdecken?

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann ich einen x-beliebige armcc oder tcc Compiler verwenden oder
> muss es der von RVDS sein?

Zunächst brauchst du das richtige Make-Tool. Ob es eines gibt, das zum
RVDS-make kompatibel ist, weiß ich nicht. Alternative: Du schreibst
das Makefile so um, dass es auch von GNU-Make verarbeitet werden kann.
Dazu muss man das Original-Makefile aber erst einmal verstehen.

Ich glaube nicht, dass es andere Compiler gibt, die nicht nur armcc
und tcc heißen, sondern auch zu diesen kompatibel sind. Natürlich
kannst du versuchen, das Programm mit einem anderen ARM-Compiler (z.B.
GCC) zu übersetzen. Mit großer Wahrscheinlichkeit wird dieser aber
Fehlemeldungen ausgeben, weil das Programm vielleicht irgendwelche
C-Erweiterungen des armcc nutzt, die im GCC nicht enthalten sind, oder
weil die System-Headerfiles der beiden Compiler nicht gleich sind.
Auch dann kannst du natürlich versuchen, die Unterschiede zu verstehen
und das Programm so anzupassen, dass es auch vom GCC kompiliert wird.

Der geradlinige Weg wird aber sein, die gleichen Tools wie die
Entwickler des Programms zu benutzen, und das ist wohl RVDS.

> Wenn nein, wo finde ich die Demo zum RVDS, auf der Herstellerseite
> konnte ich sie noch nicht entdecken?

Hier:

  http://www.arm.com/products/DevTools/RVDSEvalCD.html

Autor: tron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für deinen Hilfe, ich habe mich jetzt noch bei Atmel gemeldet, um 
weitere Informationen diesbezüglich zuerhalten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.