AN ALLE PROFIS!!! Flashen (nur) über Nullmodem möglich?

Anlaufschwierigkeiten? Was ist was? Worum geht's?
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

xDJBx hat geschrieben:Wenn das klappt, solltest Du Deinen Nickname in "Gott" oder "SuperGuru" ändern :D
Da Gott schon für MHC vergeben ist, wäre also SuperGuru die erste Wahl... :wink:

Die Befehle zum Unprotecten, Löschen und Kopieren beherrscht der Bmon ja auch, kann man das Image auch irgendwie mit dem Bmon ins RAM kopieren?

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

Beitrag von DieMade »

mash4077 hat geschrieben:Die Befehle zum Unprotecten, Löschen und Kopieren beherrscht der Bmon ja auch...
Der BMon kennt nur "erase start_sector [end_sector]" und "flash src cnt [flash_offs]"

"protect off" ist an der Stelle auch unnötig, außer dem BMon (oder einem Teil davon) ist eh nix geschützt.

Mittels "dl [offs]" könnte man natürlich ein Image als Motorola S-Record laden (kein Protokoll, nur ASCII-Übertragung) und mit den beiden o.g. Befehlen flashen, aber mit den SRECS hab ich nur 1 mal rumprobiert und da hatte es nicht funktioniert (Übertragungsfehler nehme ich mal an).

Sinnvoller erscheint mir da auch wirklich, ein u-boot per "dl" zu laden und zu starten - damit dann per "kermit" das Image laden und flashen.
There are 10 types of people in the world: those who know binary and those who don't
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

Verstehe, wenn man erst den u-boot per dl-Befehl des Bmon über die Serielle laden kann, dann ist das ja auch viel besser, da man z.B. die Baudrate zum Übertragen des Image höher setzen kann.

Danke!

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

Beitrag von DieMade »

"baud 9600 | 19200 | 38400 | 57600 | 115200" kennt der BMon aber auch ;)

Der Download per "dl" ist halt etwas wacklig, da lob ich mir das kermit-protokoll im u-boot.
There are 10 types of people in the world: those who know binary and those who don't
mash4077
Tuxboxer
Tuxboxer
Beiträge: 4654
Registriert: Samstag 27. April 2002, 13:19

Beitrag von mash4077 »

DieMade hat geschrieben:"baud 9600 | 19200 | 38400 | 57600 | 115200" kennt der BMon aber auch ;)
Schau an!

Ich will bei Gelegenheit mal ein bisschen weiter probieren, irgendwie hat das mein Interesse geweckt. Aber erst mal selber probieren bringt mehr fun...

Gruß
mash
crazy_winne
Neugieriger
Neugieriger
Beiträge: 13
Registriert: Montag 5. November 2001, 00:00

Beitrag von crazy_winne »

Hallo,
die Baudraten werden von meinem ppcboot064 erkannt und bestätigt-->switch to 115200 and press ENTER.
Nach dem wiederverbinden mit 115200 reagiert die Box auf nix mehr.
Nur reset-up+standb möglich.
Ob der BL auf den baud Befehl richtig reagiert, weiß ich nicht.
Es sollte aber, wenn srecord klappt, reichen, wenn eine neue uboot reinkommt. Aber wie :cry:
c_w
Senzai
Interessierter
Interessierter
Beiträge: 34
Registriert: Samstag 12. Februar 2005, 13:00

Beitrag von Senzai »

Hallo

ich habe das im com terminal vom bootmanager gemacht nur mit
"- im HT "Übertragung - Datei senden" das Image auswählen und mit "kermit"-Protokoll senden "
weiss ich leiden nicht wie und ob es mit dem Bootmananger überhaupt möglich ist.
Kann mir da bitte jemand weiterhelfen!

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

Beitrag von DieMade »

Wieso schrieb ich wohl "Hypterterminal" und nicht "Bootmanager"? :roll:
There are 10 types of people in the world: those who know binary and those who don't
Senzai
Interessierter
Interessierter
Beiträge: 34
Registriert: Samstag 12. Februar 2005, 13:00

Beitrag von Senzai »

Oh Sorry ,hab ich nicht gerafft bin schon paar stunden drann aber langsam ist wieder licht an horizont bin schon am senden

Gruß Senzai
maxg

Beitrag von maxg »

Ich möchte das Thema nochmal aufgreifen.
Eine u-boot über die serielle Schnittstelle auf die Box zu bekommen ist relativ einfach.
Man lässt sich aus der u-boot eine Motorola srecord Datei erstellen mit S3 records.
Aus der Datei schmeisst man dann den S0-record und falls vorhanden den S5-record raus.
Die Datei enthält dann nur noch S3-records und als Abschluss einen S7-record.
Am Eingabeprompt der Bootloadersoft gibt man dann dl 800000 ein und lässt die srecords Datei von Hyperterminal als Textdatei zur Box überträgen.
Wenn die Übertragung fertig ist startet man dann die übertragene u-boot Datei mit chorus 800000.
Der Rest geht dann so wie von DieMade beschrieben.
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

