Hallo zusammen,
hab mir einen AVRISP selbergebaut.
Leider tut das Ding nicht so wie es soll.
Ich kann zwar ein Programm auf den ATTINY2313 schreiben, aber wenn ich
versuche damit ein ATMEGA8-Board zu flashen, dann geht das nicht.
Die Fuses sind korrekt gesetzt und auch sonst finde ich keinen Fehler.
An der Software kanns auch nicht liegen, weil ein bekannter das gleiche
Teil hat und bei Ihm funktionierts.
Wäre klasse, wenn ihr mal den Schaltplan anschauen könntet.
Mfg
Gnipfel
> Wäre klasse, wenn ihr mal den Schaltplan anschauen könntet.
Der Atiny und der AT90S sind nicht kompatibel. Oder ist der im
Schaltplan nur so beschrieben? Welche Firmware verwendest du?
Hallo Steven,
der ist nur im Schaltplan so beschrieben, weil die beiden Pinkompatibel
sind.
Als Firmware verwende ich AVR910.
Hab im Anhang mal das ASM-File drin.
Habe zwei AVRISP. Einen mit 14,745MHz und einen mit 7,3728MHz.
Bei beiden funktioniert das flashen des ATMEGA8 nicht, weil ich keine
Verbindung aufbauen kann.
Gnipfel wrote:
> Sorry war das falsche .asm
Probiere mal mein angepasstes. Das sollte für den Atiny funktionieren.
AN910 geht nicht.
http://steven-wetzel.de/atmel/doc/an910_neu_source.zip
Deine Source scheint schon angepasst zu sein, jedoch mit dem falschen
Include.
Ich habe noch etliche Leerplatinen (glaub 9 Stück) für einen USB-AVRISP,
die ich eh nicht mehr benötige. Falls da jemand was möchte. Schaltplan
ist hier dazu:
http://steven-wetzel.de/atmel/doc/an910_neu.pdf
Im mom ist glaub ich das eingestellt
;******** Chrystals for maximum Baudrates
.equ XTAL = 7373 ; XTAL frequency, Khz (7.3728 Mhz)
;********
.equ BAUD = 115200 ; Data rate, bauds
.equ N = 3 ; for 7.3728 Mhz/115.200Baud
vielleicht ist die Baudrate zu hoch
Probier doch mal ne kleinere
Von der Seite
http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#ATTiny2313
der Hinweis:
>Achtung! Nicht alle haben einen 7,3728 Mhz Quarz herumliegen und einige >Programmer bzw. einige PCs (selten) machen offenbar Probleme mit den >115200
Baud. Im Sourcefile habe ich deshalb einige Zeilen mit >alternativen Quarzen und
Baudraten eingefügt. Einfach die passenden >Zeilen auskommentieren, (die anderen
dann wieder kommentieren) und den >Code compilieren.
aber wie gesagt bin kein experte und beschäftige mich auch erst seit ein
paar Tagen damit
OMG
Sorry
Nochmal
>Achtung! Nicht alle haben einen 7,3728 Mhz Quarz herumliegen und einige>Programmer bzw. einige PCs (selten) machen offenbar Probleme mit den>115200 Baud. Im Sourcefile habe ich deshalb einige Zeilen mit>alternativen Quarzen und Baudraten eingefügt. Einfach die passenden>Zeilen auskommentieren, (die anderen dann wieder kommentieren) und den>Code compilieren.
Gnipfel wrote:
> @Steven: Vielen Dank für den Code, aber leider funktioniert es immernoch> nicht.
Hast du das mit dem mitgelieferten include probiert?
Was für einen Quarz verwendest du?
Die Quellen müssen natürlich auf den richtigen Quarz abgestimmt werden.
Denk ich mir auch. Teste gerade noch verschiedene Einstellungen.
Mir ist aufgefallen, dass beim übersetzen von Deinem Programm eine
Warnung
ausgegeben wird:
"Register r28 already defined by the .DEF directive"
"Register r29 already defined by the .DEF directive"
Gnipfel wrote:
> Denk ich mir auch. Teste gerade noch verschiedene Einstellungen.> Mir ist aufgefallen, dass beim übersetzen von Deinem Programm eine> Warnung> ausgegeben wird:>> "Register r28 already defined by the .DEF directive"> "Register r29 already defined by the .DEF directive"
Ja, ist eine doppelte Definition. Im inlcudefilee wird r28 und r29 YL
bzw YH zugewiesen. Im asm-File wird diese Definition überschrieben. YL
wird ja als Name nie verwendet.
Du kannst im asm-File alle addrl und addrh durch YL und YH ersetzen oder
einfach diese Zellen im include auskommentieren (wäre aber unsauber)
oder einfach die Warnung ignorieren.
Also der AVRISP läuft zwar immernoch nicht, aber trotzdem vielen Dank
für die vielen Antworten und Hilfestellungen.
Werde es weiter versuchen die Fehlerquelle zu ermitteln.