Forum: Mikrocontroller und Digitale Elektronik Wo steckt der Fehler ?


von dideldadel (Gast)


Lesenswert?

Hi,

habe (oder beser gesagt wollte) gerade anfangen mit AVR Programmierung.
Habe mir auch auf Lochraster eine kleine Schaltung aufgebaut:

AT90S8515
8MHz Oszi
10k Widerstand von Reset gegen +5V
100n Kondensator von Reset gegen Masse
LED über 470 Ohm Widerstand von Pin 28 (PortC7) gegen Masse
LED ist richtig gepolt und funktioniert auch...

Testprogramm geschrieben mit AVR Studio:


;LED test

.include "8515def.inc"

ldi r16, 0xFF
out DDRC, r16

loop:
ldi r16,0xFF
out PORTC,r16
rjmp loop

.hex Datei mit Ponyprog und BA1FB-Programmer in den AVR geladen. Zur
Probe in Ponyprog den Buffer gelöscht und Programm vom AVR gelesen,
alles OK !!

NIX, rein gar nix passiert !!! Dunkle LED ....

Security-Bits ausgelesen, sehr interessant. Nichts detailiertes zu
sehen nur 7,6,5,4,3,LockBit2,LockBit1,0 , kann auch nur die Häkchen bei
LockBit1 und LockBit2 verändern... Ich war der Meinung das da eigentlich
alles detailiert stehen sollte, z.B. CKSEL0...3 oder BODEN ?!?!?!?


Jemand ne Idee??
Danke schon mal!!!

von dideldadel (Gast)


Lesenswert?

niemand ne idee? wie gesagt, kann den flash beschreiben und auch wieder
lesen, aber das prog scheint nicht zu laufen. ich gehe davon aus das es
an den fusebits liegt...wie kann ich das herausfinden?

von Schorschi (Gast)


Lesenswert?

hi,

schau mal was an dem pin anliegt wenn deine FW läuft.
Probier mal das Programmiergerät aus zu stecken und mach
nen Reset (schaltun aus und dann wieder an).

gruss,
schorschi.

von dideldadel (Gast)


Lesenswert?

hi, alles schon durch (einschalten, ausschalten, reset...). spannung
bleibt auf null am pin (obwohl ja auf HIGH programmiert ?!?!?!) was
mich irgendwie stutzig macht, ist das ich die FUSEBITS nicht im
"Klartext" lesen und modifizieren kann, so wie. z.B. in der Hilfe von
Ponyprog beschrieben....

Ich weiß im moment nur, das der Flash beschrieben wird und nach einem
löschen des buffers auch alles wieder ordenlich eingelesen wird. das
Programm wird einfach nicht ausgeführt - tippe ich mal. aber dazu müßte
ich an die fusebits heran kommen um festzustellen warum der AVR nix
macht

von Christian Zietz (Gast)


Lesenswert?

@dideldadel: Die FUSEbits des '8515 sind nicht über ISP zugänglich (s.
Datenblatt). Es gibt auch kein Fusebit, das Dein Programm am Laufen
hindern könnte. Was Du in Ponyprog siehst, sind die LOCKbits.

Da das Programmieren ja funktioniert, läuft der Oszillator schon mal.
(Oder liefert Dein Programmer seinen eigenen Takt?) Geht Reset wirklich
auf High, wenn Dein Programm starten soll (Lötbrücken etc.)?

Christian

von dideldadel (Gast)


Lesenswert?

Hi,

ja, Multimeter an Reset (pin9) zeigt 5V und während des programmierens
geht der pegel an Reset auf Low. danach wieder auf high.

Der Programmer ist ne einfache Version mit 4 Widerständen, hab ich von
hier:

http://www.qsl.net/ba1fb/avrisp.gif

von dideldadel (Gast)


Lesenswert?

ergänzung: das oscillation calibration byte wird als "0xFF" ausgelesen

von Schorschi (Gast)


Lesenswert?

hi,

wo hast du den µC her?
Ist er neu oder wurde er schon mal wo ferwerdet?

gruss,
schorschi.

von dideldadel (Gast)


Lesenswert?

hi,

der lag noch rum :-) 2001 bei reichelt bestellt....

von dideldadel (Gast)


Lesenswert?

noch mal ich ... :-)

kann es sein, das man sich nur einzelne sektionen des AVR schießen
kann, so (wie in meinem Fall) das wirklich nur noch der Flash
funktioniert ??

Kann das an dem 4-Widerstands-billig-Programmer liegen ???

der AVR ist zwar schon ein paar tage alt, war aber originalverpackt und
ich habe auch auf die ganzen anderen Sachen bezüglich elektrostatische
Entladung etc. gedacht...

mir wäre wirklich jede idee wichtig woran es liegen könnte...hab zwar
noch einen '8535 rumliegen, aber bevor ich den verbaue und nochmal
probiere wäre es mir lieber wenn ich vorher wüßte ob mein AVR evtl.
doch schon vorher geschossen war und ich mit meinem billig Programmer
wahrscheinlich so ziemlich alle folgenden AVR's auch schießen kann...

von condor (Gast)


Lesenswert?

hallo

Hast du dein programm auch ins flash programiert ? (nicht ins eeprom)

schwingt den dein quarz auch richtig an (mit oszi 10:1 messen)?

von dideldadel (Gast)


Lesenswert?

Hi,

für das EEPROM müßte doch meine Datei die Endung .eep haben, bin mir
1000% sicher die .hex Datei ins Flash geschrieben zu haben

Ich habe ein Quarzoszillator-Baustein verwendet, keine Kombination aus
Quarz und Kondensatoren. Und wie schon weiter oben bemerkt, sollte doch
der AVR gar nicht zu programmieren sein oder Takt?!?!
Einen Oszi habe ich momentan leider nicht zur Verfügung, aber ich habe
noch ein Quarz herumliegen, evtl. werde ich mal schnell einen Oszi
zusammenbauen.

von Wolfgang (Gast)


Lesenswert?

Was ist mit dem Reset-Vektor. Wo Zeigt der hin? Muß er nicht auf den
Programmanfang gesetzt werden? Wo steht das Programm nach
Assemblierung?  Bei "C" erledigt der Start-Up das für einen. Schau
doch mal ob es Bsp.Programme für Assembler gibt.

mfg Wolfgang

von dideldadel (Gast)


Lesenswert?

Hi,

also ich habe nichts selbst am RESET-Vektor verändert, demnach müßte er
noch auf Adresse 0000 zeigen. Dort startet auch mein Programm. Nach
einem Reset sollte es also automatisch starten.

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.