PASM Bootloader

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!

Braucht der HIVE einen PASM Bootloader?

Umfrage endete am Fr 20. Sep 2013, 21:02

nein der SPINN-Loader reicht vollkommen aus
1
33%
Ja es wird Zeit
2
67%
Ist mir Wurscht.
0
Keine Stimmen
 
Insgesamt abgegebene Stimmen: 3

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

Re: PASM Bootloader

Beitrag von PIC18F2550 »

Neue Bitmap.png
Neue Bitmap.png (7.56 KiB) 11687 mal betrachtet

Code: Alles auswählen

06CE(0195)             |           fit     $1F0
06CE(0195)             | There are 90 ($05A) Longs left in the cog
Jetzt muß nur noch die Routinen zum laden von Bellatrix rein.
Da müssten die 90 longs doch ausreichen.

@zille9
mach dir darüber keine Gedanken in manchen Dingen habe Sie ja Recht.
Ich brauch manchmal eine Bremse da mein Hirn ständig unter Strom steht. ;)
Und es sind ja teilweise auch nur Gedankenfragmente, mit dehnen nicht jeder was anfangen kann.
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
BorgKönig
Beiträge: 598
Registriert: So 24. Mai 2009, 11:24

Re: PASM Bootloader

Beitrag von BorgKönig »

sooo... zeit für nen statement aus einem teil des teams ;)

ich mag die experimente von pic. den bootloader kann man durchaus flotter und kleiner machen. bis ich (m)ein hive wieder flott habe, dauerts noch etwas. dann bastel ich auch wieder mit... wobei ich aber lieber löte, als progge ;)

aber nun zur "kehrseite" von tuxfan:

auch dies ist berechtigt. ich hätte auch gerne eine übersicht, am besten in "denkbilder". ich muss etwas "anfassen" können, damit ichs verstehe. ich "fasse" es an und "baue" es nach, damit ichs verstehe.

---

ich denke hier treffen, wie in vielen projekten, verschiedene lern-/ versteh strukturen zusammen... der optische, der nur hinsehen/ lesen braucht. jemand, der etwas hört und es umsetzen kann; der haptische, der lieber selbst die finger im spiel hat und zuletzt der autodidaktische, der mit ner anleitung oder so was bauen kann...
Benutzeravatar
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: PASM Bootloader

Beitrag von zille9 »

BorgKönig hat geschrieben:ich denke hier treffen, wie in vielen projekten, verschiedene lern-/ versteh strukturen zusammen... der optische, der nur hinsehen/ lesen braucht. jemand, der etwas hört und es umsetzen kann; der haptische, der lieber selbst die finger im spiel hat und zuletzt der autodidaktische, der mit ner anleitung oder so was bauen kann...
Genau das ist der Quell aus dem wir schöpfen müssen, daraus entsteht etwas Großartiges. :DAUMENHOCH

Ich bin der optische und probier bis nichts mehr geht-Typ, deshalb kann ich Pic's Gedankensprüngen zwar nicht immer ganz folgen aber mir gefällt sein Entdeckerdrang, genau das brauchen wir hier, Leute die auch mal um die Ecke denken können. Manche Ideen werden ohne solche Querdenker nie geboren.
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Benutzeravatar
TuxFan
Beiträge: 1024
Registriert: So 6. Sep 2009, 11:18

Re: PASM Bootloader

Beitrag von TuxFan »

zille9 hat geschrieben:..............Die besten Ideen entstehen nunmal in der Gemeinschaft. Gerade die unterschiedlichen Denkansätze sind der Quell von neuen Ideen und sollte nicht durch ständiges nörgeln oder klein reden zum erliegen gebracht werden. Jeder hat nun mal das Recht auf eine eigene Meinung also sollten wir es auch anderen zugestehen......
Hab ich das irgendwo in Abrede gestellt? Und nichts anderes als das Recht auf eigene Meinung beanspruche ich auch für mich selber. Auch Kritik ist freie Meinungsäußerung........ :x
zille9 hat geschrieben:..............Tut mir leid Tux-Fan, ich möchte Dich wirklich nicht angreifen aber ich habe das Gefühl, Du wartest nur auf einen Tread von Pic um loszuschlagen..........
Ja, genauso ist es, das ist meine angeborene Boshaftigkeit....... :twisted:
Und Tschüss...................
Wunder gibt es immer wieder.......
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: PASM Bootloader

Beitrag von PIC18F2550 »

