PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RP6 mit Rapberry AVR-C Dateien Kompilieren in HEX



Schnully2018
28.12.2018, 21:59
Hallo zusammen

ich versuche seit Tagen C Dateien im Raspberry für den RP6 zu Kompilieren.

Ich bekomme es nicht hin.

Mit Windows und WIN-ARV kein Problem.

Aber unter Linux :(

Hat jemand eine gute Anleitung dazu.

Besten Dank

Gruß
Schnully

shedepe
29.12.2018, 11:43
Was ist denn dein Problem ? gcc-avr und avr-libc installieren, richtiges Makefile schreiben und losgehts. Geht sogar viel einfacher als unter Windows ;)
Gibt es auch tolle Beispiele für https://www.mikrocontroller.net/articles/Beispiel_Makefile

Schnully2018
29.12.2018, 18:00
Danke shedepe:)

Aber wie soll das makefile speziell für den Raspberry aussehen.

Das make hab ich gestarten mit ./Makefile und es erscheinen in der Console 100 te fehler.

Ich denke diese Make datei ist eher für windows geschrieben.

/home/pi/test/ccc/a1/ dort liegt meine C datei lernen.c und das Makefile

Eine Idee

Vielen Dank im Vorraus
Gruß
Schnully2018

shedepe
29.12.2018, 19:18
Also:
0. Schau ob du gcc-avr und avr-libc mit apt-get installierst hast. (Sudo apt-get install gcc-avr avr-libc avrdude)
1. nenn dein Makefile einfach nur Makefile
2. Dann rufst du in dem selben Ordner einfach nur make auf
3. Dann lies das Makefile ;)



# Target file name (without extension).
TARGET = main


# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c



Dann stellst du fest: Das Teil sucht keine lernen.c sondern eine main.c (So wie das eigentlich auch Standard ist, dass mein seine main Methode in ein File namens main.c packt.

4, Wenn du immer noch Probleme hast: Schau dir am besten den ersten Fehler an. Damit kann man in der Regel am meisten anfangen.

Und noch der Vollständigkeit halber: Wenn du ./Makefile ausführst, dann versucht du das Makefile als shell script auszuführen ;)

Schnully2018
29.12.2018, 20:03
Vielen vielen Dank nochmal

ich hab das Makefile angepasst und auf Makefile ohne extencens umbenannt.

Jetzt findet er die lib nicht also die RP6 Bibliothek. Siehe fehlermeldung.

Vielen vielen Dank

Schnully2018

shedepe
29.12.2018, 20:35
Naja du musst ihm ja irgendwie mitteilen wo er die suchen muss.
Die Idee von einem Makefile ist ja, dass du etwas bequemer dem Compiler mitteilen kannst, welche Dateien er alles mit einbeziehen soll.
Das einfachste ist sowas zu machen von der Struktur her:

src/main.c
src/rp6_lib/<alle files>

im Makefile dann bei EXTRAINCDIRS =
die rp6 library angeben.
Die C Files muss man dann halt alle noch extra mit passendem relativen Pfad eintragen. Kann man sich aber ja bei dem original Makefile von Windows abschauen. Wenn ich mich richtig erinnere haben die da ja was gebastelt, dass mein sein eigenes Projekt passend relativ zur RP6 Lib ablegen soll. So richtig schön ist das aber nicht^^

Vermutlich hilft es auch sich ein Tutorial zu Makefiles durchzulesen, das machst du einmal, danach kannst du deine Makefiles selbst zusammenbauen und hast auch noch was gelernt ;)

Kurzes Googlen: (Kann selber keins empfehlen)
http://www.ijon.de/comp/tutorials/makefile.html
https://www.tutorialspoint.com/makefile/

Schnully2018
29.12.2018, 21:34
Vielen Dank

Jetzt funktioniert es

Diese makefile Datei funst. Es muss nur in TARGET = NamedercDatei editiert werden.

Mein Fehler, ich hab die Makefile datei mit ./ ausgeführt. Geht garnicht.

Nur in den Ordner navigieren und direkt make eingeben dann Kompiliert der Raspberry.

Wöff.

Besten Dank nochmal
LG
Schnully2018