Guten Abend, ich habe mir endlich mal ein Datenkabel organisiert (
http://www.dealextreme.com/details.dx/sku.13638). Wenn man sich durch das Spritzgussgehäuse nagt, kommt man an eine Platine mit COB (PL-2303), die Handshakeleitungen sind teils herausgeführt (DTR, RTS), Pegel 3,5 V..
Nach
http://www.grautier.com/grautier/uploads/Elektronik/Betty/RIMG0001.JPG und
http://bettyhacks.com/wiki/index.php/LPCTool verdrahtet.
lpctool compiliert:
boopfirmware/lpctool/trunk$ make
/opt/armtool/4.1.1/bin/arm-elf-gcc -mcpu=arm7tdmi-s -c -Wall -mthumb-interwork -msoft-float -I/opt/armtool/4.1.1/include -o serial.o serial.c
/opt/armtool/4.1.1/bin/arm-elf-gcc -mcpu=arm7tdmi-s -c -Wall -mthumb-interwork -msoft-float -I/opt/armtool/4.1.1/include -o ramtool.o ramtool.c
/opt/armtool/4.1.1/bin/arm-elf-ld -Os -Tlpc2220.ld -o ramtool.elf crt.o serial.o lcd.o fonty.o flash.o ramtool.o
/opt/armtool/4.1.1/bin/arm-elf-objcopy -O binary ramtool.elf ramtool.bin
/opt/armtool/4.1.1/bin/arm-elf-gcc -mcpu=arm7tdmi-s -c -Wall -mthumb-interwork -msoft-float -I/opt/armtool/4.1.1/include -DRESIDENT -o romtool.o ramtool.c
/opt/armtool/4.1.1/bin/arm-elf-ld -Os -Tlpc2220_rom.ld -o romtool.elf crt.o serial.o lcd.o fonty.o flash.o romtool.o
/opt/armtool/4.1.1/bin/arm-elf-objcopy -O binary romtool.elf romtool.bin
gcc -Os bin2h.c -o bin2h
bin2h.c: In function 'main':
bin2h.c:18: warning: format '%08X' expects type 'unsigned int', but argument 2 has type 'long unsigned int'
strip bin2h
./bin2h > tool_data.h
gcc -Os infohelper.c lpctool_serial.c bootcom.c toolcom.c lpctool.c -o lpctool
infohelper.c: In function 'printInfoH':
infohelper.c:39: warning: format '%08X' expects type 'unsigned int', but argument 3 has type 'long unsigned int'
bootcom.c: In function 'goBootLoader':
bootcom.c:172: warning: format '%i' expects type 'int', but argument 3 has type 'long unsigned int'
bootcom.c: In function 'uploadData':
bootcom.c:200: warning: format '%i' expects type 'int', but argument 3 has type 'long unsigned int'
bootcom.c:226: warning: format '%i' expects type 'int', but argument 3 has type 'long unsigned int'
bootcom.c:226: warning: format '%i' expects type 'int', but argument 4 has type 'long unsigned int'
strip lpctool
Und versucht zu flashen:
boopfirmware/lpctool/trunk$ ./lpctool -d /dev/ttyUSB0 -i -v -e -a boop_rom.bin
lpctool V0.9
This Software is free Software under GNU GPL 3 or later
(c) 2007 Ch. Klippel <ck@mamalala.net>
Info : erasing flash #0 before write
Info : using flash #0 image boop_rom.bin
Info : opening serial device /dev/ttyUSB0
Info : reset into bootmode
Info : opening bootloader
Info : initiating auto-baud
Info : awaiting autobaud response
^C
Mit Oszi sehe ich, dass 1..3 Zeichen gesendet werden PC_TX->BETTY_RX.
Reset macht folgende Pulse 0,5 ms low, 0,5 ms high, 0,2 ms low
eINT1/Bootloader: 0,6 ms low, 0,1 ms high, 0,6 ms low
etwa so:
---__---__---
---___-____--
Reset und eINT1 haben sind mit der ersten fallende Flanke gleichzeitig, danach stimmt das Timing.
BETTY_TX: macht nur 1 ms low, weil dann gleich wieder ein reset kommt.
Deutet ja alles auf
http://bettyhacks.com/wiki/index.php/LPCTool#Lpctool-Probleme (die Probleme hatte ich ja schonmal, mit anderer Hardware:
http://bettyhacks.com/forum/index.php?topic=54.msg833#msg833)Mit
http://www.grautier.com/grautier/index.php?/plugin/dlfile_108 geht es aber auch nicht (dieselbe, doppelte Pulsfolge)
Liegt es also am PL-2303? Kann ich noch was in lpctool ändern (baudrate ist schon runtergesetzt auf 38400)?