Neue Cogs in PASM starten?

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Antworten
DJLinux

Neue Cogs in PASM starten?

Beitrag 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
Janaha
Beiträge: 213
Registriert: Fr 29. Mai 2009, 08:30

Re: Neue Cogs in PASM starten?

Beitrag 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
DJLinux

Re: Neue Cogs in PASM starten?

Beitrag 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
Antworten