Bootloader schreiben

Wie blitze ich ein Bild - Permanent Outgoing Incomes
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Bootloader schreiben

Beitrag von rmaerte1 »

Hi,

ist es irgendwie möglich, die 128k Datei zu flashen? Wie genau muss ich vorgehen?
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

tja, neues topic, bestimmt nicht verkehrt

das hauptproblem dürfte sein die eingaben über die serielle zu machen, da das mit dem flashen ja nicht klappt.

wenn du ne YADD bootest (also nur das ppcboot reicht ja schon) kannst du dann eingaben über die serielle machen?
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

das geht einwandfrei, jau.
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Sollte ja ähnlich gehen wie das beim debug disable How-To auf dbox.info beschrieben ist. Also Bootloader ins Ram schreiben und vom Ram ins Flash.
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

hi chkdesign,
hast schon recht im prinzip, ich möcht aber die MACadresse lieber so lassen wie sie ist

uuups, da war n "e" zuviel :D
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

chkdesign hat geschrieben:Sollte ja ähnlich gehen wie das beim debug disable How-To auf dbox.info beschrieben ist. Also Bootloader ins Ram schreiben und vom Ram ins Flash.
Kannst Du mir die 3 Schritte genau erklären?
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

So in etwa könnte das doch aussehen, oder? Habe mich nur noch nie mit den Speicheradressen beschäftigt. Sprich, wo ist RAM, wo gehört der Loader hin, etc etc


bootp 100000 /tftpboot/nokia_2xIntel_ppcboot
protect off 10020000 107fffff
erase 10020000 107fffff
cp.l 100000 10020000 28000
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

So genau erklären kann ich das auch nicht. Ich habe allerdings schon mal nach dem Howto den Debug disabled. Da stehen die Speicherstellen ja drin. Nur wie Du den Bootloader von der Platte ins Ram bekommst weiß ich auch nicht. Und ob man einfach so einen anderen Bootloader draufmachen kann weiß ich auch nicht.
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

ich schreib jetzt mal son script im nächsten posting, laßt mir mal eben 10 min zeit :wink:
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

noch 2 Minuten ;o))
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

=> help
autoscr - run script from memory
base - print or set address offset
bdinfo - print Board Info structure
bootm - boot application image from memory
bootp - boot image via network using BootP/TFTP protocol
bootd - boot default, i.e., run 'bootcmd'
cmp - memory compare
coninfo - print console devices and informations
cp - memory copy
crc32 - checksum calculation
echo - echo args to console
erase - erase FLASH memory
flinfo - print FLASH memory information
go - start application at address 'addr'
help - print online help
iminfo - print header information for application image
fsload - load binary file from a filesystem image
fsinfo - print information about filesystems
ls - list files in a directory (default /)
loadb - load binary file over serial line (kermit mode)
loads - load S-Record file over serial line
loop - infinite loop on address range
md - memory display
mm - memory modify (auto-incrementing)
mtest - simple RAM test
mw - memory write (fill)
nm - memory modify (constant address)
printenv- print environment variables
protect - enable or disable FLASH write protection
rarpboot- boot image via network using RARP/TFTP protocol
reset - Perform RESET of the CPU
run - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv - set environment variables
sleep - delay execution for some time
tftpboot- boot image via network using TFTP protocol
and env variables ipaddr and serverip
version - print monitor version
? - alias for 'help'

=> cp 10000000 01000000 2000
=> nm 01001110
01001110: 00200008 ? 38600008
01001110: 38600008 ? => <INTERRUPT>
=> nm 01001130
01001130: 40007858 ? 48007858
01001130: 48007858 ? => <INTERRUPT>
=> nm 01001200
01001200: 0090f000 ? 7c9ff000
01001200: 7c9ff000 ? => <INTERRUPT>
=> nm 01001210
01001210: 0090ffff ? 3bffffff
01001210: 3bffffff ? => <INTERRUPT>
=> nm 01001220
01001220: 0000ffff ? 3009ffff
01001220: 3009ffff ? => <INTERRUPT>
=> nm 01001f00
01001f00: 28843fb4 ? 38843fb4
01001f00: 38843fb4 ? => <INTERRUPT>
=>unprotect 10000000 2000
=>cp 01000000 10000000 2000

vor dem unprotect müßtest du den schreibschutz mit pin12 deaktivieren :D
aber nu laß mich wenigstens noch eben erklären was du da machst :wink:

so, jetzt hab ich mal das ganze noch an deine philipsboxausgaben angepaßt
Zuletzt geändert von SoLaLa am Sonntag 25. August 2002, 21:06, insgesamt 1-mal geändert.
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

ich warte ;o) Sieht interessant aus !
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

