Propeller in C proggen?

Allgemeine Themen rund um den Propeller Mikrocontroller und Elektronik
Antworten
funkheld
Beiträge: 63
Registriert: Mi 24. Apr 2013, 18:44

Propeller in C proggen?

Beitrag von funkheld »

Hallo, guten Tag.
Ich programmiere den Propeller mit "Propeller Tool v1.3.2"

Gibt es da auch einen freien C-Compiler?

Danke.
Gruss
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Propeller in C proggen?

Beitrag von PIC18F2550 »

SimpleIDE :D
Gruß
PIC18F2550

drone265/278
Barbarus hic ergo sum, quia non intellegor ulli.
Ein Barbar bin ich hier, da ich von keinem verstanden werde.
ʎɐqǝ ıǝq ɹnʇɐʇsɐʇ ǝuıǝ ɹǝpǝıʍ ǝıu ǝɟnɐʞ ɥɔı ´uuɐɯ ɥo
funkheld
Beiträge: 63
Registriert: Mi 24. Apr 2013, 18:44

Re: Propeller in C proggen?

Beitrag von funkheld »

Jup, danke.

Gruss
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Propeller in C proggen?

Beitrag von yeti »

PIC18F2550 hat geschrieben:SimpleIDE :D
SimpleIDE ist eigentlich nur der Klickibuntikram... damit der nützt, wird er zwar mit PropellerGCC gebündelt geliefert, aber das bedeutet mit Nichten und mit Vettern, daß C-Programmierung des Propellers SimpleIDE zwingend voraussetzt.

PropellerGCC ausschließlich ohne Klickibuntikondom drumherum ganz klassisch mit dem Editor Deiner Wahl und Shell/Makefiles benutzen ist selbstverständlich möglich. Wer das bevorzugt, findet auch PropellerGCC nackisch im Netz...

Jede halbwegs brauchbare Entwicklungsumgebung (z.B. Code:Blocks, EMACS, Eclipse) sollte sich nach etwas Konfiguration für Entwickeln in C mit dem Propeller eignen.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
funkheld
Beiträge: 63
Registriert: Mi 24. Apr 2013, 18:44

Re: Propeller in C proggen?

Beitrag von funkheld »

Jup, danke.

Wie sehen denn die Compileraufrufe aus wenn ein Texteditor wie Notepad++ genommen wird?

Danke.
Gruss
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Propeller in C proggen?

Beitrag von yeti »

funkheld hat geschrieben:Wie sehen denn die Compileraufrufe aus wenn ein Texteditor wie Notepad++ genommen wird?
Parallax hat mit http://learn.parallax.com/propellerc Infos zu PropellerGCC angelegt, aber ich sehe da bislang keine Seiten, die sich an Kommandozeilenfans richten. Vielleicht übersehe ich sie nur, vielleicht kommen sie noch...

...abgucken, was SimpleIDE an Befehlen benutzt um ein Projekt zu bauen wäre natürlich eine Option...

Ähnliches habe ich von einem anderen Startpunkt aus gemacht...

Die zentrale Anlaufstelle für PropellerGCC-Code ist https://code.google.com/p/propgcc/.

Im dort verwalteten Sourcecode gibt es ein Unterverzeichnis "Demos" und da hat jedes Besipeiel ein Makefile. Die fand ich als Beispiele brauchbar.

...

Das bin-Verzeichnis der gewünschten PropGCC-Version sollte im PATH erwähnt sein, um sich nicht mit langen Pfaden bei dieser Hitze totzutippen

Code: Alles auswählen

$ PATH=/opt/propgcc-1.0.0-2250+/bin:$PATH
$ echo $PATH
/opt/propgcc-1.0.0-2250+/bin:/home/yeti/bin/:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Dies Verzeichnis enthält überschaulich wenig Kram:

Code: Alles auswählen

$ ls -l
insgesamt 8
-rw-r--r-- 1 yeti yeti 872 30. Okt 2013  fibo.c
-rw-r--r-- 1 yeti yeti 264 13. Jun 13:10 Makefile
Das Makefile steuert die Abläufe:

Code: Alles auswählen

$ cat Makefile 
#
# objects for this program
#

PROPLIB = ../../common

NAME = fibo
OBJS = fibo.o

# memory model
MODEL ?= lmm

#
# enable experimental fcache code for this demo
#
#CFLAGS = -Os -mfcache
CFLAGS = -g -Os
#CFLAGS = -g

all: $(NAME).elf

include $(PROPLIB)/common.mk
Also mal anwerfen...

Code: Alles auswählen

$ make
propeller-elf-gcc -g -Os -mlmm  -o fibo.o -c fibo.c
propeller-elf-gcc -g -Os -mlmm  -fno-exceptions -fno-rtti -o fibo.elf fibo.o
Man sieht die Befehle, die für das Übersetzen dieses Beispieles nötig sind.
Entstaden dabei sind eine .o- und ein .elf-Datei. Letztere ist das entstandene Programm, das es irgendwie in den Propeller zu schubsen gilt...

Code: Alles auswählen

$ ls -l
insgesamt 56
-rw-r--r-- 1 yeti yeti   872 30. Okt 2013  fibo.c
-rwxr-xr-x 1 yeti yeti 40216 19. Jul 16:07 fibo.elf
-rw-r--r-- 1 yeti yeti  5832 19. Jul 16:07 fibo.o
-rw-r--r-- 1 yeti yeti   264 13. Jun 13:10 Makefile
Hätte ich nun tatsächlich das Propeller-Board auch angeschlossen, dann würde der folgende Befehl die .elf-Datei rüberschieben und das Programm starten. Ein-/Ausgaben sind dabei mit einem in 'propeller-load' enthaltenen Terminal verbunden, weil die Option '-t' angegeben wurde... theoretisch... ich hab aber grad kein Board am Port und so fällt Folgendes auf die Nase:

Code: Alles auswählen

$ make run BOARD=c3
propeller-load -bc3 fibo.elf -r -t
error: can't find a port with a propeller chip
make: *** [run] Fehler 1
...

Es ist also also gar nicht so schwer ohne SimpleIDE, aber einen netten Text für "Einsteigen in PropGCC ohne SimpleIDE" erinnere ich bislang nicht gesehen zu haben... mal im Parallax-Forum nachfragen bringt da vielleicht Dinge zu Tage, die nie ein Yeti zuvor gesehen hat... :mrgreen:
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Antworten