Seite 4 von 9
Re: PASM Bootloader
Verfasst: Mi 18. Sep 2013, 23:48
von kuroneko
PIC18F2550 hat geschrieben:Was meinst Du mit "Marker setzen und VAR loeschen"? :oops:
EEPROM Files haben den Stackmarker ($FFF9FFFF) schon drin und alle VARiablen sind auf 0 gesetzt. BINARY Files beinhalten "nur" den Code. So in der Regel werden fuer EEPROM 32K uebertragen was den Speicher komplett initialisiert. By (den kuerzeren) BINARY Files fehlen Stackmarker und VARiableninitialisierung (SPIN programme gehen gewoehnlich davon aus, dass VAR alles 0 ist).
Re: PASM Bootloader
Verfasst: Mi 18. Sep 2013, 23:52
von PIC18F2550
Aha da kann ich mir die arbeit und longs sparen wenn ich gleich eeprom-files nehme.
Danke.
jeztz muß ich erstmal den Code in stücken Testen.
hätte ich doch glatt vergessen anzuhängen. Nur für den Fall das das jemand interessiert.
datei gelöscht
Re: PASM Bootloader
Verfasst: Do 19. Sep 2013, 13:12
von PIC18F2550
Im Loder-COG ist erstmal alles drinn ob das auch alles so funktioniert wie ich mir das vorgestellt habe werde ich noch sehen.
datei gelöscht
Genug von der PASM-Theorie jetzt geht es ans Praktische testen.

47 longs habe ich noch zur korrektur frei
Für das Boot-loader-menü muß ich noch ein bisschen was machen hatt aber mit dem PASM-Test nichts gemeinsam.
Re: PASM Bootloader
Verfasst: Do 19. Sep 2013, 18:27
von zille9
Coole Idee mit dem Bootloader-Menü. Bin mal auf das Ergebnis gespannt.

Re: PASM Bootloader
Verfasst: Do 19. Sep 2013, 23:00
von PIC18F2550
@zille9
Grundmaske vom Menü.
Es sind z.Z. 16 Einträge möglich.

- meine Kamera mag kein grün :(
Über die Graphigsymbole muß ich noch mal drüber Nachdenken ob das noch etwas besser geht.
Er währen Masken mit bis zu 60 Einträgen möglich.
datei gelöscht
Re: PASM Bootloader
Verfasst: Fr 20. Sep 2013, 01:29
von kuroneko
Fuer die Fehler Liste am Anfang, warum traegst Du nicht einfach die Adressen ein?
Code: Alles auswählen
LIST long MEL__00, ERRT_01, ERRT_02, ERRT_03
long ERRT_04, ERRT_05, ERRT_06, ERRT_07
long ERRT_08, ERRT_09, ERRT_10, ERRT_11
long ERRT_12, ERRT_13, ERRT_14, ERRT_15
long ERRT_16, ERRT_17, ERRT_18, ERRT_19
long ERRT_20, ERRT_21, ERRT_22, ERRT_23
long ERRT_24, ERRT_25
Und HOME__ & Co kannst Du auch direkt adressieren:
Code: Alles auswählen
mov reg, #PATH_1 ' cog register index of PATH_1
mov reg, PATH_1 ' the data at PATH_1 (first 4 characters)
Über die Graphigsymbole muß ich noch mal drüber Nachdenken ob das noch etwas besser geht.
Da Du anscheinend den ROM Font nutzt nimm doch einfach die Ecken/Kannten die da sind.
Re: PASM Bootloader
Verfasst: Fr 20. Sep 2013, 10:46
von PIC18F2550
Hi kuroneko,
zu 1
Du hast recht Betriebsblindheit --> das Blinden Smilie fehlt immernoch.
zu 2
Hab ich schon gemacht
zu 3
Eigendlich soll mein Graphigtreiber in ASCII sein das ist im aktuellen Bellatrixcode noch nicht vorhanden
Mein Graphigtreiber hatt 128*64 Zeichen die Menüauswahl würde damit auf 58 steigen was ich als durchaus wichtig erachte.
Leider sind einige Funktionen noch nicht realisiert so das ich noch keine sinnvollen Tests damit machen kann.
Für die 2. Ausbaustufe suche ich noch einen VGA-Treiber der alles in seinem COG hatt.
Es reicht eine einzige Zeile mit ca 16 Zeichen.(statusmeldungen)
Re: PASM Bootloader
Verfasst: Fr 20. Sep 2013, 23:45
von PIC18F2550
So kuroneko dein Wunsch wurde entsprochen.

Die Unterverzeichnisse werden geöffnet und geschlossen.
Als nächstes kommt das einlesen der jeweiligen boot.inf datei drann.
Re: PASM Bootloader
Verfasst: Sa 21. Sep 2013, 00:53
von kuroneko
Nur mal zum Aufwaermen ...
Code: Alles auswählen
'#####################################################################################
'# * Copy Dateinahmen
'#####################################################################################
mov reg_b, #$18 ' Datenblock long werte copieren
mov reg_c, PATH_1Z ' Zeiger auf internen Datenblock
nexta
rdlong reg_c, reg_a
add reg_c, #$1
add reg_a, #$1
djnz reg_b, #nexta wz
Die Absicht ist zu erkennen (24 long from hub to cog) aber so wird das nichts ... und ich dachte wir haetten uns geeinigt dass die ******Z labels ueberfluessig sind?
Code: Alles auswählen
loadera
rdlong reg_a, STATUSADR
mov reg_b, reg_a
sub reg_b, #$F wc
if_c jmp #loadera
Du benutzt
cmp anderswo, warum nicht auch hier?
Re: PASM Bootloader
Verfasst: Sa 21. Sep 2013, 23:04
von PIC18F2550
Hi kuroneko,
1. ist noch offen muß ich nochmal drüber schlafen
2. Ist durchgerutscht war mit dem # oder ohne am werkeln.
3.
Code: Alles auswählen
'#####################################################################################
'# * Warten auf Startfreigabe
'#####################################################################################
' ist in STATUSADR nur die COGID gespeichert so gibt es beim sub einen überlauf
loadera
rdword reg_a, STATUSADR
mov reg_b, reg_a
sub reg_b, #$F wc
if_c jmp #loadera
Alle Werte die kleiner als $F sind sind keine Marken wo sich die Pfade und Dateien für den loader befinden.
Werte von 1-7 sind GOGID's vom loader zum schutz gegen versehendlichen löschen des loaders.
Der wert 0 wird nicht verwendet er dient nur zur initalisierung der Speicherzelle.