kleiner Zwischenstand:deletet old DATA
Wenn das so weitergeht werd ich erstmal Urlaub machen müssen echt. :(

Kann mir jemand das erklähren?
Werde im moment nicht schlau daraus.

Code: Alles auswählen

SINT        long  ($0001 << 18) | ($3C01 << 4)                       ' Spin interpreter boot information.
SMARK       long  $FFF9FFFF                                          ' Stack mark used for spin code.
Zuletzt geändert von PIC18F2550 am Di 17. Sep 2013, 12:27, insgesamt 1-mal geändert.
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
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: PASM Bootloader

Beitrag von zille9 »

PIC18F2550 hat geschrieben:SINT        long  ($0001 << 18) | ($3C01 << 4)                       ' Spin interpreter boot information.
Ich vermute mal, das ist die Adresse, ab der der Interpreter das geladene Programm abarbeiten soll aber das müsste Dir Drohne235 genau sagen können, von ihm ist der Code.
PIC18F2550 hat geschrieben:SMARK       long  $FFF9FFFF                                          ' Stack mark used for spin code.
keine Ahnung!!! :?:
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: PASM Bootloader

Beitrag von PIC18F2550 »

Warum SINT kein festwert ist, ist für mich auch erstmal nicht nachvollziebar.
SMARK verwende ich z.Z. nicht wüsste aber gern was damit zu machen ist.
Mal sehn wan drohne235 ein bisschen Zeit hat um das mir zu erläutern.

Mal in die Datei reingeschaut.:)
ist alles noch ungetestet da ich noch einen brauchbaren debugger für PASM suche.
Aber erst ein mal will ich den Bellatrixloader reinbauen dann wird zerlegt und auf Herz und Nieren geteste.
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
zille9
Beiträge: 399
Registriert: Do 4. Okt 2012, 21:56
Wohnort: Berlin

Re: PASM Bootloader

Beitrag von zille9 »

PIC18F2550 hat geschrieben:Mal in die Datei reingeschaut.
Jo, hab gerade etwas im Code geschnuppert. Wollte auch vorschlagen, erst mal einen Chip mit dem Loader zu versorgen zum Test. Alle drei auf einmal macht die Fehlersuche nur schwerer.
Ersetz doch erst mal den Regnatixloader, die anderen Chips haben ja ihre eigenen und brauchen nur per Befehl gestartet zu werden, so kann man gleich am offenen Herzen operieren. Du hattest doch schon erste Erfolge (Plexus-Startbild kam doch oder?). Die eigentliche Plexus.dll (also das Hauptprogramm), lädt ja über den Loader das Programm nach, das könnte man ja testweise anpassen. So kann man das Grundprinzip ausgiebig testen und sieht auch gleich,ob was passiert oder nicht.
Computer lösen die Probleme, die man ohne sie gar nicht hätte!
Benutzeravatar
kuroneko
Beiträge: 202
Registriert: Sa 22. Okt 2011, 13:05
Wohnort: FN, Germany

Re: PASM Bootloader

Beitrag von kuroneko »

PIC18F2550 hat geschrieben:Kann mir jemand das erklähren?
Werde im moment nicht schlau daraus.

Code: Alles auswählen

SINT        long  ($0001 << 18) | ($3C01 << 4)                       ' Spin interpreter boot information.
SMARK       long  $FFF9FFFF                                          ' Stack mark used for spin code.
Wie sieht's hiermit aus:

Code: Alles auswählen

spin            long    $0004 << 16 | $F004 << 2 | %0000
mark            long    $FFF9FFFF
SINT oder spin ist ein vorgefertigter Wert fuer coginit, par in den oberen 14bit (16bit, 4n) und der eigentliche code (PASM, $F004: SPIN interpreter) in den folgenden 14bit (16bit, 4n). Die verbleibenden 4bit sind fuer die cog ID (%0ccc) oder cognew (%1---). Der $FFF9FFFF Marker bewirkt, dass die erste PUB method den cog stoppt wenn sie beended wird, m.a.W. ab Adresse $FFF9 steht der byte code zum Runterfahren des aktuellen cogs. Unter dem folgenden Link sind die Quellen fuer den completten ROM code zu finden:

http://forums.parallax.com/showthread.p ... -code-HERE

Ansonsten, e.g. mov reg_a, $7 ist definitiv nicht das gleiche wie mov reg_a, #$7. Und nur mal als Gedankenexperiment, stell Dir vor der Loader laeuft auf cog 4. Wieviele cogs schaltet Dein Code dann ab?
Benutzeravatar
PIC18F2550
Beiträge: 2851
Registriert: Fr 30. Sep 2011, 13:08

Re: PASM Bootloader

Beitrag von PIC18F2550 »

kuroneko hat geschrieben:Wieviele cogs schaltet Dein Code dann ab?
alle auser sich selbst.
Wenn er nicht gebraucht wird kann er über die COGID die in der Zelle 7FFF gespeichert ist abgeschaltet werden.

interpreter long $0001 << 18 + $3C01 << 4 + %0000
interpreter long par << 18 + INTERP << 4 + COGID

$3C01 = $F004 --->> long / Byte :SCHREIEN logisch der COG arbeitet ja im long Format.

par Zeiger wert muß der in long oder byte sein

COGID von 0 - 7? weil 8 bit freigehalten werden :shock: ist doch irgendwie 1 Bit zuviel oder habe ich was übersehen.

Also muss ich erst einen freien COG suchen um ihn dann anschließend zu starten.

mit dem syntax binn ich immer noch am kämpfen :(
mov reg_a, $4 'direktwert in reg_a schreiben
mov reg_a, #$4 'inhalt des in long $4 enthaltenden wertes laden
mov reg_a, @wert 'adresse wo wert gespeichert ist laden (0-1FF)direktwert

:idea: wenn ich die long konformen arrays nach vorn bringe kann ich mit @ arbeiten muss ich mal testen.
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