lpctool - schneller upload

Begonnen von netguy, 10. Sep 2007, 20:22

« vorheriges - nächstes »
Nach unten

netguy

10. Sep 2007, 20:22 Last Edit: 10. Sep 2007, 20:30 by netguy
hallo zusammen,

unter http://mamalala.org/lpctool-0.1.tgz ist ein neues tool zu finden, um code in den lpc2220 zu laden.

zur zeit wird nur der upload in das ram unterstuetzt, am flash arbeite ich gerade (75% fertig)

das tool ist ca. 10 mal schneller als lpcload von hackbard beim upload ins ram unter benutzung des lpc internen bootloaders.

mit "lpctool -?" bekommt man hilfe.

gruss,

chris

edit:

zum vergleich mal die zeiten, zuerst mit lpcload:

root@desk:~/bettystuff/boop-0.7# time ./lpcload -d /dev/ttyS0 -f boop.hex
boot loader init ...
write firmware to ram ...
unlock go command ...
go ...
flushing lpc tx buffer: 30 0d 0a

real    1m0.380s
user    0m0.000s
sys     0m0.000s


und hier mit lpctool:
root@desk:~/bettystuff/boop-0.7# time ./lpctool -r boop.bin
This Software is free Software under GNU GPL 3 or later
(c) 2007 Ch. Klippel <ck@mamalala.net>

using ram image boop.bin
wrote 228 bytes @ 40003A00

real    0m6.331s
user    0m0.004s
sys     0m0.000s


wobei code-maessig die .bin und die .hex gleich sind, lediglich das dateiformat ist anders.

netguy

so, flash schreiben geht jetzt auch:

http://mamalala.org/lpctool-0.2.tgz

gruss,

chris

netguy

hallo alle zusammen,

unter http://mamalala.org/lpctool-0.4.tgz gibt es die neueste version des schnellen upload tools.

mit -V werden infomeldungen ausgegeben, auch gibt es jetzt fehlermeldungen wenn was schief geht, ebenso ist mit -? eine hilfe da.
das loeschen von sektoren "on demand" fehlt noch, genauso wie das auslesen des flash/ram.

gruss,

chris

Megabug

#3
15. Sep 2007, 17:26 Last Edit: 15. Sep 2007, 17:37 by Megabug
Was genau muss vom µClinux installiert sein damit ich das compilen kann? Binutils?


mh wahrscheinlich das: http://opensrc.sec.samsung.com/download/arm-uclinux-tools-base-gcc3.4.0-20040713.sh  ? ;)

netguy


Was genau muss vom µClinux installiert sein damit ich das compilen kann? Binutils?


mh wahrscheinlich das: http://opensrc.sec.samsung.com/download/arm-uclinux-tools-base-gcc3.4.0-20040713.sh  ? ;)


100 punkte ;)

gruss,

chris

Megabug

zenega:/home/megabug/betty# sh arm-uclinux-tools-base-gcc3.4.0-20040713.sh
tail: Warning: "+number" syntax is deprecated, please use "-n +number"
arm-uclinux-tools-base-gcc3.4.0-20040713.sh: line 42: bunzip2: command not found
zenega:/home/megabug/betty#



;)

Ahja, debian...  2.6.18-5-686

netguy


zenega:/home/megabug/betty# sh arm-uclinux-tools-base-gcc3.4.0-20040713.sh
tail: Warning: "+number" syntax is deprecated, please use "-n +number"
arm-uclinux-tools-base-gcc3.4.0-20040713.sh: line 42: bunzip2: command not found
zenega:/home/megabug/betty#


apt-get install bzip2

sollte man aber eigentlich haben .... was haste denn gemacht, das es nicht da ist? ;)

gruss,

chris

Megabug

#7
15. Sep 2007, 19:29 Last Edit: 15. Sep 2007, 19:36 by Megabug
Öhm keine Ahnung. :D


./lpctool -r boop.bin -s /dev/ttyUSB1   <- so richtig?


ttyUSB1 ist mein datenkabel an der betty. USB0 ist mein Adapter wo meine USV dranhängt. ;)



EDIT:

Solltest die hilfe ändern... ist nicht -s sondern -d... ;)

Zitat

to do the same, but using serial device /dev/ttyS1 instead :
lpcload -r -s /dev/ttyS1



zenega:/home/megabug/betty/lpctool-0.4# ./lpctool -r boop.bin -d /dev/ttyUSB1

