Erfahrung mit simpleIDE

Allgemeine Themen rund um den Propeller Mikrocontroller und Elektronik
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Erfahrung mit simpleIDE

Beitrag von yeti »

funkheld hat geschrieben:Dein System muss bei denen Unbekannt sein.
Mit Nichten und mit Neffen!

Inline-Assembler:
https://sites.google.com/site/propeller ... asm-basics

Klassisch:
http://forums.parallax.com/showthread.php/146847

...das sind aber nur Brocken... etwas mehr dazu wirst Du schon noch zusammenpuzzeln müssen...

Die PropGCC- und -GAS-Doku sind Dein Freund.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"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: Erfahrung mit simpleIDE

Beitrag von funkheld »

Hmm.., danke.

Solchen ASM-Code möchte ich vermeiden:

__asm__ (
"strloop: "
"rdbyte %[t1], %[string]\n\t"
"cmp %[t1], #0 wz\n\t"
"if_nz add %, #1\n\t"
"if_nz add %[string], #1\n\t"
"if_nz brs #strloop"

: /*outputs (+inputs) */
"+r" (i)
: /*inputs */
[string] "r" (string),
[t1] "r" (t1)
);

Schadet der Gesundheit... :!:

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

Re: Erfahrung mit simpleIDE

Beitrag von PIC18F2550 »

Der Quelltext von PASM hat nichts mit SPIN gemein und bildet auch kein Array
Er ist Prozessormäßig auf Long Format beschrängt und daraus Bytes zu machen ist einfach am Ziel vorbei.

PASM ist COG-Code und kein Intepretersalat wie C und SPIN und C kann den COG-Code vom anderen COG nicht lesen daher sind deine Bezüge technisch gesehen irrelevant.

Du musst bedenken das das hier 8 unabhängige CPUs am werkeln sind die in hinsicht auf PASM vollkommen von einander getrennt sind.

mann kann den COG-Code Stückeln und mit einem Loder in den COG Bringen das ist aber nur ein technischer Trick.
Der maximale aktive COG-Code ist je COG nur $1F0 Long lang.
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
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Erfahrung mit simpleIDE

Beitrag von yeti »

funkheld hat geschrieben:Solchen ASM-Code möchte ich vermeiden:
Das kann man mit dem Präprozessor sicherlich noch etwas audhybschen, aber wenn man kappiert  hat, warum das so ausschaut, dann stört's auch nur noch halb so sehr. (Und das WARUM verrat ich jetzt nicht! :P )

Dann nimm halt die klassische Variante mit getrennten *.c- und *.s-Dateien. Aber vielleicht kann SIDE das ja nicht? Keine Ahnung... je simpler das Werkzeug, desto simpler die Probleme, die sich damit lösen lassen...

PropGCC kann's jedenfalls und wenn es mit PropGCC+SIDE nicht geht, nicht mein Problem!

Langsam beschleicht mich das Gefühl: Du willst Alles und das sofort und das natürlich ohne Eigenschweiß auf dem goldenen Tablett serviert von wohlgebauten Untergebenen und/oder -innen.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Erfahrung mit simpleIDE

Beitrag von yeti »

PIC18F2550 hat geschrieben:PASM ist COG-Code und kein Intepretersalat wie C und SPIN und C kann den COG-Code vom anderen COG nicht lesen daher sind deine Bezüge technisch gesehen irrelevant.
Wenn dieses Beispiel mit -mcog kompiliert wird, liegen der C- und PASM-Code im selben Cog.

...aber C hat auch ein cogstart() und kann aus LMM-C-Code heraus PASM starten... dann muß eine Parameterübergabe natürlich anders aussehen.

Es sollte auch nur zeigen wie der Inline-ASM ausschauen kann...
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Erfahrung mit simpleIDE

Beitrag von PIC18F2550 »

Bei kleineren Sachen hast Du recht Yeti aber mal Ehrlich welches Programm von uns :mrgreen: passt am ende schon in einen COG außer es wird der Code gespalten und in mehrere COGs geladen so wie ich das mache.
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: Erfahrung mit simpleIDE

Beitrag von funkheld »

PropGCC kann's jedenfalls und wenn es mit PropGCC+SIDE nicht geht, nicht mein Problem!
Dieses C habe ich jetzt rausgeschmissen.

Ich mach jetzt kleine spezielle ASM-Häppchen mit PropBasic und schiebe die dann in meinem SPIN rein und in dem Cog, wo ich es brauche. Hier und da ändere ich noch kleine Sachen am ASM . Und ich kann von dem schon fast fertigen ASM-Code lernen.
Klappt wunderbar.

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

Re: Erfahrung mit simpleIDE

Beitrag von PIC18F2550 »

funkheld hat geschrieben:Ich mach jetzt kleine spezielle ASM-Häppchen mit PropBasic und schiebe die dann in meinem SPIN rein und in dem Cog,
Der 1. Start erfolgt immer mit SPIN das ist halt so.

dann kann der SPIN-COG sich selber beenden.

Jetzt kann der gestartete COG die Anderen COGs mit Speichersegmenten aus dem hRAM Starten und Beenden.
Oder mit Hilfe eines Kleinen Loders seinen Eigenen Code modifizieren aus welchen Quellen ist deiner Fantasie überlassen. (bei mir kommt der Code über den Koppelbus)
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
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Erfahrung mit simpleIDE

Beitrag von yeti »

PIC18F2550 hat geschrieben:Bei kleineren Sachen hast Du recht Yeti aber mal Ehrlich welches Programm von uns :mrgreen: passt am ende schon in einen COG außer es wird der Code gespalten und in mehrere COGs geladen so wie ich das mache.
Ich wollte doch nur ein  Beispiel für Inline-Assembler angeben... daß das nicht alle Hassenich und Kannsenich beantwortet, sollte bei der Kürze des Beispieles doch offengugglich sein...
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
PIC18F2550
Beiträge: 2831
Registriert: Fr 30. Sep 2011, 13:08

Re: Erfahrung mit simpleIDE

Beitrag von PIC18F2550 »

Yeti ich weis doch wie Du das meinst. :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
Antworten