hab da grade mal bei google für ein tool gesucht und das hier gefunden:
http://www.keil.com/download/docs/bin2mot.zip.asp
werds nachher ma ausprobieren
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Also ein passendes u-boot spuckt das cdk schon aus wenn man das Makefile leicht modifiziert :)

Das juckt mich ja jetzt doch - ich werd die Tage wohl doch mal ein kleines Windoof-Programm zurechtstricken, welches den BMon anhält, auf 115200 Baud wechselt, u-boot per SREC hochschiebt und startet.

Im "Endstadium" (welches so ein Programm meist nie erreicht *g*) könnte hier dann ein Image per kermit nachgeladen und geflasht werden - mal sehen :)

Das hier ist kein Versprechen oder gar eine Release-Ankündigung!
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 »

@DieMade,
ich hab dafür ja schonmal ne basis mit meinem dbox_ifa :D
Die Änderungen wären garnicht mal so groß...
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Na dann mach mal, wozu das Rad neu erfinden? ;)
There are 10 types of people in the world: those who know binary and those who don't
maxg

Beitrag von maxg »

Die Übertragung der srecords läuft ohne Übertragunsprotokoll. Da sollte man besser bei 9600 Baud bleiben. Bei einem Übertragungsfehler stimmt die Checksumme des betreffenden S-records nicht und die dl-Funktion bricht dann einfach ab.
Ich habe übrigens einfach eine u-boot aus einer Yadd genommen.
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Klar, die BMon kann SRECs nur in ASCII übertragen. Ich bin im Kopf schon beim nächsten Schritt und lade ein binäres Image im u-boot über die Leitung ;)

9600 muß aber nicht wirklich sein, mit ein wenig feinfühligem Timing sollte das auch bei höhren Datenraten funktionieren; ein paar ms Pause je Zeichen und nach jeder Zeile prüfen, ob der BMon mit nem chksum-error aussteigt.

Wenn das Ganze mal rundläuft, wäre eine reduzierte u-boot auch nicht schlecht (kein Support für LCD, FB, Filesysteme usw.). Je kleiner, je besser.
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 »

so hab mal etwas rumprobiert:
klappt auch mit 115200 Baud problemlos

Code: Alles auswählen

debug: DDF: Calibrating delay loop... debug: DDF: 66.76 BogoMIPS                                                                 
debug: BMon V1.2  mID 03                        
debug: feID 00    enxID 03                          
debug: fpID 52     dsID 01-0e.d8.06.08.00.00-62                                               
debug: HWrev 21  FPrev 0.23                           
debug: B/Ex/Fl(MB) 32/00/08                           
WATCHDOG reset enabled                      
debug: autoboot aborted from terminal                                     
dbox2:root>  baud 115200ÿ                         
dbox2:root> dl 800000                     
S Record Load, offset: 800000                             
dl: start address 0x800000                          
dbox2:root>           
dbox2:root> baud 9600                     
dbox2:root> chorus 800000                         
Branching to 0x40000                    


U-Boot 1.1.1 (TuxBox) (Jan 19 2005 - 08:25:59)                                              

CPU:   PPC823ZTnnB2 at 66 MHz: 2 kB I-Cache 1 kB D-Cache                                                        
Board: DBOX2, Sagem, BMon V1.2                              
       Watchdog enabled                       
I2C:   ready            
DRAM:  32 MB            
FLASH:  8 MB            
FB:    ready
LCD:   ready
In:    serial
Out:   serial
Err:   serial
Net:   SCC ETHERNET
BOOTP broadcast 1
TX timeout

Abort
*** ERROR: `serverip' not set
can't find logo
BOOTP broadcast 1

Abort
*** ERROR: `serverip' not set
can't find logo

Options:
  1: Console on null
  2: Console on ttyS0
  3: Console on framebuffer
Select option (1-3), other keys to stop autoboot:  0
=>
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

gurgel: kühl, gefällt mir :)

Magst Du ein u-boot in Minimalkonfiguration haben, um das Laden zu beschleunigen?

Wäre eine nette Erweiterung für den dbox_ifa - auch wenn wir uns damit selber potentielle Kunden ausspannen würden ;)

Ich hab mal was gebaut: SREC von 477078 auf 280988 Bytes reduziert. Nur loadb, loads, flash und memory-Funktinen drin. Per BOOTP lädt und bootet das Teil um einiges schneller (jaja, Gimicks kosten halt Zeit *g*).
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 »