oki, das ppcboot116 (<---das ist wichtig, mit dem ppcboot064 klappt zwar das disablen des debugmodus, aber beim kompletten bootloader hatte ich hier mal schwierigkeiten, wollte nicht gleich klappen, erst nach viel mühe und tippselei, mit dem 116 gehts aber bestens) brichst mit der enter taste ab, dann kriegst den prompt =>
mit "=> cp 10000000 01000000 2000 " werden die ersten 2000 byte ins ram kopiert. jetzt wollen wir ja nur n paar dieser byte wieder auf den ursprünglichen stand zurückbringen.
"=> nm 01001110 " mußt du per tastatur eingeben, damit werden dir 8 byte ab adresse 01001110 angezeigt mit nem fragezeichen dahinter für ne neue eingabe, das sieht dann so aus:
01001110: 00200008 ?
und nach dem fragezeichen tippst wieder per tastatur die RICHTIGEN 8 byte ein, nämlich 38600008
daraufhin bekommst wieder die bytes angezeigt mit
01001110: 38600008 ?
dann drückst du 2 mal <strg> und "c" um das verändern dieser 8 byte abzuschließen.
weiter zum nächsten byte mit
"nm 01001130"
.
.
.
und am ende wenn du alle falschen byte geändert hast, dann müßte es bei dir genauso aussehen wie im oberen posting. dann unprotecten (die ersten 2 sektoren, das sind in hex 2000 byte) und genau die 2000 byte wieder ins flash kopieren
Zuletzt geändert von SoLaLa am Montag 23. September 2002, 23:10, insgesamt 1-mal geändert.
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

Bytes geändert.
Nehme jetzt meine Meßspitzen in die Hand....Wenns geht, dann fahr ich morgen zu Dir und spendier Dir soviel Bier, wie Du trinken kannst!!!
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

na hauptsache du hast dich nicht vertippt, und hauptsache ich hab mich nich vertippt

kopier auf jeden fall zur sicherheit das ganze log von der tippselei :D
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

Mist, wie war nur nochmal der Befehl bei der neuen ppcboot ???
unprotect gibts da nimmer ;o((
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

achja shit,
protect off 10000000 10020000
obwohl....
protect off 10000000 10002000 müßte es auch tun, brauchen ja nicht den ganzen bootloader
Zuletzt geändert von SoLaLa am Sonntag 25. August 2002, 21:32, insgesamt 1-mal geändert.
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

dbox2-ppcboot> nm 01001f00
01001f00: 28843fb4 ? 38843fb4
01001f00: 38843fb4 ?

dbox2-ppcboot> unprotect 10000000 2000
Unknown command 'unprotect' - try 'help'

dbox2-ppcboot> protect off 10000000 2000
Usage:
protect - enable or disable FLASH write protection


dbox2-ppcboot> protect disable 10000000 2000
Usage:
protect - enable or disable FLASH write protection


dbox2-ppcboot> protect off 10000000 2000
Usage:
protect - enable or disable FLASH write protection


dbox2-ppcboot>
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

und wir --- nein--- ich hab auch das erase vergessen, also nochmal ganz langsam:

protect off 10000000 10001fff
erase 10000000 10001fff
cp 01000000 10000000 2000

so muß das sein
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

dbox2-ppcboot> protect off 10000000 10020000
Error: start and/or end address not on sector boundary

dbox2-ppcboot>


dbox2-ppcboot> protect off 10000000 10002000
Error: start and/or end address not on sector boundary

dbox2-ppcboot>

:cry:
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

ja, war klar, konnte nicht funktionieren, tschulligunk :D
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

KRASS

dbox2-ppcboot> protect off 10000000 107fffff
...................................................................
Un-Protected 67 sectors

dbox2-ppcboot> cp 01000000 10000000 2000
Copy to Flash... Flash not Erased

dbox2-ppcboot>
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

jeztz paß blooooooooooooooooooooß auf, daß du nicht das ganze flash erased!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11
never change a running system
SoLaLa
Tuxboxer
Tuxboxer
Beiträge: 6119
Registriert: Mittwoch 3. April 2002, 00:32

Beitrag von SoLaLa »

also 3 mal kontrollieren und wirklich nur:

erase 10000000 10001FFF
cp 01000000 10000000 2000
never change a running system
rmaerte1
Semiprofi
Semiprofi
Beiträge: 1293
Registriert: Montag 21. Januar 2002, 23:27

Beitrag von rmaerte1 »

erase 10000000 10001FFF
Error: start and/or end address not on sector boundary

Wie gross ist ein Sektor ?
Ich muss nochmal von vorn beginnen.
Nicht nur 2000 Bytes, sondern halt nen ganzen sektor...