Forum: Mikrocontroller und Digitale Elektronik Probleme beim Flashen


von Uwe Naumann (Gast)


Lesenswert?

Hallo Leute,

folgende Konstellation:

- A96021000b-Board (also eines der ersten Atmel-Billigdingens)
- avra bzw. tavrasm unter Linux
- Flashen via uisp

Letzteres scheint irgendwie nicht sauber zu lauefn. Ich flashe so:

[naumannu@meiner Ledtest]$ uisp -dprog=avr910 -dpart=auto
-dserial=/dev/ttyS0 -dspeed=19200 --upload if=Ledtest.hex -v=3
--hash=32
Programmer Information:
  Software Version: 7.1, Hardware Version: 0.0
Address Auto Increment Optimization Enabled

Trying with: AT90S1200 rev. C
Vendor Code: 0x1e
Part Family: 0x90
Part Number: 0x01
Atmel AVR AT90S1200 is found.
Page Write Disabled
FLASH Write Delay (t_wd_flash): 11111 us
EEPROM Write Delay (t_wd_eeprom): 11111 us
Retrying with better match: AT90S1200
Vendor Code: 0x1e
Part Family: 0x90
Part Number: 0x01
Atmel AVR AT90S1200 is found.
Page Write Disabled
FLASH Write Delay (t_wd_flash): 11111 us
EEPROM Write Delay (t_wd_eeprom): 11111 us
Uploading: flash
#
(total 18 bytes transferred in 0.23 s (79 bytes/s)
[naumannu@meiner Ledtest]$

Beim Verify kommt dann folgendes:

[naumannu@meiner Ledtest]$ uisp -dprog=avr910 -dpart=auto
-dserial=/dev/ttyS0 -dspeed=19200 --verify if=Ledtest.hex -v=3
--hash=32
Programmer Information:
  Software Version: 7.1, Hardware Version: 0.0
Address Auto Increment Optimization Enabled

Trying with: AT90S1200 rev. C
Vendor Code: 0x1e
Part Family: 0x90
Part Number: 0x01
Atmel AVR AT90S1200 is found.
Page Write Disabled
FLASH Write Delay (t_wd_flash): 11111 us
EEPROM Write Delay (t_wd_eeprom): 11111 us
Retrying with better match: AT90S1200
Vendor Code: 0x1e
Part Family: 0x90
Part Number: 0x01
Atmel AVR AT90S1200 is found.
Page Write Disabled
FLASH Write Delay (t_wd_flash): 11111 us
EEPROM Write Delay (t_wd_eeprom): 11111 us
Verifying: flash
#flash error at address 0x0: file=0x0f, mem=0x00
flash error at address 0x1: file=0xef, mem=0x81
flash error at address 0x2: file=0x07, mem=0x00
flash error at address 0x3: file=0xbb, mem=0x81
flash error at address 0x4: file=0x08, mem=0x00
flash error at address 0x5: file=0xbb, mem=0x81
flash error at address 0x6: file=0x0a, mem=0x00
flash error at address 0x7: file=0x95, mem=0x81
flash error at address 0x8: file=0x1a, mem=0x00
flash error at address 0x9: file=0x95, mem=0x81
flash error at address 0xa: file=0xf1, mem=0x00
flash error at address 0xb: file=0xf7, mem=0x81
flash error at address 0xc: file=0x2a, mem=0x00
flash error at address 0xd: file=0x95, mem=0x81
flash error at address 0xe: file=0xe1, mem=0x00
flash error at address 0xf: file=0xf7, mem=0x81
flash error at address 0x10: file=0xf9, mem=0x00
flash error at address 0x11: file=0xcf, mem=0x81

(total 18 bytes transferred in 0.44 s (41 bytes/s)
[naumannu@meiner Ledtest]$

Und die Programme laufen dann auch nicht.

Wo liegt mein Denkfehler?

Ich hatte hier noch einen Controller mit dem Testprogrämmelchen
rumliegen, der lief sofort auf dem Board. Verify ging da aber genauso
schief.

von Fritz Ganter (Gast)


Lesenswert?

Probier mal vorher das Flash zu löschen, dann nochmal programmieren.
Ich kann bei mir auch das Löschen beim Brennen abschalten, dann stimmt
das Verify nicht mehr (weil man eben nur Nullen programmieren kann,
keine Einsen).

von Jörg Wunsch (Gast)


Lesenswert?

Alternativ mal avrdude probieren.  Ich kann mich an Zeiten erinnern,
da der AT90S1200 von uisp gar nicht bedienbar war (dieser AVR hat ein
paar besondere Macken im ISP-Protokoll im Vergleich zu allen neueren
AVRs).

von Uwe Naumann (Gast)


Lesenswert?

Hm, danke erst mal.

Löschen vorher hatte ich schon versucht.

avrdude funzt auch nicht, da hängt sich der Programmer weg beim Flashen
direkt bevor der Code geschrieben wird (also bei 0%).

Ich denke mal die Hardware hat einen Treffer und werde jetzt mal einen
Mini-Programmer für den Parallelport zusammenlöten.

Gruß Uwe

von Uwe Naumann (Gast)


Lesenswert?

Ich werde noch irre hier.

Also, ich habe heute mal (wenn auch widerwillig) das vorhandene
Windows2K gebootet, mir AVRStudio 3.56 installiert und eine der mit
avra erzeugten Hexfiles via AVRProg auf das Atmel-Billigboard samt
AT90S1200 losgelassen. Und siehe da es läuft auf Anhieb, mit allen 4
getesteten Controllern.

Unter Linux scheint das Löschen sowohl mit uisp als auch mit avrdude zu
klappen, selbst via avrdude im Terminalmode kann ich auf das Board
zugreifen und es meldet sich auch korrekt.Auch verschiedene
Controllertypen (1200/2313) werden von beiden Tools korrekt erkannt.
Nur Flashen geht bei beiden Programmen in die Hose:

- uisp läuft ohne Fehler durch, der Controller läuft aber hinterher
nicht. Beim Verify kommen auch Fehler, sieht so aus als wäre nicht
geflasht worden.

uisp -dprog=avr910 -dpart=auto -dserial=/dev/ttyS1 -dspeed=19200
--upload if=Ledtest.hex

- avrdude semmelt mit folgender Meldung ab:

[naumannu@meiner Ledtest]$ avrdude -p 1200 -c avr910 -P /dev/ttyS1 -D
-V -U flash:w:Ledtest.s

Found programmer: Id = "AVR DEV"; type = S
    Software Version = 7.1; Hardware Version = 0.0

Programmer supports the following devices:
    Device code: 0x12 = (unknown)
    Device code: 0x13 = AT90S1200
    Device code: 0x86 = (unknown)
    Device code: 0x38 = AT90S8515

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100%
0.01s

avrdude: Device signature = 0x01901e
avrdude: reading input file "Ledtest.s"
avrdude: input file Ledtest.s auto detected as Motorola S-Record
avrdude: writing flash (18 bytes):

Writing |                                                    | 0%
0.00savrdude: serial_recv(): programmer is not responding
[naumannu@meiner Ledtest]$


Ist für das A96021000b-Board evtl. avr910 die falsche Einstellung?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.