Bmon, Ih2, Ih5

Diskussionen um Bootloader, Kernel, Busybox
KleinerDieter
Beiträge: 2
Registriert: Sonntag 4. Januar 2004, 15:23

Bmon, Ih2, Ih5

Beitrag von KleinerDieter »

Zuerst mal noch gute Wünsche für es neue Jahr an alle. Ich möchte eine alte Nokia-Box zum Leben wiedererwecken, die hier schon ziemlich lange rumsteht. Zunächst möchte ich den Bootloader erneuern, denn der ist offensichtlich platt (keine serielle Ausgabe, grünes Display etc). Spannungen lt. dbox2hardware liegen korrekt an. Bevor ich nun "wild drauf los experimentiere", möchte ich wissen, ob ich mich richtig durch es Board gelesen habe und meine Schlussfolgerungen soweit richtig sind...

1. Nokia 2xi Avia 600 = Bmon 1.2 (nicht identisch mit dem der Sagem)
2. Bootloader aus einem Image mit selbigem extrahieren (128 KB)
3. diese Datei mit z.B. Winhex wordweise teilen
4. die erste Hälfte kommt in IH2, die andere in IH5
5. die Dateihälften werden dann ab Offset 100000 in den 28F320 geschrieben

Als Eprommer steht ein Galep-4 mit passendem Conitec-Adapter zur Verfügung. Es wäre nett, wenn mich jemand bestätigen oder auch korrigieren könnte, wenn ich einem Denkfehler unterliege. Muss ich die beiden BL-Hälften vor dem Flashen noch swappen ?

Ich bedanke mich für Eure Aufmerksamkeit und Mühe

Euer kleiner Dieter
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

es gibt tatsächlich leute die behaupten man müsste nicht swappen, muss man aber (zumindest bei meinem Programmer)!
Ich kann dir mal mein Prog per Mail schicken, was das korrekte aufteilen automatisch macht.

1. richtig
2. richtig
3. bekommst post wenn ich mailadresse hab
4. richtig
5. falsch, ab Offset 0! Der "Offset 100000" ist die Speicheradresse der Flashs in der DBOX2.
Eifelhirsch
Einsteiger
Einsteiger
Beiträge: 136
Registriert: Samstag 1. Juni 2002, 20:10

Beitrag von Eifelhirsch »

Hi
Ich habe hier ein Programm Split2 damit kann ich den BL in 2 hälften splitten. Dabei bekomme ich 2 Dateien die eine heißt BOOT.EVN die 2. BOOT.ODD
Dazu habe ich mal ein paar fragen:
1.Ist es richtig, das die .EVN in IH2 gehört?
2.in welchen Flash gehört die .EVN bei Phillips 2xI?
3.was hat es mit dem Swappen auf sich? muß ich generell swappen? oder wofür ist das gut?
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Wenn Du den Bootloader mit "cat /dev/mtd/0 > BL.IMG" ausliest und auf den PC überträgst, ist der in Little-Endian Bytefolge.

Der MPC823 ist aber ein PowerPC, braucht also Big-Endian.

Genau hier kommt das Swappen ins Spiel, weil der Progger selber die echte Bytereihenfolge ins Flash pumpt. Danach muß der Kram noch Word-Weise gesplittet werden.


Als Beispiel nehmen wir mal die Bytefolge 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 00

Geswappet wird das zu 22 11 44 33 66 55 88 77 AA 99 CC BB EE DD 00 FF

Das Ganze gesplittet gibt:
IH2 = 22 11 66 55 AA 99 EE DD
IH5 = 44 33 88 77 CC BB 00 FF

IH2 = Philips 7505, IH5 = Philips 7506
There are 10 types of people in the world: those who know binary and those who don't
Eifelhirsch
Einsteiger
Einsteiger
Beiträge: 136
Registriert: Samstag 1. Juni 2002, 20:10

Beitrag von Eifelhirsch »

"cat /dev/mtd/0 > BL.IMG"
ja, genau so hab ich den BL ausgelesen. Müßte doch eigentlich BL.BIN heißen, oder?
Jetzt hab ich das verstanden, den kompletten BL swappen und dann erst Splitten.

Vielen Dank, DieMade, hast mir sehr geholfen :D
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Eifelhirsch hat geschrieben:Müßte doch eigentlich BL.BIN heißen, oder?
Ich kann die Datei auch hugo.doc nennen ;)
There are 10 types of people in the world: those who know binary and those who don't
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

http://www.dboxservice-hallenberg.de/do ... dsplit.exe mein Progra trennt die Datei automatisch richtig
Test
Eifelhirsch
Einsteiger
Einsteiger
Beiträge: 136
Registriert: Samstag 1. Juni 2002, 20:10

Beitrag von Eifelhirsch »

@gurgel
kann mit der Datei nix anfangen. Wenn ich versuche das Prog zu starten tut sich nichts.
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

