Hallo
Ich wollte gerade "mal eben" meinen ATmega32 durch einen ATmega644
ersetzen. Und mal abgesehen davon, dass der Code natürlich angepasst
werden muss, suche ich jetzt ein passendes ISP Programm, denn yaap und
PonyProg erkennen den µC anscheinend nicht :-(
Was benutzt ihr?
>Das was der Hersteller der Controller anbietet: AVR-Studio
Leider habe ich nur ganz einfache ISP Adapter
(http://rumil.de/hardware/avrisp.html) Parallel und Seriell. Die gehen
AFAIK doch nicht mir AVR Studio oder?
>Pony in der Version 2.07a kennt den Mega664.
Leider klappt's nicht. Den 32er erkennt Pony, den 644er nicht.
Hi,
Ron wrote:
>>Pony in der Version 2.07a kennt den Mega664.>> Leider klappt's nicht. Den 32er erkennt Pony, den 644er nicht.
Also zu Ponyprog:
Version 2.07a kennt den Mega664 laut Deviceliste, meldet jedoch Fehler
bei Programmierversuch des Mega664. (Bug in der Mega664-Erkennung)
Möglichkeit 1: Versuche bei Auftreten der Fehlermeldung über den Button
"Ignorieren" trotzdem den Atmega664 zu beschreiben.
Möglichkeit 2: Es giebt für Ponyprog V2.07a ein Patch im Ponyprog-Forum
des Anbieters der den Mega664-Fehler überschreibt. (Neue EXE-Datei)
Suche hierzu im dortigen Forum nach dem Mega664, da solltest Du fündig
werden.
MfG
Metty
Danke schon mal. Habe jetzt mit Bascom probiert und das scheint schon
mal so halbwegs zu klappen. Er erkennt immerhin den Chip und kann die
Fusebits setzen.
>Nochmal der Hinweis auf avrdude. ;-)
Danke, aber ich finde das Ding sehr schelcht dokumentiert. Ich habe
einfach keine Lust, mich durch das gewurschtel von fehlenden ANleitungen
durchzuwühlen, weil es zwar toller Programmierer gibt, aber weniger, die
Ihr Ding auch anderen erklären können. Auf der Sourceforge Seite ist ja
nicht mal klar zu erkennen, worum es geht und was das Teil unter welchem
System wie macht. Ich installiere mir kein Unix nur dafür und wie ich
das dann in WinAVR einbinde, erschließt sich mir nicht. Aber vielleicht
hast Du eine tolle Seite, wo das verständlich steht?
Bis dahin: Bascom ist keine Lösung, sondern wirklich erst PonyProg mit
Patch (http://ponyprog.sourceforge.net/phorum/read.php?2,380). Siehe
auch mein Problem hier: Beitrag "ATmega32 -> 644". Kann
einen zur Verzweifelung bringen so was. Und ich hasse wirklich PonyProg.
Das braucht ewig und nervt mit Fragen. Aber ich hasse noch mehr
schlechte Dokus (also kein AVRDude ohne brauchbare Instruction)...
ich habe den 644 immer mit avrdude programmiert... u. so schlecht ist
das ganicht dokumentiert. man muss lediglich den programmieradaptertyp
u. den controllertyp angeben u. sagen dass man programmieren (schreiben)
will, die datei angeben u. sagen dass es intelhex format ist. u. schon
wird der 644 problemlos programmiert
Ron wrote:
>Nochmal der Hinweis auf avrdude. ;-)> Danke, aber ich finde das Ding sehr schelcht dokumentiert.
Ach, hast du die Doku denn gelesen?
> Auf der Sourceforge Seite ist ja> nicht mal klar zu erkennen, worum es geht und was das Teil unter welchem> System wie macht.
Sourceforge? Dass du dort keine Doku zu avrdude findest, wundert mich
nicht.
Avrdude ist hier zu Hause:
https://savannah.nongnu.org/projects/avrdude/
OK, die Doku könnte man mal separat bauen und ins Download legen.
...
Habe ich gleich mal mit gemacht. ;-) Die wäre aber auch bei
WinAVR mit dabei, und irgendwoher musst du ja dein Binary ohnehin
bekommen.
> Ich installiere mir kein Unix nur dafür und wie ich> das dann in WinAVR einbinde, erschließt sich mir nicht.
Das WinAVR-Makefile-Template hat sogar schon Beispiele, da musst
du nur noch in zwei Make-Variablen den Namen und Port deines
Programmers hinterlassen...
Freut mich, daß ihr mich gleich so ernst nehmt und Euch Gedanken macht.
Ist Recht: nicht Sourceforge. Hatte ich verwechselt, da ich es schon
einige Zeit nicht mehr betrachtet hatte und die Seite
http://savannah.nongnu.org/projects/avrdude mich ein wenig daran wohl
erinnerte - zumindest, was das Chaos angeht. Sorry, aber ich find's
blöd. Mag ja ganz toll Projektbezogen sein, aber mich als (durchaus
fähiger) Anwender überzeugt's nicht. Vielleicht gehe ich bei der Suche
nach Infos aber auch anders vor als andere?
Ich habe es jetzt noch mal versucht, und siehe, es läuft aber dabei hat
mir die Homepage vom Projekt gar nicht helfen können, sondern ich habe
alles einzeln zusammensuchen müssen. Zum Beispiel was soll man mit einem
tar.gz machen? Klar, ich kann auch Unix und bei meinem Web Server weiß
ich, was das ist aber der durchschnittliche Windows Nutzer? Und waozu
auch? Wie sich dann zeigte, ist avrdude bei WinAVR dabei, aber das
erfährt man auch nur nebenbei beim Suchen nach Infos. Und dann fehlte da
die Datei libusb0.dll (warum auch immer), also die auftreiben. Und dann
muß man install_giveio.bat ausführen und so weiter und so fort. Das ist
nicht Windows-Consumer-Freundlich. Bis man das alles zusammen hat. Und
dann will ich einfach keine Fuse-Bits auf Kommandoebene setzen. Die
Zeiten sind vorbei! Ich will ein GUI also auch da wieder das Spiel der
Doku... Aber ich kapier ja auch nicht, warum es noch Leute gibt, die
meinen, man muß Bits per Assembler schubsen...
Nun, es scheint erst mal zu laufen.
Und die wichtigste Erkenntnis dabei war, daß es ja gar nicht an meinem
Code lag, sondern daran, daß die andere Programmersoftware Mist baute.
Vielleicht lernt ja jemand mal aus meinem Rätselraten...
Ron wrote:
> http://savannah.nongnu.org/projects/avrdude mich ein wenig daran wohl> erinnerte - zumindest, was das Chaos angeht. Sorry, aber ich find's> blöd. Mag ja ganz toll Projektbezogen sein, aber mich als (durchaus> fähiger) Anwender überzeugt's nicht.
Naja, es ist halt eine Projektseite, die hat ein vorgefertigtes
Layout, dass man nicht für jedes Projekt ändern kann. Aber von dort
zur "Homepage" zu finden, sollte doch nicht wirklich schwer sein,
oder?
> Zum Beispiel was soll man mit einem> tar.gz machen?
Wenn man nicht auf Unix ist und einen tar besitzt, vielleicht einfach
mal durch Winzip schicken?
> Wie sich dann zeigte, ist avrdude bei WinAVR dabei, aber das> erfährt man auch nur nebenbei beim Suchen nach Infos.
Ach? Das steht doch aber bei WinAVR ziemlich in jedem Announcement.
Wo willst du es denn sonst gern noch haben?
> Und dann fehlte da> die Datei libusb0.dll (warum auch immer), also die auftreiben.
Warum fehlt die? Das wäre ein WinAVR-Bug.
> Und dann> muß man install_giveio.bat ausführen und so weiter und so fort.
Auch hier hätte ich erwartet, dass WinAVR das von allein tut. Aber
ich hab' kein Windows. giveio braucht aber andererseits auch nicht
jeder, sondern nur die, die einen billigen Parallelport-Bitbang-
Dongle benutzen. (Das werden wahrscheinlich im Zeitalter von
USB-only-Computern mit der Zeit immer weniger.)
> Und> dann will ich einfach keine Fuse-Bits auf Kommandoebene setzen. Die> Zeiten sind vorbei!
So?
Die Zeiten von bunten Bildchen sind bei mir seit dem Kindergarten
vorbei... Mittlerweile kann ich nämlich lesen und schreiben. ;-)
Es gab mal einen Versuch für ein GUI, aber dafür haben sich nicht
wirklich nennenswert Entwickler interessiert. Der Original-Entwickler
hat neben Familie und Beruf keine Zeit mehr dafür, schade.
Mittlerweile gäbe die interne avrdude-Struktur relativ einfache
Möglichkeiten, ein GUI an Stelle der Kommandozeile drüberzulegen. Es
muss aber halt jemand machen. Ist leider ein wenig aufwändiger, als
sich über das fehlende GUI zu beklagen...
libusb0.dll fehlte. Ich hatte gerade erst eine frische WinAVR Install
gezogen. Aber wer weiß, vielleicht muß man da wieder was für lesen -
irgendwo? Na ich hab's ja rausgekriegt.
Bunte Bilder sind schick, ich tippe schon beruflich genug.
Parallelports sind nur bei Laptops out, aber sonst zum Glück noch nicht.
Aber ein nettes GUI ist auf den ersten Blick
http://avr8-burn-o-mat.aaabbb.de/
> libusb0.dll fehlte.
Das wäre ernsthaft ein WinAVR-Bug. Die sollte dabei sein (wenngleich
sie auch wohl nicht richtig funktionert, weil Eric da was anderes
vergurkt hat).
> Bunte Bilder sind schick
Naja, Ansichtssache. ;-) Gerade bei Ponyprog sind sie ja ziemlich
berüchtigt dafür, dass die Leute sich ihre AVRs zerfuset haben.
Da denke ich lieber einmal mehr über die Hexwerte meiner Fuses nach.
Hallo,
mein WINAVR (Version 20070525) bringt wenn ich den Atmel programmieren
will auch die Fehlermeldung "libusb0.dll nicht gefunden". Sie ist aber
im Verzeichnis winavr\utils\libusb\bin. Beim suchen im Internet habe ich
diese Seite gefunden. Leider steht hier aber nicht die Lösung! Kann mir
bitte einer helfen.
Gruß
Gerhard
gerhard99 wrote:
> diese Seite gefunden. Leider steht hier aber nicht die Lösung!
Gehe zu:
http://sourceforge.net/projects/libusb-win32/
und installiere dir libusb-win32 über den Installer.
@Ron
Ich verstehe dein problem wirklich nicht so ganz wenn man eine
Suchmaschiene benutzen kann findet man auch recht schnell die gesuchten
infos, + eine java oberfläche für avrdude in der man die fuses schön per
häkchen zusammenklicken kann.
Weiterhin würde ich dir mal ans herz legen dir nen etwas besseren
Programmer zu baun, wie schon gesagt gibts einiges was STK500v2
kompatibel ist damit hast du nie wieder das problem nen neuen Controller
nicht flashen zu können und weiterhin ist das um einiges schneller als
Bitbaning wenn du ewig nur n paar LED´s ansteuern willst und deine
Programme nicht über 2K hinauskommen ist das sicherlich egal aber wenn
man beim debuggen alle 2 min n Programm in den Controller schiesst udn
das dann 3 min dauert ist das schon nervig...
>Die Zeiten von bunten Bildchen sind bei mir seit dem Kindergarten>vorbei... Mittlerweile kann ich nämlich lesen und schreiben. ;-)
Naja Jörg, ich bin auch Kommandozeilenfan aber deswegen gibt es doch
einige klickie buntie Sachen die das Leben erheblich einfacher machen.
Und du willst mir doch nicht erzählen das du kein X hast oder ? Nacher
hast noch n KDE was ;)
Christian Ulrich wrote:
>>Die Zeiten von bunten Bildchen sind bei mir seit dem Kindergarten>>vorbei... Mittlerweile kann ich nämlich lesen und schreiben. ;-)>> Naja Jörg, ich bin auch Kommandozeilenfan aber deswegen gibt es doch> einige klickie buntie Sachen die das Leben erheblich einfacher machen.
Das habe ich ja nicht abgestritten.
> Und du willst mir doch nicht erzählen das du kein X hast oder?
Ich habe nirgends behauptet, noch wie vor 17 Jahren an einem VT320 zu
sitzen. ;-)
Was ich aber bei den X11-Applikationen sofort und als erstes abschalte
sind all diese Leisten mit den bunten Kindergartenbildchen. Die
nehmen bloß Platz weg, und ab 100 Bildern in den Leisten kann man sich
sowieso nicht mehr merken, welches Bild wofür da sein soll. Da kann
ich mir gleich lieber die Tastenkürzel merken, und wenn ich die
vergessen habe, gibt's noch Menüs.
> Nacher> hast noch n KDE was ;)
Kommt mir nicht ins Haus. Zu groß, zu langsam, zu viel Platz auf dem
Bildschirm. Kein virtueller Desktop, sondern nur unabhängige
workspaces. Das heißt nicht, dass ich nicht auch 'ne KDE-Applikation
benutzen würde, wenn sie das tut, was ich gerade brauche, aber für
eine Flasche Milch muss man sich ja nicht gleich eine Kuh kaufen. ;-)
Da Ponyprog den 644 nur nach einem Patch programmieren kann, habe ich
auf AVRDUDE umgestellt.
Dazu habe ich das neueste WINAVR vom 25.05.2007 installiert und die
Einstellungen für AVRDUDE vorgenommen. Mein Programmierer (serieller
Ponyprogprogrammierer 'siprog') sollte nach Mitteilungen im Forum
funktionieren, ist aber in der AVRDUDE-Anleitung (vom 21.12.06) nicht
verzeichnet. Nach einigem Suchen habe ich in der Konfigurationsdatei den
Eintrag siprog gefunden. Die Aufstellung der Programmierer in der
AVRDUDE-Anleitung ist unvollständig.
Nach den Start meldete AVRDUDE die fehlende libusb0.dll. Das lies sich
dank der Anleitung in diesem thread einfach beheben.
Zur Zeit verhält sich mein ATmega32 nach dem Programmieren merkwürdig.
Ich vermute ein Problem mit den Fuses.
Hier verhält sich AVRDUDE abweichend von der Anleitung.
Die Meldung:
avrdude: safemode: Fuses OK
erscheint nicht so wie in 2.2 der Anleitung gezeigt.
Den Parameter -u habe ich nicht gesetzt.
Hat schon einmal jemand dieses Problem gehabt?
Kann mir jemand schreiben, wie ich unter Windows evtl. mit dem
Programmers Notepad? in den Terminalmode des AVRDUDE komme?
Gruß
Joachim
Joachim Börke wrote:
> Die Aufstellung der Programmierer in der> AVRDUDE-Anleitung ist unvollständig.
Bitte schreibe hier einen Bugreport:
https://savannah.nongnu.org/bugs/?group=avrdude> Zur Zeit verhält sich mein ATmega32 nach dem Programmieren> merkwürdig. Ich vermute ein Problem mit den Fuses.
Kannst du das näher erläutern? (Da das subject einen ATmega644 nennt,
vielleicht besser in einem neuen Thread.)
> Die Meldung:> avrdude: safemode: Fuses OK> erscheint nicht so wie in 2.2 der Anleitung gezeigt.
Wie sieht sie denn aus?
> Kann mir jemand schreiben, wie ich unter Windows evtl. mit dem> Programmers Notepad? in den Terminalmode des AVRDUDE komme?
Naja, PN ist ja eher eine Art GUI, während der Terminalmode
Interaktion braucht. Ich denke, den musst du wirklich direkt von der
Kommandozeile (also aus dem cmd.exe heraus) starten.
Hallo Jörg,
danke für die schnelle Antwort.
Bevor ich auf den 644 umsteige, wollte ich das neue WINAVR mit dem
AVRDUDE erst einmal auf dem ATmega32 probieren. Damit habe ich nur zwei
Unbekannte (WINAVR und AVRDUDE), andernfalls käme der 644 als dritte
Unbekannte hinzu.
Die WINAVR-Neuerungen (_spawnv-Problem) habe ich bereits gelöst.
Der Controller arbeitet meine uip-Anwendung ungewöhnlich langsam ab.
Deshalb wollte ich die Fuses zur Taktgenerierung prüfen.
Die Meldung:
avrdude: safemode: Fuses OK
ist in der Anleitung vermerkt, fehlt jedoch in meiner Ausgabe.
Ich habe inzwischen festgestellt, dass der Parameter -p partno
in meinem makefile mit "atmega32" besetzt wird. Die Anleitung fordert
jedoch das Kürzel "m32". Das Makefile ist dagegen so ausgelegt, dass GCC
und AVRDUDE mit dem gleichen Parameter arbeiten.
Als MCU-Typ wird im Handbuch "ATmega32" genannt. Im Konfigurationsfile
steht dagegen "ATMEGA32". Ich werde mal probieren, ob das relevant ist.
Gruß
Joachim
Joachim Börke wrote:
> Die Meldung:> avrdude: safemode: Fuses OK> ist in der Anleitung vermerkt, fehlt jedoch in meiner Ausgabe.
Hmm, kann sein, dass die mittlerweile entfernt worden ist. Ich habe
gerade keinen AVR eingeschaltet und will dann auch ins Bett gehen...
> Ich habe inzwischen festgestellt, dass der Parameter -p partno in> meinem makefile mit "atmega32" besetzt wird. Die Anleitung fordert> jedoch das Kürzel "m32".
Das ist egal. Der volle Name wird akzeptiert (ohne Rücksicht auf
Groß-/Kleinschreibung), damit ist avrdude immer kompatibel mit den
restlichen Tools (avr-gcc, avr-as). Der Kurzname (m32) ist eher für
diejenigen gedacht, die das Kommando mit der Hand eintippen und daher
nicht immer den langen Namen schreiben wollen.
Wenn der mit -p genannte Prozessor nicht mit der Chip-ID
übereinstimmt, würde avrdude dir das schon sagen. ;-)
Hallo,
ich wollte mal den Ponyprog mit dem o.a. Patch ausprobieren. Dabei ist
mir folgendes aufgefallen, die Größe des Ursprungsprogramms liegt bei
556kB und mit dem Patch bei 1204kB. Ist das richtig das nur für die
fehlerfreie Unterstützung des AtMega664 mehr als das doppelte
Programmcode notwendig ist?
Gruß
Gerhard
Hallo Jörg,
in der Anleitung stand man sollte die Ponyprog2000.exe austauschen. Bei
diesen beiden Dateien besteht der Unterschied. Dies erscheint mir etwas
merkwürdig.
Gruß
Gerhard
> Kann mir jemand schreiben, wie ich unter Windows evtl. mit dem> Programmers Notepad? in den Terminalmode des AVRDUDE komme?
Du musst das makefile ändern, und zwar bei den Parametern des avrdude
einfach ein -t dazuschreiben.
Wenn Du im Terminalmode bist, kannst Du ihn mit q beenden.
n.b.
Der Parameter -Enoreset bewirkt, dass nach dem Programmieren der
Prozessor losläuft.
gerhard99 wrote:
> in der Anleitung stand man sollte die Ponyprog2000.exe austauschen. Bei> diesen beiden Dateien besteht der Unterschied.
Das heißt, du hast nur die Dateigröße angeguckt? Das ist Schall und
Rauch. Da steht u. U. alles mögliche mit drin, was später nicht
geladen wird (letzlich Debuginformationen).
Wenn das ponyprog2000.exe mit dem GCC compiliert worden ist, gibt's
beim entsprechenden GCC ein Kommando namens "size". Wenn man das
auf das .exe anwendet, bekommt man gesagt, wie viele Bytes aus dieser
Datei tatsächlich im RAM landen. (Falls DLLs geladen werden, sind
diese in der Angabe aber nicht enthalten.)
Wenn es mit einem anderen Compiler generiert worden ist, wird er
vermutlich eine ähnliche Möglichkeit haben, die wahre Codegröße
herauszufinden.