ja gerne :D
Was auch schön wäre, wenn man mit dem uboot das Image komprimiert laden kann, und es nachher in der Box wieder entpackt wird.
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Komprimieren wird nicht mehr viel bringen, die ganzen FS im Image sind ja schon recht gut komprimiert. Das wäre auch ein ziemlicher Eingriff in u-boot, loadb und loads sehen keine Komprimierung vor.

Für eine Notlösung, welches das Flashen nur über COM ja darstellt reicht der jetzige Stand IMHO aus :)
There are 10 types of people in the world: those who know binary and those who don't
wengi
Einsteiger
Einsteiger
Beiträge: 270
Registriert: Montag 30. Dezember 2002, 17:00

Beitrag von wengi »

Wenn ihr so weiter macht kann man demnächst das Image der FB in die Box bringen...

*beeindrucktmitdemkopfnick*

Respekt für die Arbeit!
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

eine erste alpa-version gibts hier zu bestaunen: http://www.dboxservice-hallenberg.de/do ... etwork.zip
(momentan nur zum upload der uboot)
gurgel
Tuxboxer
Tuxboxer
Beiträge: 2473
Registriert: Dienstag 8. Oktober 2002, 21:06

Beitrag von gurgel »

hier mal eine Erklärung zu S-Records:

Das Motorola-S-Format
Eine Datei im Motorola-S-Format ist eine Textdatei mit beliebig vielen Zeilen, die Sedezimalziffern in ASCII-Darstellung enthalten. Die Zeilen werden mit CR, LF abgeschlossen. Diese Datei enthält Binärcode in ASCII-Form.
Die Datei kann (muß aber nicht) mit einer Einleitungszeile beginnen, dem Sign-On-Record. Man erkennt ihn am einleitenden S0 (Ziffer Null). Er enthält einen Kommentar, z. B. den Programmnamen (im Beispiel unten "DATA I/O"). S-Records enthalten pro Zeile eine Adresse, an der die Daten abgelegt werden sollen.

Jede Datenzeile beginnt mit zwei Startzeichen "S" und einer Ziffer. Die nächsten beiden Zeichen geben die hexadezimale Anzahl der Datenbytes in der Zeile an, wobei auch die Adreßangabe (2 Bytes) und die Prüfsumme mitgezählt werden (also Zahl der "echten" Datenbytes + 3). Darauf folgen vier Zeichen, welche die hexadezimale Adresse des ersten Bytes des Datenrecords angeben. Nun folgen die Datenbytes zweistellig hexadezimal. Leerzeichen werden überlesen. Zum Schluß folgt ein Byte Prüfsumme (zweistell. Hex.). Die Prüfsumme ist das Einerkomplement aus der Summe von Längenangabe, Adresse und Datenbytes. Der Typ des Records wird durch eine Ziffer bezeichnet:

0: Startrecord (siehe oben)
1,2,3: Datenrecord
7,8,9: Enderecord
Der Typ sorgt für die Unterscheidung der Adreßlänge:
Bei Typ 0 is die Adresse immer $0000 und 16-Bit (4 Ziffern) lang
Bei Typ 1 oder 9 is die Adresse 16-Bit (4 Ziffern) lang
Bei Typ 2 oder 8 is die Adresse 24-Bit (6 Ziffern) lang
Bei Typ 3 oder 7 is die Adresse 32-Bit (8 Ziffern) lang
Die letzte Zeile der Datei beginnt mit den Startzeichen "S" und der Ziffer 9, 8 oder 7. Er bildet den End-Of-File-Record. Ein Enderecord enthält keine Daten, aber die Adresse in diesem Record stellt die Startadresse des Programms dar.

Beispiel:

S0 0B 0000 44 41 54 41 20 49 2F 4F F4 <CR><LF>
S1 13 0000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FC <CR><LF>
S1 13 0010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF EC <CR><LF>
S1 13 0020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DC <CR><LF>
S1 13 0030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF CC <CR><LF>
S1 13 0040 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF BC <CR><LF>
S9 03 0000 FC <CR><LF> ¦
¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ Datenbytes Prüfsumme
¦ ¦ Adresse
¦ Längenangabe (Datenbytes + 3)
Record-Markierung

Quelle: http://www.netzmafia.de/skripten/mikroc ... /kap6.html
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

Sieht gut aus. :)

Eigentlich könnte man das Image auch direkt per SREC laden und flashen, ich guck mir das auch mal an (gesockelte Flashs haben so ihre Vorteile *g*).

Edit: Macht keinen Sinn, Nokia 2xI mit Bmon 1.0 können ja vom BMon her nicht mit dem Flash umgehen, also doch u-boot vorher hochladen.
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 »

hätte auch so nicht viel sinn gehabt, denn durch die S-Records wird das ganze ja beinahe doppelt so groß.