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. :SCHRAUBEN
47 longs habe ich noch zur korrektur frei :twisted:

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. :DAUMENHOCH

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 :(
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. :D
2013-09-21_00-39-49_81.jpg
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.