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.
Hier mal nachschauen da gibts auch ne Beschreibung wie man den AVRISP auf ATtiny umrüstet. http://www.klaus-leidinger.de/mp/Mikrocontroller/AVR-Prog/AVR-Programmer.html#ATTiny2313
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
Ich bin kein experte. Aber solltest du hir nicht etwas auskommentieren um deine Baudrate fest zu legen? ;**** Constant declarations Data Rate **** ;******** Chrystals for maximum Baudrates ;.equ XTAL = 14746 ; XTAL frequency, Khz (14.746 Mhz) ;******** ;.equ BAUD = 115200 ; Data rate, bauds ;.equ N = 7 ; for 7.3728 Mhz/115.200Baud ;******** ;.equ BAUD = 38400 ; Data rate, bauds ;.equ N = 11 ; for 7.3728 Mhz/38.400Baud ;******** ;.equ BAUD = 19200 ; Data rate, bauds ;.equ N = 23 ; for 7.3728 Mhz/19.200 Baud ;********* ;******** 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 ;******** ;.equ BAUD = 38400 ; Data rate, bauds ;.equ N = 11 ; for 7.3728 Mhz/38.400Baud ;******** ;.equ BAUD = 19200 ; Data rate, bauds ;.equ N = 23 ; for 7.3728 Mhz/19.200 Baud ;********* ;**** definitions for different chrystals and 115.200 baud **** ;.equ XTAL = 3686 ; XTAL frequency, Khz (3.6864 Mhz) ;********* ;.equ BAUD = 115200 ; Data rate, bauds ;.equ N = 1 ; for 3.6864 Mhz/115.200Baud ;********* ; ;********* Baudrates for 8 Mhz Chrystal ;.equ XTAL = 8000 ; XTAL frequency, Khz (8.000 Mhz) ;********* ;.equ BAUD = 38400 ; Data rate, bauds ;.equ N = 12 ; for 8.00 Mhz/38.400 Baud ;********* ;.equ BAUD = 19200 ;Data rate, bauds ;.equ N = 25 ; for 8.00 Mhz/19.200 Baud ;********* ;.equ BAUD = 9600 ; Data rate, bauds ! Not valid for AVRProg, use for avrdude only ! ;.equ N = 51 ; for 8.00 Mhz/9.600 Baud ;********* ;********* Baudrates for 4 Mhz Chrystal ;.equ XTAL = 4000 ; XTAL frequency, Khz (4.000 Mhz) ;********* ;.equ BAUD = 19200 ; Data rate, bauds ;.equ N = 12 ; for 4.00 Mhz/19.200 Baud ;********* ;.equ BAUD = 9600 ; Data rate, bauds ! Not valid for AVRProg, use for avrdude only ! ;.equ N = 25 ; for 4.00 Mhz/9.600 Baud ;*********
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.
PonyProg sagt, dass CLK/8 nicht gesetzt ist. Ich versuchs jetzt mal mit ner niedrigen Baudrate.
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.
Gnipfel wrote: > Ja, hab ich eingefügt. > Bekomme aber dennoch keine Verbindung her. Welche Software verwendest du zum Flashen? AVRPROG?
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.
kommt bei mir beim assemblieren auch, aber kein Problem, der Assembleroutput läuft bei mir. (7,3728 MHz; 115200 Baud)
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.