Welcome to lpctool V0.4

This Software is free Software under GNU GPL 3 or later
(c) 2007 Ch. Klippel <ck@mamalala.net>

ERROR: autobaud detection failed
ERROR: Error opening BootLoader
zenega:/home/megabug/betty/lpctool-0.4#

netguy

moin megabug,

jo, das mit dem -s habe ich jetzt mal geaendert ...

wegen dem fehler kann ich im moment auch nichts sagen. ich habe das hier auch oefter mal, auf einem regulaeren rs232 port (also kein usb adapter). auch wenn man in dem moment mal mit einem terminal draufgeht, sieht man das die kommunikation fehelerhaft ist (bei "Synchronized" kommen muellzeichen mit)

bisher hat es immer geholfen enweder, wenn eint geschlossen ist, mehrmals reset zu druecken ... oder einmal reset ohne eint, dann tool starten (was natuerlich einen fehler bringt), danach wieder mit eint & reset in den bootloader und erneut versuchen. damit klappt das bei mir immer.

ich hoffe das ich den bug irgendwann mal wegbekomme, aber ich _vermute_ das es u.u. mit kontaktprellen auf der reset & eint leitung zu tun hat, wenn man dort einfach nur taster anschliesst (so wie ich).

evtl. muss man die autobaud auch einfach mit niedrigerer geschwindigkeit machen, und dann "hochschalten" .... in den naechsten tagen weiss ich mehr ...

gruss,

chris

netguy

hallo,

habe jetzt den fehler beseitigt, der dafuer sorgte das am anfang die kommunikation schiefgeht.

aktuelle version ist jetzt unter http://mamalala.org/lpctool-0.5.tgz zu finden.
zwei parameter haben sich geaendert, -V gibt jetzt nur die version aus, und -v schaltet die info-meldungen an.

gruss,

chris

Megabug

jetzt tut es bei mir nichts mehr. ;)

bei opening bootloader bleibts stehen.

netguy


jetzt tut es bei mir nichts mehr. ;)

bei opening bootloader bleibts stehen.


hmm, sicher das du waehrend des reset die eint leitung haelst? hier bleibt er eigentlich nur stehen wenn er garnicht mit der gegenseite sprechen kann, also wenn nichts zurueckkommt. wenn eine kommunikation moeglich, aber fehlerhaft ist, bricht er ab.

allerdings habe ich gestern nacht noch kleinere aenderungen gemacht, irgendwann war auch ein  fehler drin, den ich dann beseitigt habe.
lade das archiv doch einfach nochmal runter....

gruss,

chris

Megabug

Endweder sofort fehler oder bleibt hängen bei
Info : opening serial device /dev/ttyUSB1
Info : opening ram image boop.bin
Info : opening bootloader


;)

Wenn er mal sofort nen Fehler ausgibt:

ERROR: autobaud detection failed
ERROR: Error opening BootLoader



netguy

hallo megabug,

hmm, dann weiss ich im moment auch nicht weiter. ich habe keinen usb<->seriell adapter hier, daher kann ich es auch nicht testen.
ich habe jetzt nochmal eine geaenderte version hochgeladen, gleicher name, die ein paar mehr fehlermeldungen ausgibt, allerdings wird das in deinem fall auch nicht mehr anzeigen.

bleibt eigentlich nur noch der adapter als ursache, ueber usb ist die kommunikation ja etwas anders als direkt mit einer seriellen leitung wegen der usb paketgroesse und dem polling intervall. wenn du kannst, schau dir mal die routine openSerial() in lpctool_serial.c, ab zeile 79 an. dor wird der port geoeffnet und eingestellt. wahrscheinlich ist dort der fehler zu suchen, kann sein das der port in einen modus gesetzt wird mit dem der adapter nicht klarkommt. aber da ich es ja selber hier nicht testen kann, muessen dort andere einspringen, oder mir einen usb<->seriell adapter schicken.

bist du auf den adapter angewiesen, oder hast du auch eine regulaere rs232 schnittstelle?

gruss,

chris

Megabug

Hi, gib mir deine Adresse dann schick ich dir einen. Hab 3 davon hier. Siemens Datenkabel. ;)

Bin leider drauf angewiesen. Mein normaler PC hat keine seriell ports mehr und bei meiner S100 box (t-online vision, da hab ich auch das debian laufen) wollen die seriellen ports nicht so recht. :D

Nach oben