[Berlin-wireless] jtag zum flash beschreiben

Sven-Ola Tuecke mail2news
Mo Aug 29 10:48:12 CEST 2005


Hallo Ulf,

KnowHow zum Thema JTAG ist leider nicht allzuweit verbreitet. Nach meinen 
Erfahrungen mit den Linksys-Geraeten kann ich folgendes beitragen:

- Offenbar ist das Kabel soweit korrekt. Sonst bekommt man gar keine Antwort

- An sich muss man der CPU/dem Chipset mit einem Befehl mitteilen, dass es 
die Klappe halten soll. Nur dann bekommt man ueberhaut was sinnvolles und 
verifizierbares aus dem Flash gelesen bzw. hineingeschrieben. Es gibt 
Geraetetypen (z.B. Linksys WRT54G ver1.0 + ver1.1) die reagieren nicht auf 
den Reset/Raushalten-Befehl. Ich erzwinge in solchen Faellen einen Absturz 
mit einem Kurzschluss irgendwo auf D0-D7 (einfach was metalliges uber die 
Flash-Chip-Beine halten, Geraet einschalten, gucken ob irgendwelche LEDs den 
CPU-start angkuendigt. Wenn tot ==> JTAG-Flash-Ready)

- Die Auto-Erkennung des Flashtyps klappt bei dem 
"Hairydaymed"-Linksys-JTAG-Flashprogramm oft nicht. Gottseidank ist das als 
C-File schnell hackbar und die Aufschrift auf dem Flash-Chip ist in jedem 
Fall die bessere Geraete-Kennung. Dein Tool hat ja ganz richtig 
4-MB-AMD-Flash (xxx320) entdeckt:
xxx-160==2 Mbyte Chips
xxx-320==4 Mbyte Chips (scheint also ok zu sein)

- Bevor du den Inhalt des Flash-Chips nicht auslesen kannst, wuerde ich die 
Finger vom Brennen/Erasen lassen. Auslesen ist unkomplizierter und erst wenn 
es klappt kann man sich einigermassen sicher sein, dass das Tool ueberhaupt 
mit dem Chip umgehen kann.

- Generelle JTAG-Spielzeuge sind was fuer Ingenieurbuden mit 
Embedded-Controller-Entwicklungsabeitung. Wird wohl auch in der Fertigung 
eingesetzt, dieser Boundary-Scan verifiziert die Geraete-Funktion in der QS. 
Als echte Investitionsgueter sind solche Programme recht teuer und AFAIK 
nicht im P2P Foren zu finden. Ich wuerde also erstmal weiter probieren, ob 
diese Opensource-Soft es nicht auch tut.

Grusz, Sven-Ola

"ulf kypke" <u.kypke at gmail.com> schrieb im Newsbeitrag 
news:be663514050827091270a02a86 at mail.gmail.com...
hallo liste,
ich benötige technische hilfe zum thema jtag.
ich habe ein funktionierendes setup:
parallelport via adapter zu jtag dann zum dwl 7000 accesspoint
ich bekomme auch (hurra) infos via jtag:

dex:/home/ulf# jtag
JTAG Tools 0.5.1
Copyright (C) 2002, 2003 ETC s.r.o.
JTAG Tools is free software, covered by the GNU General Public
License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
There is absolutely no warranty for JTAG Tools.

Warning: JTAG Tools may damage your hardware! Type "quit" to exit!

Type "help" for help.

jtag> cable parallel 0x378 WIGGLER
Initializing Macraigor Wiggler JTAG Cable on parallel port at 0x378
jtag> detect
IR length: 7
Chain length: 1
Device Id: 00001001001001110111000000010011
  Manufacturer: Intel
  Part:         IXP425
  Stepping:     A0
  Filename:     /usr/share/jtag/intel/ixp425/ixp425
jtag> detectflash 0
detectflash: syntax error!
jtag> detectflash
buswidth: 16
CFI query: 000000aa,       98
Query identification string:
        Primary Algorithm Command Set and Control Interface ID Code:
0x0002 (AMD/Fujitsu Standard Command Set)
        Alternate Algorithm Command Set and Control Interface ID Code:
0x0000 (null)
Query system interface information:
        Vcc Logic Supply Minimum Write/Erase or Write voltage: 2700 mV
        Vcc Logic Supply Maximum Write/Erase or Write voltage: 3600 mV
        Vpp [Programming] Supply Minimum Write/Erase voltage: 0 mV
        Vpp [Programming] Supply Maximum Write/Erase voltage: 0 mV
        Typical timeout per single byte/word program: 16 us
        Typical timeout for maximum-size multi-byte program: 0 us
        Typical timeout per individual block erase: 1024 ms
        Typical timeout for full chip erase: 0 ms
        Maximum timeout for byte/word program: 512 us
        Maximum timeout for multi-byte program: 0 us
        Maximum timeout per individual block erase: 16384 ms
        Maximum timeout for chip erase: 0 ms
Device geometry definition:
        Device Size: 4194304 B (4096 KiB, 4 MiB)
        Flash Device Interface Code description: 0x0002 (x8/x16)
        Maximum number of bytes in multi-byte program: 1
        Number of Erase Block Regions within device: 2
        Erase Block Region Information:
                Region 0:
                        Erase Block Size: 8192 B (8 KiB)
                        Number of Erase Blocks: 8
                Region 1:
                        Erase Block Size: 65536 B (64 KiB)
                        Number of Erase Blocks: 63


nun ist aber das problem das auf dem board ein amd flashchip am29lv320
ist, unterstützt wird am29lv160 und am29lv640, da schau her, eine
gewisse logik tut sich auf, 160..320..640
nun da ich nicht der super coder bin komme ich nicht wirklich weiter.
eine alternative wäre das ganze mit einem windows basiertem jtag
tool/adapter zu probieren, leider kosten diese tool weit über 1000
euro, bzw. ich habe keines gefunden was free ist, und an einem wiggler
adapter funktionert.
vielleicht gibt es ja einen hier in der liste, der auf arbeit, oder
sonst wie ein solches spielzeug hat, bzw mir einen tip geben kann,
gruss ulf

ps. das ganze soll einem dwl7000 den redboot loader ins flash
schreiben. vorger war vxworks drin, das aber gibt es nach div.
flashversuchen nicht mehr :)

_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
http://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin 


_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
http://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin





Mehr Informationen über die Mailingliste Berlin