Hallo,
ich verwende den Bootloader von mthomas
(http://www.siwawi.arubi.uni-kl.de/avr_projects/index.html#avrprog_boot)
auf einem ATmega16. Mit dem AVR-Studio lässt sich der Controller
programmieren, mit avrdude 5.1 bekomme ich aber beim Schreiben folgende
Fehlermeldung (Lesen funktioniert problemlos):
kosmonaut pirx wrote:
> mal "butterfly" probiert?
Ist nur ein anderer Name fuer "avr910".
> die baudrate, soll die wirklich so krumm sein?
Was ist an 38400 denn krumm? Das ist die hoechste der
standardisierten Baudraten. 57600 und 115200 ergaben sich
lediglich aus der eigenartigen Quarzfrequenz, die im Ur-PC
fuer die UART verbaut worden war.
ohne abzuschweifen: warum gibt es in avrdude zwei implementationen, für
avr910 und butterfly? dass die sehr ähnlich sein sollen, ist mir
bekannt. wo der unterschied liegt, kA.
und ja, 38400 ist die höchste standardisierte, da haste recht (und wer
recht hat,.. :)
kosmonaut pirx wrote:
> ohne abzuschweifen: warum gibt es in avrdude zwei implementationen, für> avr910 und butterfly?
Gibt es gar nicht: beides sind nur verschiedene Namen in der
avrdude.conf fuer ein und dieselbe Implementierung. "butterfly"
war zuerst da, weil dieser Bootloader im AVR Butterfly sein
Leben begonnen hat. Spaeter hat Atmel diesen in der Appnote
AVR910 ein wenig verallgemeinert implementiert, wir haben den
AVRDUDE-Code des Butterfly ein wenig angepasst, und im avrdude.conf
einen zweiten Namen dafuer hinterlegt. (Der Code der Appnote
enthaelt in einem Unterverzeichnis auch noch den originalen Sourcecode
des Butterfly-Bootloaders.)
hm, avr910.c avr910.h und butterfly.c und butterfly.h . wenn ich's
richtig kapiert habe, ist avr910 eine verallgemeinerte implementierung
des butterfly.
anyway, ot.
Sorry, ich hab' AVR910 und AVR109 verwechselt.
Ja, AVR910 ist in der Tat getrennt davon. Butterfly/AVR109 ist zwar
davon abgeleitet, aber an vielen Stellen doch unterschiedlich
geworden. Hat nicht viel Sinn, die in eins zu quetschen.
ok.
nochmal zu dem bootloader zurück:
ich habe festgestellt, das dessen berechnung der baudrate zwar so im
handbuch drinsteht, aber bei mehr als 8 mhz clock nicht korrekt ist.
gibt da eine alternativformel von atmel, aber bevor ich nicht kapiert
habe, warum die besser rechnet, erübrigen sich weitere schritte
meinerseits bisher.
daher dachte ich, die baudrate macht probleme, so war es bei mir. weiß
nicht, wieviel clock der mega16 überhaupt mag, beim mega32 habe ich
grade was von max. 16mhz gelesen.
durch -F zwingst du avrdude fortzufahren, obwohl folgender fehler
aufgetreten ist:
>avrdude: error: selected device is not supported by programmer: m16
Doch, wird auch vom AVR-Studio richtig als ATmega16 erkannt. -F braucht
man, weil avrdude die Bootloader-Signatur für den ATmega16 nicht
erkennt. Steht auch irgendwo im Readme.
Andreas Schwarz wrote:
> Doch, wird auch vom AVR-Studio richtig als ATmega16 erkannt. -F braucht> man, weil avrdude die Bootloader-Signatur für den ATmega16 nicht> erkennt. Steht auch irgendwo im Readme.
Nimm mal ein aktuelles AVRDUDE (u. U. aus dem CVS), dort wird das nun
endlich über die Signature gemacht bei avr109/butterfly.
> avrdude: Send: F [46]> avrdude: Recv: ? [3f]> avrdude: programmer operation not supported> avrdude: Send: F [46]> avrdude: Recv: ? [3f]> avrdude: programmer operation not supported> avrdude: Send: F [46]> avrdude: Recv: ? [3f]> avrdude: programmer operation not supported> avrdude: safemode: lfuse reads as 0> avrdude: Send: N [4e]> avrdude: Recv: ? [3f]> avrdude: programmer operation not supported> avrdude: Send: N [4e]> avrdude: Recv: ? [3f]> avrdude: programmer operation not supported> avrdude: Send: N [4e]> avrdude: Recv: ? [3f]> avrdude: programmer operation not supported> avrdude: safemode: hfuse reads as 0
Fuses lesen wird offenbar von diesem Bootloader nicht unterstützt.
Damit kann "safemode" nicht wirklich funktionieren, kannst es auch
gleich mit -u abschalten. (Stört aber nicht, da safemode überall
immer nur eine 0 zu sehen bekommt.)
> Writing | | 0%> 0.00savrdude: Send: A [41] . [00] . [00]> avrdude: Recv: . [0d]> avrdude: Send: B [42] . [00] . [80] F [46] . [0f] . [ef] . [07] . [bb] .
Das Kommando sieht völlig in Ordnung aus. Da kann dir wohl nur der
Bootloader selbst erklären, warum er darauf nicht mehr reagiert.
Gibt's einen Grund, nicht gleich den originalen AVR109 zu benutzen?
Danke, das wird's gewesen sein. Mit avrdude 5.2 funktioniert es, der
kennt den richtigen device type.
@Jörg: Ich wusste nicht dass es AVR109 auch für GCC gibt.
Andreas Schwarz wrote:
> Ich wusste nicht dass es AVR109 auch für GCC gibt.
Hab ich mal portiert, und irgendwann haben die Leute von Atmel
Norwegen das dann auch endlich in das Zip-File mit reingenommen.
Den alten, unportablen IAR-Code haben sie aber auch noch liegen
lassen :-(, obwohl mein geänderter Code locker beides unterstützt.
Hallo zusammen,
ich habe auch ein kleines Problem, und zwar ich bekomme eine
Fehlermeldung programmer did not respond to command:exit bootloader
Habe einen MCU atmega8, Programmer avr911
Kann mit einer Verraten was ich falsch gemacht habe?
Sowie bekomme ich leider nicht das Porgramm geöffnet auf meinem Rechner
Mfile woran kann das liegen.
Ich habe jetzt einfach ein anderes makefile genommen eins vom meinem
Laptop. Beide Com Anschlüsse sind an beiden Rechnern gleich.
Habe auf meinem Rechner Windows 2000 SP4 installiert. Sollte doch kein
Problem geben, aber wieso bekomme ich das Programm Mfile nicht geöffnet
den auf dem Laptop habe ich XP Prof. installiert.
Vielen Dank