dat is ja auch nen prog für die commando ebene
du kannst auh die zu splittene datei mit drag'n drop auf die Datei im Explorer ziehen, dann legt er die beiden dateien im selben verzeichnis an
Test
Eifelhirsch
Einsteiger
Einsteiger
Beiträge: 136
Registriert: Samstag 1. Juni 2002, 20:10

Beitrag von Eifelhirsch »

AH, ja, klappt einwandfrei und swappt sogar in einem Arbeitsgang. :D
SUUUPER, Danke dir :D :D
Eifelhirsch
Einsteiger
Einsteiger
Beiträge: 136
Registriert: Samstag 1. Juni 2002, 20:10

Beitrag von Eifelhirsch »

Hätte da nochmal eine Frage an Gurgel

Der ausgelesene BL fängt doch in Zeile 00000100 mit 3C 60 10 00 38 63 02 10an.
Der BL, bearbeitet mit deinem Proggi fängt in Zeile 00000080 mit 60 3C 63 38 68 7C 80 4E an und gehört in 7505 (bei Phillips) bzw in IH2 bei Nokia.
Ist das richtig so?
Da ich das zum erstenmal versuche möchte ich mir ganz sicher gehen um nicht nochmal unnötig löten zu müßen.
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

das ist korrekt
Test
Eifelhirsch
Einsteiger
Einsteiger
Beiträge: 136
Registriert: Samstag 1. Juni 2002, 20:10

Beitrag von Eifelhirsch »

Nochmal Danke für die Super Hilfe :D
Ich hätte jetzt geschrieben, werde mich revancieren, aber bei eurem Wissen weiß ich da irgendwie nicht wie.....
Arbitrated_Loop
Interessierter
Interessierter
Beiträge: 24
Registriert: Sonntag 24. Oktober 2004, 19:43

Beitrag von Arbitrated_Loop »

Hallo,
ich habe dieses Topic mal ausgegraben, weil ich noch gern etwas dazu fragen würde:

1. Kann mir jemand bestätigen, ob nun für die unterschiedlichen Avias auch unterschiedliche Bootloader geflasht werden müssen, oder nicht ? Ich habe da leider immer nur Widersprüchliches gelesen. Oder anders gefragt, Gibt es für Avia500 z.B. einen anderen BMon1.2 als für den 600 ?

2. Ich würde gern das "word-weise swappen" und das Konvertieren von little nach Big-Endian besser verstehen. Deshalb möchte ich das gern von Hand machen und erst wenn ich es verstanden habe evtl. gurgels Pogramm dazu nutzen. Also:

a) Wenn ich den Bootloader mit cat geholt habe, womit konvertiere ich von little nach Big-Endian, bzw. was wird da gemacht ?

b) word-weise swappen heisst der Vorgang des Aufteilens zwischen IH2 und IH5 ? Womit kann man das machen (ausser autom. mit gurgels Prog.) ?

c) Wenn ich dann die fertigen beiden Hälften des BL habe, welches der Beiden muss dann in IH2, oder ist das jetzt eine dämliche Frage ?


Ich wäre sehr froh, wenn ihr mir da noch helfen würdet.


Gruss
AL
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

BMon 1.2 gibt es nicht für AVIA500-Boxen (außer umgeatche BMons).

De Fragen bezüglich des Swappings usw. habe ich oben bereits ausführlich geschildert.
There are 10 types of people in the world: those who know binary and those who don't
Arbitrated_Loop
Interessierter
Interessierter
Beiträge: 24
Registriert: Sonntag 24. Oktober 2004, 19:43

Beitrag von Arbitrated_Loop »

Dann frage ich eben anders:
Gibt es für den Avia600 unterschiedliche BMon1.2 ?
Und gibt es für den Avia500 unterschiedliche BMon1.0 ?

De Fragen bezüglich des Swappings usw. habe ich oben bereits ausführlich geschildert.
nicht wirklich, aber ist ok.


Danke.
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

DieMade hat geschrieben:BMon 1.2 gibt es nicht für AVIA500-Boxen (außer umgeatche BMons).
Das stimmt nicht ganz, es gibt Entwicklerboxen mit AVIA500 und BMON 1.2 :wink:
Test
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Mir sind (außer evtl. bei Entwicklerboxen, die zählen da nicht ;)) keine unterschiedlichen Versionen des BMon 1.2 bekannt.

Was fehlt Dir bei der Beschreibung oben zum Verständnis, ich sehe da keine Lücke (oder den Wald vor lauter Bäumen nicht).
There are 10 types of people in the world: those who know binary and those who don't
Arbitrated_Loop
Interessierter
Interessierter
Beiträge: 24
Registriert: Sonntag 24. Oktober 2004, 19:43

Beitrag von Arbitrated_Loop »

