Forum: Mikrocontroller und Digitale Elektronik AVR910 + AT90S2313 Problem


von Asterix-007 (Gast)


Lesenswert?

Moin Männers,

wir sitzen hier schon ein paar Tage vor einem Problem. Ich habe einen
AN910-ISP vom Klaus nachgebaut. Dieser funzt auch bis jetzt klasse und
besitzt die Softwareversion 3.7. Ich habe damit schon einiges gemacht
und unter anderem auch mit einem weiteren AT90S2313 "gespielt"

Im Zuge einer Neukonfiguration meinens Arbeitsrechners (format c:) habe
ich mir die aktuellste Version von AVR-Studio aufgespielt, zusammen mit
Win-AVR. In Zusammenarbeit mit meinem Olimex-JTAG und einem ATmega128
geht alles problemlos.
Aber wehe du versuchst mit dem ISP den oben genannten AT90S2313 zu
brennen!!! Dann bekomme ich immer eine Fehlermeldung, welche mir sagt,
daß er einen anderen Speicherbereich erwartet als er tatsächlich
bekommt!
Zur Beachtung: Das Auslesen des µC's funktioniert und auch ein Verify
mit der ausgelesenen Software. Also schlußfolgere ich, dass der ISP
zumindest teilweise funktioniert, Verbindung aufbaut und liest.
Das gleiche Problem trat mit einem Tiny26 auf!

Als Programm verwende ich das Beispiel aus dem AVR-Tutorial links
oben!! Daran sollte es nicht liegen! :-)

Meine Frage: hat jemand von euch ähnliche Erfahrungen gemacht??

Danke für eure Hilfe!
mfg

Asterix-007

von Peter (Gast)


Lesenswert?

Hallo, hast du es evtl mal mit AVRDUDE probiert??

von Asterix-007 (Gast)


Lesenswert?

Nö, noch nicht!

Ich hatte immer das AVR-Studio im Verdacht!
Ich probiers heute abend mal!
Danke!

mfg

Asterix-007

von Klaus Leidinger (Gast)


Lesenswert?

Asterix:

das hört sich so an, als ob du per .org statement einen Adressbereich
ausserhalb des 2K Flash definiert hast...

Kannst Du die genaue Fehlermeldung und ev. das .hex File mal posten?

Ciao,
Klaus

von Asterix-007 (Gast)


Lesenswert?

Hallo Klaus,

hier mein Quelltext:

.include "2313def.inc"       ;bzw. 2333def.inc

         ldi r16, 0xFF
         out DDRB, r16       ;Port B durch Ausgabe von 0xFF ins
                             ;Richtungsregister DDRB als Ausgang
konfigurieren
         ldi r16, 0x00
         out DDRD, r16       ;Port D durch Ausgabe von 0x00 ins
                             ;Richtungsregister DDRD als Eingang
konfigurieren

         ldi r16, 0xFF
         out PORTB, r16      ;PORTB auf 0xFF setzen -> alle LEDs aus

loop:    sbic PIND, 0        ;"skip if bit cleared", nächsten Befehl
überspringen,
                             ;wenn Bit 0 im IO-Register PIND =0 (Taste
0 gedrückt)
         rjmp loop           ;Sprung zu "loop:" -> Endlosschleife

         cbi PORTB, 3        ;Bit 3 im IO-Register PORTB auf 0 setzen
-> 4. LED an

ende:    rjmp ende           ;Endlosschleife

Es ist exakt derselbe wie im Tutorial, nur auf 2313 geändert.

Kann es sein, das die .def nicht stimmt? Wobei, dann hätte es ja mit
dem Tiny26 gehen müssen.
Die Fehlermeldung poste ich heute Abend, wenn ich am Gerät sitze.
Sie lautet in etwa:" ... 0x0FEF expected, found 0xFFFF "
Sie war bei beiden IC's, glaub ich, identisch. Genaueres heute Abend!

Kannst du mir kurz umreißen was es mit dem .org-Statement auf sich
hat?

Danke!

mfg

Asterix-007

von Klaus Leidinger (Gast)


Lesenswert?

Asterix,

>Sie lautet in etwa:" ... 0x0FEF expected, found 0xFFFF "

das deutet wiederrum eher auf einen Fehler beim beschreiben hin.

>Kannst du mir kurz umreißen was es mit dem .org-Statement auf sich
hat?

Wenn du den Code z.B. von einem anderen Controller portiert hättest
könnte es ja sein, dass z.B. ein .org 1000 an eine Adresse springt, die
der 2313 nicht hat.

Das trifft allerdings hier nicht zu.

Um sicherziugehen, kannst Du ja das hex file mal posten, sieht aber
eher nach einem Fehler beim beschreiben aus.

Stell die Fehlermeldung heute Abend mal rein.

Bis dann,
Klaus

von Asterix-007 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Klaus,

so, im Anhang der Screenshot. Bevor es Fragen gibt, der Buildtvorgang
ging problemlos! 0 Fehler.

vielleicht hab ich ja irgend ein Setting falsch gemacht, bzw. noch
nicht konfiguriert, aber das Studio ist mit den default-Settings
installiert. Jedoch hab ich die Probleme erst mit der neuen
Installation. Die Version 3.7 lief auf der alten Installation (ich
glaub 4.09 oder .10) klaglos.

Naja, vielleicht findest du etwas. Ich geh jetzt erst mal in die
Heia.....

Danke!
mfg

Asterix-007

von Klaus L. (kllei)


Lesenswert?

Moin,

also die Fehlermeldung sagt einfach, das das Flash nicht gebrannt
wurde.

Was zeigt denn das "advanced" Fenster? Kannst Du die Signatur
auslesen?

Zu Konfigurieren gibt es ja bei AVRProg nichts, und die Verbindung zum
avr910 ist auch da. Wie lange dauert denn das brennen (inkl. verify)?
wenige Sekunden oder länger als 15?

Ich vermute ein Kontaktproblem zum Zielcontroller, vielleicht das ISP
Kabel oder die Beschaltung des 2313 (Quarz?). Ev. ist der 2313 auch
defekt. Hast Du mal einen anderen Programmer mit dem 2313 probiert?

Ebenfalls gute Nacht,
Klaus

von Asterix-007 (Gast)


Lesenswert?

Guten Morgen Klaus,

Also folgendes, was ich aus dem Hut noch weiß, genaueres heute Abend!

Der µC funktioniert, er reagiert mit einem schon gebrannten Programm,
d.h. das Programm wird abgearbeitet. Also würde ich Hardwareprobleme
(Quarz, Controller ausschließen)

Die Prozedur bis zur Fehlermeldung dauert höchstens 5s, genaueres heute
Abend.

Ein Kontaktproblem würde ich ausschließen, aber nur auf die Vermutung
hin, daß ich lesen und das gelesene auch erfolgreich verifizieren
kann.
Dagegen würde hier sprechen, das ich ein gleiches Verhalten bei einem
frischen Tiny26 habe. Wobei, wenn ich Nichts oder Undefiniertes lese
und das mit Nichts oder Undefiniertem vergleiche sollte das auch
funktionieren.....

Vielleicht hilft dir das ja schon weiter....

mfg

Asterix-007

von Asterix-007 (Gast)


Lesenswert?

Hallo Klaus,

ich habe eben noch einmal nachgeschaut:
Device-Signature : FF FF FF
Target Board     : AVR-ISP
Target SW rev    : 3.7
Calibration Byte : ----

So, alle weiteren Versuche dann morgen mit einem parallelen
Programmer.

Gute Nacht und vielen Dank!

mfg

Asterix-007

von Klaus L. (kllei)


Lesenswert?

Hi Nachteule ;-)

welchen Quarz verwendest Du?

Gute Nacht,
Klaus

von Asterix-007 (Gast)


Lesenswert?

Hallo Klaus,

nachdem ich aus meinem vorösterlichem Schalf wieder aufgewacht bin hier
noch kurz die Zahlen:

als Quarz sind auf dem Board 8MHz und der µC ist ein 2313 10PI.

mfg

asterix-007

von Klaus L. (kllei)


Lesenswert?

Hi,

OK, nachdem der Quarz nicht zu langsam ist und Du die Signatur nicht
auslesen kannst stimmt vermutlich etwas mit der ISP Verbindung nicht.
ev. kommt das Reset Signal nicht an? Miss die Verbindungen mal durch,
und zwar vom Pin des AVR910-Chips zum Zielcontrollerpin.

Am Setup kann's nicht liegen.

Das mit den ca. 5sek bis zur Fehlermeldung liegt an dem kleinen
Testprogramm. Dauert bei mir ohne Reset Verbindung ca. 3 sek. bis zum
Fehler. Das erfolgreiche Brennen dauer ca. 1 Sek!

Also mein Tipp: Reset Pin des Zielcontrollers geht nicht auf Masse.

Bis dann,
Klaus

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.