Parameterübergabe spin asm, asm asm

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Antworten
wb1
Beiträge: 29
Registriert: Mi 10. Jun 2009, 20:54

Parameterübergabe spin asm, asm asm

Beitrag von wb1 »

Irgendwie habe ich einen Knoten im Hirn.
Ich bekomme einfach nicht die Parameterübergabe zwischen spin und asm in die Reihe.
Kann das jemand erklären?
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Parameterübergabe spin asm, asm asm

Beitrag von drohne235 »

desilva hat mal ein gutes tutorial dazu geschrieben:

http://propellerforum.sps-welt.de/viewf ... 680ba3eb00

ich hätte nur ein paar democodes liegen, mit welchen ich selbst experimentiert hab - pasm-routinen um den externen ram anzusprechen usw. für die testroutinen gibt es gleich noch einen kleinen spin-kommandointerpreter, mit welchem man interaktiv den PASM-Code in der COG steuern kann. einfach "sode-eram 3.spin" mit f10 in regnatix laden und folgendes mal testhalber eingeben:

Code: Alles auswählen

start
run 1           - led an
run 2           - led aus

- bereiche füllen
ph 1 0 ffff 1 0 - parameter setzen
pv              - parameter anzeigen
run 3           - füllt ffff bytes b adresse 0 mit 01 in bank 1
ed              - anzeige ram ab 0

run 3 0 ff 1 0  - kommando mit parametern
run 3           - setzt kommando bei nächsten block fort

- bereich testen
run 4 0 ff aa 0 - sucht nächste zelle mit dem wert aa
run 4           - setzt test fort

natürlich ohne die kommentare hinter den bindestrichen. bei dem code übergebe ich parameter, vielleicht hilft dir der testcode ein wenig.
Dateianhänge
sonde - eram 3.rar
(21.01 KiB) 525-mal heruntergeladen
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
wb1
Beiträge: 29
Registriert: Mi 10. Jun 2009, 20:54

Re: Parameterübergabe spin asm, asm asm

Beitrag von wb1 »

Vielen Dank
Ich habe die Datenübergabe von ASM zu SPIN begriffen.
Bei der Simulation mit Gear ist mir aufgefallen, daß die Portzustände nach der Initialisierung unbestimmt sind. Es erfolgen Pegelwechsel, die ich mir nicht erklären kann.
In den Programmschnipseln wird nichts anderes gemacht, als die HB-Led durch Parameterübergabe eines weiteren Cogs zum blinken zu bringen.
Wenn du die binary in gear lädst und den Port 24 in gear logic-probe anzeigen läßt, läuft es anscheinend normal. Führst du einen reset aus, kommen nach dem Start des cogs der ASM ausführt, kurzzeitig ein paar Pegelwechsel.
Im Propeller Eduacation Fundamentals, seite 37, habe ich gelesen, daß vor dem poweroff und nach dem poweron unbedingt die "DoNothing.spin" ausgeführt werden sollte, um alle ports definiert auf Eingang zu setzen.
Wenn dies wirklich zwingend nötig ist, bedeutet es, daß ein reset nicht zwangsläufig die Ports auf Eingang setzt.
Dies könnte auch eine Erklärung für die zerschossenen SD-Cards sein.
Anbei der Test zur Parameterübergabe mit mikrigen Erläuterungen.
Dateianhänge
c2h.rar
(566 Bytes) 542-mal heruntergeladen
Antworten