Welchen Kompiler?

Gast #793388
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!
Angehängte Dateien:
Gast #794054
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
Gast #794060
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
Gast #794112
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?!
Gast #794146
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.
Gast #794265
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?
Gast #794292
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren