CS2 und der MemoryExtension Slot
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- IDE-Frickler und Berufspessimist
- Beiträge: 464
- Registriert: Samstag 27. Juli 2002, 21:13
Wenn Du ein Speicheroszi hast, mach doch mal folgendes:
Kanal 1: Pin1 von IC5 (74LVC541, CAM Block)
Kanal 2: Pin19 von IH9 (74LVC245, halt der Ausgang von unserem ominösen Gatter).
Box booten. Wenn der CAM Treiber geladen wird ("cam.c,v 1.22 2003/01/14 10:26:36 jolt Exp" im Bootlog), sollte auf Kanal 1 ein LOW-Inpuls einer bestimmten Länge zu sehen sein (wie lang genau, keine Ahnung, ich weiß nicht wie lange die CPU braucht, um 128KB in das SRAM zu schreiben).
Was passiert in dieser Zeit mit unserem Kanal 2?
RR4711
Kanal 1: Pin1 von IC5 (74LVC541, CAM Block)
Kanal 2: Pin19 von IH9 (74LVC245, halt der Ausgang von unserem ominösen Gatter).
Box booten. Wenn der CAM Treiber geladen wird ("cam.c,v 1.22 2003/01/14 10:26:36 jolt Exp" im Bootlog), sollte auf Kanal 1 ein LOW-Inpuls einer bestimmten Länge zu sehen sein (wie lang genau, keine Ahnung, ich weiß nicht wie lange die CPU braucht, um 128KB in das SRAM zu schreiben).
Was passiert in dieser Zeit mit unserem Kanal 2?
RR4711
Astra 19.2/Hotbird 13.0
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- GOD
- Beiträge: 409
- Registriert: Sonntag 22. Juli 2001, 00:00
so wird das auch nichts ...Liontamer hat geschrieben:Achja, wenn ich die GPL_A4 Leitung mit einer Logic abhängig von CS2 mache, kommt die dbox erst garnicht auf die Füße. Es sieht so aus, als wäre der Bootloader defekt.
Geht also leider auch nicht so einfach.
der Hostcontrollblock ist ja zur Zeit abhängig von UPMA (über die GPL_A4)
also entweder RAM Zugriff (UPMA) oder Hostcontrol Zugriff (GPCM/UPMB)
du willst jetzt aber direkt auf Daten-/Adressleitungen zugreifen über CS2 mit GPCM ... also stört der Hostcontrolblock ....
also darfst du nicht die GPL_A4 von CS2 abhängig machen,
sondern die OE des Hostcontrol mit GPL_A4 & CS2
(oder ich hab dich da falsch verstanden.. bzw ich weiss ja nicht, wie die Abhängigkeit aussah ...)
mal in Schaltplan schau ...
ich würde die CS2 mal auf IH16-1 PIN1 legen
(also mal OPB da wegnehmen)
... zum testen sollte das reichen ...
somit erreichts du, wenn CS2 oder GPL_A4 low ist ... der Hostcontrolblock inaktiv ist ...
2. Möglichkeit
du nimmst Host-Daten/Adressleitungen ...
... ist mehr Arbeit, da du ja Erweitung nehmen willst ....
(fällt damit weg )
... anders wirste nicht auf einen Grünen-Zweig kommen ...
cu
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
@MHC
Ich hab mich vielleicht auch falsch ausgedrückt.
Ich hab vor den OE der Buffer im Host Controll eine zusätzliche Logic geschaltet. Diese hab ich mit CS2 verknüpft.
Das sollte bewirken, daß bei aktivem CS2 die OE der Buffer inaktiv werden. Das funktioniert wohl auch so weit.
Nur leider kann die Box (aus mir unbekannten Gründen) nicht booten.
Ich hab mich vielleicht auch falsch ausgedrückt.
Ich hab vor den OE der Buffer im Host Controll eine zusätzliche Logic geschaltet. Diese hab ich mit CS2 verknüpft.
Das sollte bewirken, daß bei aktivem CS2 die OE der Buffer inaktiv werden. Das funktioniert wohl auch so weit.
Nur leider kann die Box (aus mir unbekannten Gründen) nicht booten.
-
- GOD
- Beiträge: 409
- Registriert: Sonntag 22. Juli 2001, 00:00
mhh ...Liontamer hat geschrieben:@MHC
Ich hab mich vielleicht auch falsch ausgedrückt.
Ich hab vor den OE der Buffer im Host Controll eine zusätzliche Logic geschaltet. Diese hab ich mit CS2 verknüpft.
Das sollte bewirken, daß bei aktivem CS2 die OE der Buffer inaktiv werden. Das funktioniert wohl auch so weit.
Nur leider kann die Box (aus mir unbekannten Gründen) nicht booten.
beim booten wird ja über CS2 getestet, ob Ram-Erweiterung vorhanden ist .. stört das vielleicht ?
cu
-
- Interessierter
- Beiträge: 47
- Registriert: Dienstag 28. August 2001, 00:00
-
- GOD
- Beiträge: 409
- Registriert: Sonntag 22. Juli 2001, 00:00
-
- IDE-Frickler und Berufspessimist
- Beiträge: 464
- Registriert: Samstag 27. Juli 2002, 21:13
Punkt für Dich !MHC hat geschrieben:und ich rede nicht vom ppcboot, sondern vom orig. BN-Loader ...
Habt ihr eigentlich ein disassembliertes Listing vom Bootloader ? Oder einen guten disassembler ?
Ich würde gerne etwas tiefer in die Materie einsteigen.
Vielleicht kann sich ja mal jemand mit mir in Verbindung setzen.
Ja, ich hab das
http://tuxbox.berlios.de/forum/viewtopic.php?t=15709
gelesen....
RR4711
Astra 19.2/Hotbird 13.0
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
-
- Interessierter
- Beiträge: 47
- Registriert: Dienstag 28. August 2001, 00:00
..muss man ja leider zugebenRudi Ratlos 4711 hat geschrieben:[Punkt für Dich !
Aber allzuviel vom Bootloader sollte da nicht mehr stören.
Ich denke wenn jmd. ein (gutes) Listing vom Bootlader hätte, dann wäre die Signaturprüfung evtl. bekannt & das Geraffel um die Kiste in den Debug Mode zu bekommen nicht mehr notwedig!?
scotty
-
- GOD
- Beiträge: 409
- Registriert: Sonntag 22. Juli 2001, 00:00
mhh IDA ist gut http://www.datarescue.com/Rudi Ratlos 4711 hat geschrieben:Oder einen guten disassembler ?
cu
-
- IDE-Frickler und Berufspessimist
- Beiträge: 464
- Registriert: Samstag 27. Juli 2002, 21:13
Ist fraglich, ob das auch rechtlich zulässig ist (ausspähen von Daten / Betreibsgeheimnissen) ?!?scotty hat geschrieben:wäre die Signaturprüfung evtl. bekannt & das Geraffel um die Kiste in den Debug Mode zu bekommen nicht mehr notwedig!?
RR4711
Astra 19.2/Hotbird 13.0
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
-
- IDE-Frickler und Berufspessimist
- Beiträge: 464
- Registriert: Samstag 27. Juli 2002, 21:13
-
- Einsteiger
- Beiträge: 246
- Registriert: Freitag 4. Oktober 2002, 11:35
-
- GOD
- Beiträge: 409
- Registriert: Sonntag 22. Juli 2001, 00:00
... sollte das jetzt ein Scherz sein ?Rudi Ratlos 4711 hat geschrieben:Wo iss denn der Entrypoint im Bootloader ?
RR4711
der MPC startet bei 0x100
von dort aus gehts dann ungefähr so weiter
Code: Alles auswählen
EntryPoint
EntryPoint # ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
EntryPoint
EntryPoint
EntryPoint EntryPoint:
EntryPoint lis r3, _init >> 16 # Load Immediate Shifted
EntryPoint+4 addi r3, r3, _init & 0xFFFF # Add Immediate
EntryPoint+8 mtlr r3 # Move to link register
EntryPoint+C blr # Branch unconditionally
EntryPoint+C # End of function EntryPoint
EntryPoint+C
EntryPoint+C # ---------------------------------------------------------------------------
Code: Alles auswählen
__init: #
dccsr = 568 # data cache control and status register
immr = 638
li r0, 0 # Load Immediate
mfspr r3, dccsr # Move from Special Purpose Register
mr r8, r3 # r8 = dccsr
lis r3, 0x400 # Load Immediate Shifted
mtspr dccsr, r3 # Move to Special Purpose Register
mfspr r4, immr # Move from Special Purpose Register
andis. r4, r4, 0xFFFF # r4 = immr
lis r3, 0xFFFF # Load Immediate Shifted
ori r3, r3, 0xFF8F # OR Immediate
stw r3, 4(r4) # sypcr = 0xFFFFFF8F
lwz r20, 0x284(r4) # PLPRCR in r20
lis r3, 0x8000 # MF = 2048
# >> clklout = (MF+1) * 32.768kHz (= 67141632Hz)
stw r3, 0x284(r4) # PLPRCR
lis r5, UPMA_sdram >> 16 # Load Immediate Shifted
ori r5, r5, UPMA_sdram & 0xFFFF # OR Immediate
lis r6, UPMB_sdram >> 16 # Load Immediate Shifted
ori r6, r6, UPMB_sdram & 0xFFFF # OR Immediate
subf r7, r5, r6 # Subtract from
srawi r7, r7, 2 # Shift Right Algebraic Word Immediate
li r6, 0 # UPMA
_reloc_UPMA: # __init+68j
lwz r3, 0(r5) # Load Word and Zero
stw r3, 0x17C(r4) # mdr
stw r6, 0x168(r4) # mcr
addi r5, r5, 4 # Add Immediate
addi r6, r6, 1 # Add Immediate
cmpw r6, r7 # Compare Word
blt _reloc_UPMA # Branch if less than
lis r5, UPMB_sdram >> 16 # Load Immediate Shifted
ori r5, r5, UPMB_sdram & 0xFFFF # OR Immediate
lis r6, Image_Rom >> 16 # Load Immediate Shifted
ori r6, r6, Image_Rom & 0xFFFF # OR Immediate
subf r7, r5, r6 # Subtract from
srawi r7, r7, 2 # Shift Right Algebraic Word Immediate
oris r7, r7, 0x80 # OR Immediate Shifted
lis r6, 0x80 # '€' # UPMB
_reloc_UPMB: # __init+A4j
lwz r3, 0(r5) # Load Word and Zero
stw r3, 0x17C(r4) # mdr
stw r6, 0x168(r4) # mcr
addi r5, r5, 4 # Add Immediate
addi r6, r6, 1 # Add Immediate
cmpw r6, r7 # Compare Word
blt _reloc_UPMB # Branch if less than
lis r3, 0x1000 # Load Immediate Shifted
ori r3, r3, 1 # br_v
lis r5, 0xFF80 # Load Immediate Shifted
ori r5, r5, 0x954 # OR Immediate
stw r3, 0x100(r4) # br0 = 0x10000001
stw r5, 0x104(r4) # or0 = 0xFF800954
lis r3, 0 # Load Immediate Shifted
ori r3, r3, 0x81 # OR Immediate
lis r5, 0xFF00 # Load Immediate Shifted
ori r5, r5, 0xA08 # OR Immediate
stw r3, 0x108(r4) # br1 = 0x00000081
stw r5, 0x10C(r4) # or1 = 0xFF000A08
lis r3, 0xC00 # Load Immediate Shifted
ori r3, r3, 0x401 # OR Immediate
lis r5, 0xFFFE # Load Immediate Shifted
ori r5, r5, 0x954 # OR Immediate
stw r3, 0x118(r4) # br3 = 0x0C000401
stw r5, 0x11C(r4) # or3 = 0xFFFE0954
lis r3, 0xC02 # Load Immediate Shifted
ori r3, r3, 0x401 # OR Immediate
lis r5, 0xFFFF # Load Immediate Shifted
ori r5, r5, 0x954 # OR Immediate
stw r3, 0x130(r4) # br6 = 0x0C020401
stw r5, 0x134(r4) # or6 = 0xFFFF0954
lis r3, 0xA00 # Load Immediate Shifted
ori r3, r3, 0x4C1 # OR Immediate
lis r5, 0xFFFF # Load Immediate Shifted
ori r5, r5, 0x8FFC # OR Immediate
stw r3, 0x120(r4) # br4 = 0x0A0004C1
stw r5, 0x124(r4) # or4 = 0xFFFF8FFC
lis r3, 0x800 # Load Immediate Shifted
ori r3, r3, 0x8C1 # OR Immediate
lis r5, 0xFF00 # Load Immediate Shifted
ori r5, r5, 0x9F8 # OR Immediate
stw r3, 0x128(r4) # br5 = 0x080008C1
stw r5, 0x12C(r4) # or5 = 0xFF0009F8
lis r3, 0xB00 # Load Immediate Shifted
ori r3, r3, 0x4C1 # OR Immediate
lis r5, 0xFFFF # Load Immediate Shifted
ori r5, r5, 0x8F46 # OR Immediate
stw r3, 0x138(r4) # br7 = 0x0B0004C1
stw r5, 0x13C(r4) # or7 = 0xFFFF8F46
li r3, 0x400 # Load Immediate
sth r3, 0x17A(r4) # mptpr = 0x0400 (Divide by 16)
lis r3, 0x6480 # Load Immediate Shifted
ori r3, r3, 0x2114 # OR Immediate
stw r3, 0x170(r4) # mamr = 0x64802114 >>
# periodTimer = 0x64
# periodTimerA_enable(ptae) = 1
# AMA = 0 0 0 , DSA = 0 0
# g0cla = 0 0 1 ( GPL0 > A11)
# rfla > 16 Times
# wfla > 1 Time
# tlfa > 4 Times
lis r3, 0 # Load Immediate Shifted
ori r3, r3, 0x88 # OR Immediate
stw r3, 0x164(r4) # mar = 0x00000088
lis r3, 0x8000 # Load Immediate Shifted
ori r3, r3, 0x2105 # OR Immediate
stw r3, 0x168(r4) # mcr = 0x80002105
lis r3, 0x8000 # Load Immediate Shifted
ori r3, r3, 0x4105 # OR Immediate
stw r3, 0x168(r4) # mcr = 0x80004105
lis r3, 0x6480 # Load Immediate Shifted
ori r3, r3, 0x2118 # OR Immediate
stw r3, 0x170(r4) # mamr = 0x64802118 (tlfa 15 Times)
lis r3, 0x8000 # Load Immediate Shifted
ori r3, r3, 0x2130 # OR Immediate
stw r3, 0x168(r4) # mcr = 0x80002130
lis r3, 0x8000 # Load Immediate Shifted
ori r3, r3, 0x4130 # OR Immediate
stw r3, 0x168(r4) # mcr = 0x80004130
lis r3, 0x6480 # Load Immediate Shifted
ori r3, r3, 0x2114 # OR Immediate
stw r3, 0x170(r4) # mamr = 0x64802114 (tlfa 4 Times)
lis r3, 0x123 # Load Immediate Shifted
ori r3, r3, 0x4567 # r3 = 0x01234567
li r5, 0 # Load Immediate
stw r3, 0(r5) # write 0x01234567 an Adresse 0x0
lis r6, 0x40 # '@' # Load Immediate Shifted
stw r5, 0(r6) # write 0x0 an Adresse 0x00400000
lwz r6, 0(r5) # r6 = Wert von Adresse 0x0
cmpw cr1, r6, r3 # ist Adresse 0x0 = 0x01234567 ?
beq cr1, _8col_Ram # Branch if equal
lis r3, 0x6490 # Load Immediate Shifted
ori r3, r3, 0x4114 # OR Immediate
stw r3, 0x170(r4) # mamr = 0x64904114 (AMA = 0 0 1;GPL0 > A10)
# 9col_RAM
lis r5, 0xFE00 # Load Immediate Shifted
ori r5, r5, 0xA08 # OR Immediate
stw r5, 0x10C(r4) # or1 = 0xFE000A08
_8col_Ram: # __init+1D8j
lis r5, 0 # Load Immediate Shifted
mr r5, r5 # Move Register
stw r20, 0(r5) # old PLPCR in r5
lis r3, 0 # Load Immediate Shifted
ori r3, r3, 0x1020 # OR Immediate
stw r3, 0x174(r4) # mbmr =0x00001020
lwz r3, 0(r4) # siumcr
lis r5, 3 # Load Immediate Shifted
ori r5, r5, 0x40 # OR Immediate
or r3, r3, r5 # siumcr or 0x00030040
stw r3, 0(r4) # store siumcr
li r3, 0x82 # '‚' # Load Immediate
sth r3, 0x240(r4) # pisrc = 0x0082
lis r3, 0 # Load Immediate Shifted
ori r3, r3, 0x1002 # mtmsr und mtsrr1 = 0x00001002
mtmsr r3 # Move to Machine State Register
mtsrr1 r3 # Move to status save/restore register 1
lis r3, 0 # Load Immediate Shifted
ori r3, r3, 7 # ictrl = 0x00000007
mtspr ictrl, r3 # Move to Special Purpose Register
lis r3, 0 # Load Immediate Shifted
mr r3, r3 # der = 0x0
mtspr der, r3 # Move to Special Purpose Register
lis r3, 0 # Load Immediate Shifted
mr r3, r3 # ecr = 0x0
mtspr ecr, r3 # Move to Special Purpose Register
mfmsr r3 # Move from Machine State Register
andi. r3, r3, 0xFFBF # mtmsr and 0xFFBF
mtmsr r3 # Move to Machine State Register
mfspr r3, iccsr # Move from Special Purpose Register
andis. r3, r3, 0x8000 # iccsr and 0x8000
beq __init_280 # Branch if equal
lis r3, 0x400 # Load Immediate Shifted
mtspr iccsr, r3 # Move to Special Purpose Register
isync # Instruction Synchronize
......
cu
-
- IDE-Frickler und Berufspessimist
- Beiträge: 464
- Registriert: Samstag 27. Juli 2002, 21:13
0x100 war auch mein erster Gedanke. Und: Das sieht ja scheiße aus.... *ggg*
RR4711
RR4711
Astra 19.2/Hotbird 13.0
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
Da wir wohl über den Weg der Software nicht wirklich weiter kommen, mach ich mir mal wieder ein paar Gedanken, wie das über Hardware realisierbar wäre.
Im Prinzip funktioniert ja die Lösung, so wie ich mir das gedacht habe. Leider bottet die Box damit nicht. Es darf der OE der Treiber also erst dann von CS2 abhängig gemacht werden, wenn der Bootloader alles initialiesiert hat.
Im Moment sieht es ja so aus:
Das linke Gatter wurde von mir zusätzlich eingesetzt.
Im Prinzip funktioniert ja die Lösung, so wie ich mir das gedacht habe. Leider bottet die Box damit nicht. Es darf der OE der Treiber also erst dann von CS2 abhängig gemacht werden, wenn der Bootloader alles initialiesiert hat.
Im Moment sieht es ja so aus:
Das linke Gatter wurde von mir zusätzlich eingesetzt.
-
- IDE-Frickler und Berufspessimist
- Beiträge: 464
- Registriert: Samstag 27. Juli 2002, 21:13
Joh, und noch nicht mal richtig gelesen. Wenn, dann erstmal für Nokia, da Doku vorhanden.
Aber bis dahin haben wir noch ein gutes Stück Arbeit vor uns....
RR4711
Aber bis dahin haben wir noch ein gutes Stück Arbeit vor uns....
RR4711
Astra 19.2/Hotbird 13.0
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
Philips SAT 2xI Avia 600/eNX mit heilem Frontpanel-Prozessor aber irgendwas anderem kaputt
Philips SAT 2xI Avia 600/eNX Base 1.6.3/ CRAMFS vom 28.11.2002
Nokia SAT 2xI Avia 500/GTX 32/32/8 BMON1.0/jffs2 Head 28.01.03
-
- GOD
- Beiträge: 409
- Registriert: Sonntag 22. Juli 2001, 00:00
... ja dachte ich mirLiontamer hat geschrieben:Da wir wohl über den Weg der Software nicht wirklich weiter kommen, mach ich mir mal wieder ein paar Gedanken, wie das über Hardware realisierbar wäre.
Im Prinzip funktioniert ja die Lösung, so wie ich mir das gedacht habe. Leider bottet die Box damit nicht. Es darf der OE der Treiber also erst dann von CS2 abhängig gemacht werden, wenn der Bootloader alles initialiesiert hat.
Im Moment sieht es ja so aus:
http://dbox.devh.de/logik.gif
Das linke Gatter wurde von mir zusätzlich eingesetzt.
bleibt mal zu testen, ob der Loader nur wegen CS2 nicht bootet ....
Möglichkeit wär den Loader zu patchen ... ich habs mal gemacht
und den erw.-Ram-test übersprungen (ich hab ne 16/16)
Nachteil: im Loader steht dann 0/0 ....
siehe da
Code: Alles auswählen
debug: DDF: Calibrating delay loop... debug: DDF: 67.79 BogoMIPS
debug: BMon V1.2 mID 01
debug: feID dd gtxID 0b
debug: fpID 5a dsID 01-41.94.d1.06.00.00-88
debug: HWrev 04 FPrev 0.81
debug: B/Ex/Fl(MB) 00/00/08
WATCHDOG reset enabled
dbox2:root> Branching to 0x40000
U-Boot 0.2.1 (TuxBox) (Mar 18 2003 - 23:37:12)
CPU: PPC823ZTnnA at 67.100 MHz: 2 kB I-Cache 1 kB D-Cache
*** Warning: CPU Core has Silicon Bugs -- Check the Errata ***
Board: DBOX2, Nokia
Watchdog enabled
I2C: ready
DRAM: 16 MB
FLASH: 8 MB
LCD: ready
In: serial
Out: serial
Err: serial
Net: SCC ETHERNET
Options:
1: console on ttyS0
2: console on fb0
3: console on null
Select option (1-3), other keys to stop autoboot: 0
=> md ff000100 10
ff000100: 10000001 ff800954 00000081 ff000a08 .......T........
ff000110: 99dfff00 00808706 0c000401 fffe0954 ...............T
ff000120: 0a000401 ffff8f8c 080008c1 ff0009f8 ................
ff000130: 0c020401 ffff0954 dfb2dd80 0c80ae30 .......T.......0
=>
wenn Du Lust hast, kann ich dir sagen, was man patchen muss
... ich muss nur wissen, welche Box mit welchen Loader ...
in meinem Beispiel ist es ne Nokia mit Bmon1.2
und da muss im Loader an Adresse 0x10002960
von 0x48000451 in 0x60000000 geändert werden
cu
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
Äm.
Ich soll an meinem Bootloader rumspielen???
Dann aber lieber mit der "A20 des Flash es auf VCC" Methode. Da, wo der Bootloader an eine bestimmte Adresse im Flash kopiert wird. (Was liegt da eigentlich normalerweise? Das Image wird dann überschrieben, oder?)
Nachtrag: Ich hab das hier in einem anderen Thread gefunden (Danke an SoLaLa)
Ist eigentlich soweit klar. Aber was meint er mit "manuell den bootloader laden" ??
Ich würde so vergehen:
Und danach die Box mit A20 auf High booten lassen - der gepatchte Bootloader wird geladen.
Hab übrigens eine Nokia mit Bmon1.0
Ich soll an meinem Bootloader rumspielen???
Dann aber lieber mit der "A20 des Flash es auf VCC" Methode. Da, wo der Bootloader an eine bestimmte Adresse im Flash kopiert wird. (Was liegt da eigentlich normalerweise? Das Image wird dann überschrieben, oder?)
Nachtrag: Ich hab das hier in einem anderen Thread gefunden (Danke an SoLaLa)
Code: Alles auswählen
-box mit nem ppcboot116 starten und mittendrin abbrechen
-am prompt dbox2-ppcboot> manuell den bootloader laden
-bootloader ins Flash an adresse 10400000 kopieren
-Adreßleitung A20 lokalisieren (liegt an RH36)
-RH36 mit Meßstrippe auf "high" (3,3V legen)
-box resetten und schaun ob die Kiste mit dem BMon an 10400000 bootet
Ich würde so vergehen:
Code: Alles auswählen
cp 10000000 01000000 8000
Den entsprechenden Bereich im RAM patchen
protect off 10400000 1041FFFF
erase 10400000 1041FFFF
cp 01000000 10400000 8000
protect on 10400000 1041FFFF
Hab übrigens eine Nokia mit Bmon1.0
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Tuxboxer
- Beiträge: 6119
- Registriert: Mittwoch 3. April 2002, 00:32
hi Liontamer
in dem zitierten thread gings ja darum einen ANDEREN bootloader in der box zu testen ohne den vorhandenen überschreiben zu müssen. Deshalb mit dem ppcboot den zu testenden bootloader übers Netzwerk manuell laden (mit bootp 01000000 /c/bootloader.img....)
in Deinem Fall gehts ja jetzt darum den VORHANDENEN bootloader zu patchen. Da brauchst natürlich nur per copy den bootloader von 10000000 nach 10400000 kopieren und dann dort patchen.
Und natürlich wird ein vorhandenes image dann in dem bereich überschrieben und ist damit unbrauchbar. Falls Du mit dieser Methode über längere zeit bissi testen willst, dann löte vorsichtshalber RH35/RH36 solange aus damit die Bustreiber nicht so stark belastet werden.
oder machs einfach andersrum: bootloader als Sicherungskopie auf 10400000 ablegen und dann im originalbereich solange rumpatchen wie Du lustig bist. Wenn dann mal irgendwas nicht mehr geht, dann kannst das Backup ja wieder in den originalbereich zurückkopieren
in dem zitierten thread gings ja darum einen ANDEREN bootloader in der box zu testen ohne den vorhandenen überschreiben zu müssen. Deshalb mit dem ppcboot den zu testenden bootloader übers Netzwerk manuell laden (mit bootp 01000000 /c/bootloader.img....)
in Deinem Fall gehts ja jetzt darum den VORHANDENEN bootloader zu patchen. Da brauchst natürlich nur per copy den bootloader von 10000000 nach 10400000 kopieren und dann dort patchen.
Und natürlich wird ein vorhandenes image dann in dem bereich überschrieben und ist damit unbrauchbar. Falls Du mit dieser Methode über längere zeit bissi testen willst, dann löte vorsichtshalber RH35/RH36 solange aus damit die Bustreiber nicht so stark belastet werden.
oder machs einfach andersrum: bootloader als Sicherungskopie auf 10400000 ablegen und dann im originalbereich solange rumpatchen wie Du lustig bist. Wenn dann mal irgendwas nicht mehr geht, dann kannst das Backup ja wieder in den originalbereich zurückkopieren
never change a running system
-
- Klöppelliese
- Beiträge: 1644
- Registriert: Donnerstag 8. August 2002, 12:51
-
- Tuxboxer
- Beiträge: 6119
- Registriert: Mittwoch 3. April 2002, 00:32