Seite 1 von 1

Neue Cogs in PASM starten?

Verfasst: Do 17. Sep 2009, 18:57
von DJLinux
Wie startet man in Assembler einen neuen COG (nich die gleiche Instanz) ?

CogNew in Spin kopiert ja immer 496 Long's ab einem "@Label" vom HUBRAM in den nächstenb freien COG und startet ihn dann aber in Assembler kann der laufende COG keine 496 Longs vom HUBRAM in einem anderen freien COG kopieren.

Z.Z. mach ich das so das in jedem COG (am Speicherende) eine Minischleife (mit stromsparendem WAITCNT) läuft die nur darauf wartet vom OS den Befehl zu bekommen ab einem Label X vom HUBRAM N Longs zu kopieren und dann zu Adresse Y zu springen.

Der laufende COG welches das "neue" Programm abarbeitet kann wiederum vom OS den Befehl bekommen den aktuellen Task zu beenden dann verhart er wieder in der Dornröschenschleife und wartet bis er erneut geknutscht wird. :lol:

COGINIT in PASM macht nicht das was ich erwarten würde.

Es kann doch nicht sein das in jedem Chip ein COG immer mit dem Spininterpreter laufen muss nur um neue COG's mit PASM Code zu starten dann hätte man ja "nur" 7 COG's zur freien Verfügung ODER ?


Grüsse Joshy

Re: Neue Cogs in PASM starten?

Verfasst: Do 17. Sep 2009, 19:21
von Janaha
Schau dir mal das Propeller Manual unter dem Assemblerbefehl COGINIT an. Der vereint die SPIN- Befehle COGNEW und COGINIT in einem. Wenn Du nach dem passenden Dokument suchst, das trägt den Namen: WbPM-v1.1.pdf

Download unter:
http://www.parallax.com/Portals/0/Downl ... M-v1.1.pdf

(Seite 284 und 285)

In dem Dokument werden Spin und Assembler sehr ausführlich beschrieben.

Grüße
Janaha

Re: Neue Cogs in PASM starten?

Verfasst: Do 17. Sep 2009, 19:43
von DJLinux
Hallo Janaha
wenn man ein OS, Hochsprachencompiler inklusive Assembler in PASM schreibt dann sollte man zuvor die Assemblerdoku gelesen haben was ich natürlich auch schon "mehrfach" gemacht habe ;)

Aber COGINIT macht in meiner OS Konfiguration nicht das was es soll egal wie oft ich die Doku auch lese :lol:

Vielleicht finde ich nach einer Mütze Schlaf den Fehler den ich offentsichtlich mache.

Grüsse und Danke

Joshy