Forum: Mikrocontroller und Digitale Elektronik Welchen Kompiler?


von tron (Gast)


Angehängte Dateien:

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!

von tron (Gast)


Lesenswert?

Hallo?

von OliverSo (Gast)


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

von tron (Gast)


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

von ... (Gast)


Lesenswert?

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

von tron (Gast)


Angehängte Dateien:

Lesenswert?

Hier das Makefile.

von Johannes M. (johnny-m)


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

von tron (Gast)


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?!

von yalu (Gast)


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.

von tron (Gast)


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?

von yalu (Gast)


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

von tron (Gast)


Lesenswert?

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

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.