Vielen Dank erstmal.
Was mir irgendwie fehlt sind meine Fragen a) und c). b) ist mir mittlerweile klar geworden durch querlesen einiger anderer Topics hier :-) .

@DieMade
Etwas verwirrt hat mich diese Aussage von dir:
Wenn Du den Bootloader mit "cat /dev/mtd/0 > BL.IMG" ausliest und auf den PC überträgst, ist der in Little-Endian Bytefolge.

Der MPC823 ist aber ein PowerPC, braucht also Big-Endian.

Genau hier kommt das Swappen ins Spiel, weil der Progger selber die echte Bytereihenfolge ins Flash pumpt. Danach muß der Kram noch Word-Weise gesplittet werden.
Das hört sich so an, als sei das Konv. von little nach Big Endian dasselbe wie das Swappen. :roll:


In einem anderen Topic habe ich dann wiederum gelesen, dass man ausser dem Word-weisen Teilen nichts mehr am BL machen muss, wenn man ihn über's Expert-Menü raus-kopiert hat.


Mir fehlt einfach der Zusammenhang "Little-->Big Endian" und dem Swappen UND letztlich, welcher der beiden Teile schliesslich in welchen Flash kommen (IH2,IH5).

Sorry, vielleicht habe ich auch zuviele Beiträge gelesen mittlerweile...


Gruss
AL
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Wie gurgel auch hier geschrieben hat, muß man sowohl Swappen (ins richtige Endian-Format bringen), als auch Splitten (auf die Flashs verteilen).

Wenn es andere Erfahrungswerte zum Swappen gibt, haben die Authoren dieser Beiträge wohl Programmiersoftware, die bei entsprechend gesetzter Option die Endian-Konvertierung (Swappen) selbstständig vornimmt.


zu a):
cat /dev/mtd/0 ergibt die Bytefolge 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF 00

Geswappet wird das zu 22 11 44 33 66 55 88 77 AA 99 CC BB EE DD 00 FF

Jetzt liegt das Ganze also in Big-Endian vor. Bei 2x-Boxen sind 2 16bit-Flashs "hintereinander" geschaltet, um auf eine Datenbusbreite von 32Bit zu kommen. Deshalb müssen wir die Daten jetzt noch wordweise (16Bit) zerpflücken (Splitten).

zu b) und c):
Das Ganze gesplittet gibt:
IH2 = 22 11 66 55 AA 99 EE DD
IH5 = 44 33 88 77 CC BB 00 FF

Wird nun also die Adresse 0x0 ausgelesen, so liefern die Flashs 22 11 44 33 auf dem Datenbus.


Also nochmal: erst von Little- nach Big-Endian bringen (a), anschließend wordweise aufteilen (b). Was in welches Flash kommt ist oben auch angegeben (c).
doc
Contributor
Beiträge: 1623
Registriert: Donnerstag 10. Januar 2002, 20:03

Beitrag von doc »

Und damit du das nicht komplett für die 128kBit nicht von Hand machen mußt hatte Back2Live damals schon das chgEndi.exe geschrieben. :wink:
sollte genauso gehen wie gurgels Prog, und kann noch etwas mehr.
Arbitrated_Loop
Interessierter
Interessierter
Beiträge: 24
Registriert: Sonntag 24. Oktober 2004, 19:43

Beitrag von Arbitrated_Loop »

Ich danke Dir für deine Geduld, DieMade !!
Jetzt ist es klar. Ich hatte letztlich nur ein Begriffsproblem Swappen=Konv. von little->BigEndian.

@doc

vielen Dank !
pharados
Neugieriger
Neugieriger
Beiträge: 4
Registriert: Samstag 30. Oktober 2004, 12:51

Beitrag von pharados »

nochmal für doofe :-)

was muss ich einstellen damit ich ein ausgelesendes image in einen IH2 chip programmiere (bei mir ist der IH2) chip defekt der komplette sector 8 (aber nur ein chip) gibt nur nullen raus.

ich wollte die datei zum programmer schicken und damit nix schiefgeht wollte ich eine richtige datei schicken aber irgentwie komme ich bei den ganzen swappen und konvertieren durcheinander :-) :-)

ich wollte das prog (chgEndi.exe ) nutzen welche buttons sollten eingestellt sein ?
und wie sieht die datei IH2 dann am anfang aus?
und der brenner sollte welche einstellungen haben ?

mfg
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Das habe ich jetzt in diesem Thread bereits 2 mal erklärt - ein "welchen Knopf muß ich wo drücken"-HowTo werde ich nicht noch verfassen.
There are 10 types of people in the world: those who know binary and those who don't
Back2Live
Interessierter
Interessierter
Beiträge: 56
Registriert: Dienstag 27. November 2001, 00:00

Beitrag von Back2Live »

Hi,

cool das mein Tool immer noch im Gebrauch ist 8)

viele Grüße

Andi