Hallo,
bin auf der Suche nach einem Schaltplan für einen schlichten
Selbstbau-USB-Progger, den man direkt aus dem AVR-Studio heraus
ansprechen können soll.
Hat hier jemand ein entsprechendes Projekt schon verwirklicht und kann
Empfehlungen aussprechen?
Am besten wäre, wenn Standardkomponenten aus der Bastelkiste zum Einsatz
kommen würden, z.B. ein M8 mit ein wenig Hühnerfutter drumherum ;)
Der Progger soll nach Möglichkeit auch unter W2k laufen können.
Albert ... schrieb:> http://www.fischl.de/usbasp/
Sieht gut aus! Habe noch ein paar Fragen dazu:
Unter welchem Namen wird er im AVR-Studio eingestellt, USBasp?
Was bedeutet "Programming speed is up to 5kBytes/sec.", heißt das, dass
man damit z.B. einen M32 innerhalb von ungefähr 6 Sekunden komplett
"befüllen" kann?
Und noch was anderes, weiß jemand, wo man günstig Programmiersockel
erwerben kann?
Bejahn schrieb:> Albert ... schrieb:>> http://www.fischl.de/usbasp/>> Sieht gut aus! Habe noch ein paar Fragen dazu:>>> Unter welchem Namen wird er im AVR-Studio eingestellt, USBasp?
Das kommt auf die verwendete Firmware an. Standardmässig lässt sich der
USbasp nicht aus dem AVR Studio ansprehcen (nur mit AVRDude). Es gibt
aber AVRispmkII und stk500v2 firmwares für den USBasp. Wenn du eine
davon verwendest kannst du den programmer aus dem avrstudio mit ISP MK
II oder STK500 ansprechen.
Die Firmwares findest du hier:
http://wiki.ullihome.de/index.php/USBAVR-ISP/de#USB_AVR_Lab_als_Programmier.2FDebugadapter
Um den USBasp zu flashen siehe die Anleitung in der Readme.txt:
http://www.fischl.de/usbasp/Readme.txt>> Was bedeutet "Programming speed is up to 5kBytes/sec.", heißt das, dass> man damit z.B. einen M32 innerhalb von ungefähr 6 Sekunden komplett> "befüllen" kann?>
+/- etwas Overhead, ja.
> Und noch was anderes, weiß jemand, wo man günstig Programmiersockel> erwerben kann?
reichelt, csd, conrad (wenn du dir die Versandkosten sparren willst)
Tendentiell würde ich aber zu so einem 16€ AVRISP MKII nachbau von Ebay
tendieren (verwende ich selber und läuft einwandfrei)
Danke für die Antworten!
Albert ... schrieb:>> Und noch was anderes, weiß jemand, wo man günstig Programmiersockel>> erwerben kann?> reichelt, csd, conrad (wenn du dir die Versandkosten sparren willst)
Wie meinst du das mit dem Versandkostensparen?
Ok, dann werd ich mir so einen USBasp bauen, die Teile habe ich alle
vorrätig bis auf den 12MHz-Quarz (ob man auch 16MHz nehmen kann, wenn
man die F_CPU angleicht? ...sofern das überhaupt möglich ist...)
Albert ... schrieb:> Es gibt> aber AVRispmkII und stk500v2 firmwares für den USBasp.
Wo liegt denn der Unterschied zwischen den beiden?
> ob man auch 16MHz nehmen kann, wenn man die F_CPU angleicht? ...sofern> das überhaupt möglich ist...
Das sollte möglich sein. In der Hauptsache muss der Quarz zum
Software-USB [1] passen. Es kann Dir allerdings passieren, dass Du
Software-Wartezeiten etwas anpassen musst (mir springt gerade clock.*
ins Auge, dort wird per Timerzählerregister 320µs verwartet).
HF beim Anpassen! Und wenn Du fertig bist, dann kannst Du die Änderungen
ja (zurück)veröffentlichen, damit andere auch was davon haben :-)
[1] http://www.obdev.at/products/vusb/index.html
Bejahn schrieb:>> reichelt, csd, conrad (wenn du dir die Versandkosten sparren willst)> Wie meinst du das mit dem Versandkostensparen?
Das mit versandkosten sparen meinte ich beim Conrad. Viele wohnen in der
nähe einer Filiale.
>> Es gibt aber AVRispmkII und stk500v2 firmwares für den USBasp.> Wo liegt denn der Unterschied zwischen den beiden?
Das weis ich nicht genau, habe mir die Protokolle nie so genau
angesehen. Ich denke mal das der Unterschied in den Befehlssequenzen mit
denen der Programmer liegt angesteuert wird. Auch könnte man beim STK500
ein paar mehr Optionen, wie High-Voltage programming(die kannst du mit
USBasp aber nicht nutzen) nutzen. Sind aber nur vermutungen, müsste mans
ich auf der verlinkten Seite genauer ansehen.
Danke für die Antworten!
g457 schrieb:>> ob man auch 16MHz nehmen kann, wenn man die F_CPU angleicht? ...sofern>> das überhaupt möglich ist...>> Das sollte möglich sein. In der Hauptsache muss der Quarz zum> Software-USB [1] passen.
Habe hier noch ein 11,05Mhz-Quarz, vielleicht funktioniert das ja ohne
weitere Anpassungen.
Albert ... schrieb:>> Wie meinst du das mit dem Versandkostensparen?> Das mit versandkosten sparen meinte ich beim Conrad. Viele wohnen in der> nähe einer Filiale.
Leider nicht. Habe übrigens gesehen, dass in manchen Regionen die Anzahl
der C-Filialen wieder rückläufig ist... (woran das wohl liegt? ;))
Hier noch eine Frage zu den Zehnerdioden: im Schaltplan sind 3V9 jeweils
von USB+ und USB- gegen Masse angegeben. Welche Pegel sind denn dort zu
erwarten? Habe nur ZDs mit den Spannungen 2V4 und 6V2 vorrätig;
überlege, die 2V4er mit jeweils zwei Si-Dioden aufzustocken (wäre dann
ca. 3V7).
> Habe nur ZDs mit den Spannungen 2V4 und 6V2 vorrätig;> überlege, die 2V4er mit jeweils zwei Si-Dioden aufzustocken (wäre dann> ca. 3V7).
Vielleicht kann man auch einfach zwei 2V4-ZDs in Reihe schalten, dann
ist man bei 4V8!????
Hallo,
> Hier noch eine Frage zu den Zehnerdioden: im Schaltplan sind 3V9 jeweils> von USB+ und USB- gegen Masse angegeben. Welche Pegel sind denn dort zu> erwarten?
Das findet man in der Spec vom USB-Bus: Auf den Datenleitungen muss eine
Spannung von 3,3V anliegen. Diese sollte auch nicht viel überschritten
werden. Also nix mit 2 2V4-Dioden (4.8V ist da zu viel) ...
(Höchstes 2V4 in Reihe mit 2 Standard-Dioden; das wären etwa 3,6V.)
> Habe hier noch ein 11,05Mhz-Quarz
Keine so gute Idee; du brauchst eine "glatte" Quarzfrequenz. Am besten
12MHz, das passt am besten zum USB-Timing. Nicht umsonst wird er in den
meisten Soft-USB-Schaltungen verwendet ...
Der 11,0592MHz-Quarz ist ein "Baudratenquarz", um für die serielle
Schnittstelle der AVRs (UART) genaue Baudraten hinzubekommen.
P.S.: "Zenerdiode" schreibt man ohne "h" ...
Druckmann Berti schrieb:> Hier noch eine Frage zu den Zehnerdioden: im Schaltplan sind 3V9 jeweils> von USB+ und USB- gegen Masse angegeben. Welche Pegel sind denn dort zu> erwarten? Habe nur ZDs mit den Spannungen 2V4 und 6V2 vorrätig;> überlege, die 2V4er mit jeweils zwei Si-Dioden aufzustocken (wäre dann> ca. 3V7).
USB arbeitet mit 3,3V Pegeln, daher de Z-Dioden um den Pegel der zum USb
raus geht zu begrenzen. 2V4 Z-Diode und 2 normalen Si-Dioden dürftest du
den Pegel auch erreichen. Würde zur Sicherheit aber möglichst bald die
richtigen 3v6 Z-Dioden nachrüsten.
P.S. Es gibt auch leute die den USBasp ohne die Z-Dioden betrieben
haben. Das geht auch, ist aber nicht in der Norm von USB spezifiziert.
Eigenes Risiko!
Can be clocked with 12 Mhz, 15 MHz, 16 MHz or 20 MHz crystal or from a
2
12.8 MHz or 16.5 MHz internal RC oscillator.
(vom bereits oben verlinkten [1])
Falls es Dich interessiert warum das so ist, dann empfehle ich [2] -
sehr interessant zu lesen :-) Im Prinzip kann man den v-usb auch auf
andere Taktfrequenzen portieren - wenn man es schafft den Assemblerteil
adäquat anzupassen :-) Und das geht bei manchen Taktfrequenzen einfacher
als bei anderen.
Ich hab übrigens noch eine Stolperfalle gefunden: in isp.c wir an
einigen Stellen (ebenfalls per Timerzählregister) gewartet - das müsste
man für einen anderen Takt ebenfalls anpassen.. Als Nebenfachfüsiker
würde ich sagen: Besorg Dir einen 12MHz Quarz/Oszi..
[1] http://www.obdev.at/products/vusb/index.html
[2] http://www.obdev.at/developers/articles/00003.html
Spezi schrieb:> P.S.: "Zenerdiode" schreibt man ohne "h" ...
vorübergehend entfallen, danke für Hinweis!
Spezi schrieb:>> Habe hier noch ein 11,05Mhz-Quarz>> Keine so gute Idee; du brauchst eine "glatte" Quarzfrequenz.
Vielleicht noch einen Quarz mit 0,95MHz parallel schalten (kleiner
Scherz)
Ich überlege mal, ob ich versuche, eine 16MHz-Umrüstung umzusetzen oder
doch einen 12MHz-Quarz und die passenden Ze(diesmalohne"H")nerdioden 3V9
bestelle.
Noch eine bescheidene Zwischenfrage.
Bis jetzt habe ich mit einem SP12 (parallel) geproggt, da kommt man mit
RESET, MOSI, MISO, SCK und natürlich GND aus (vorausgesetzt, der zu
beschreibende Controller verfügt über eine eigene Spannungsversorgung).
Muss ich für das aktuelle Projekt USBasp auch noch die angegebenen
Leitungen RXD und TXD zum Proggen bereitstellen, oder sind die nur für
serielle Datenübertragungen außerhalb des Programmiervorgangs gedacht?
PS: das fällt mir noch eine Frage ein. Kann man den M8 auf dem
USBasp-Board direkt aus dem USB-Port versorgen?
Bejahn schrieb:> Noch eine bescheidene Zwischenfrage.>> Bis jetzt habe ich mit einem SP12 (parallel) geproggt, da kommt man mit> RESET, MOSI, MISO, SCK und natürlich GND aus (vorausgesetzt, der zu> beschreibende Controller verfügt über eine eigene Spannungsversorgung).>> Muss ich für das aktuelle Projekt USBasp auch noch die angegebenen> Leitungen RXD und TXD zum Proggen bereitstellen, oder sind die nur für> serielle Datenübertragungen außerhalb des Programmiervorgangs gedacht?>
TxD und RxD brauchst du nur für Debugging, sonst nicht.
>> PS: das fällt mir noch eine Frage ein. Kann man den M8 auf dem> USBasp-Board direkt aus dem USB-Port versorgen?
der M8 WIRD über die 5V des USb Anschlusses versorgt. Du kannst auch
noch dein target über die 5V versorgen. Dafür ist der Jumper JP1 da.
Albert ... schrieb:> der M8 WIRD über die 5V des USb Anschlusses versorgt. Du kannst auch> noch dein target über die 5V versorgen. Dafür ist der Jumper JP1 da.
Danke für die schnelle Antwort, kommt genau im richtigen Moment, löte
grade die Stromversorgung auf der Platine (Streifenraster-).
Hatte irgendwo gelesen, dass u.U. eine externe Stromversorgung besser
ist...
Targetversorgung aus USB ist natürlich einfacher, werde ich auf jeden
Fall so machen. Vielleicht wäre eine Schottkydiode in der Zuleitung
empfehlenswert!? (richtig geschrieben?)
Bejahn schrieb:> Hatte irgendwo gelesen, dass u.U. eine externe Stromversorgung besser> ist...> Targetversorgung aus USB ist natürlich einfacher, werde ich auf jeden> Fall so machen. Vielleicht wäre eine Schottkydiode in der Zuleitung> empfehlenswert!? (richtig geschrieben?)
Kannst du tuen, musst du aber nicht. Wenn du dich nicht gerade beim USB
Stecker verlötest wird die Spannung auch nicht verpolt sein.
P.S. Bindestrich zwischen Schottky und Diode
...so, der Progger ist jetzt so weit fertig, fehlt nur noch der
12MHz-Quarz. Mit etwas Glück bekomme ich heute Nachmittag noch.
Mir ist im Moment nicht ganz klar, wie ich das Gerät softwarmäßig am
besten aktiviere. Mein Plan wäre zunächst, die Datei
usbasp.atmega48.2009-02-28.hex per Bascom und SP12-Progger auf einen
ATmega8 zu brennen und dann den beschriebenen Controller auf die
USBasp-Platine zu verpflanzen.
Fragt sich nur, welche Fusebits gesetzt werden müssen (External Clock
auf jeden Fall, im Readme steht noch irgendwas von Hfuse und Lfuse und
man soll im Makefile nachsehen!??)...
Weiß jemand, welche Fuses konkret gesetzt werden müssen?
Fusebits sitzen jetzt! Noch mal Danke, Albert!
Mein Leihquarz 12MHz war grade da, der Progger wurde von Win erkannt und
ist jetzt installiert. Leider ist der Quarz jetzt auch schon wieder weg.
Deshalb zurück zu dem Vorhaben von oben, eine Firmware für 16MHz-Quarze
zu erstellen. In der clock.h-Datei kann man ja die F_CPU angeben. Dort
würde ich als erstes mal 16000000 eingeben. Die Wartezeiten müssen
meiner Meinung nach nicht angeglichen werden, weil das ja über die
bekannte Taktfrequenz ungesetzt wird.
Problem im Moment ist, dass ich das gesammelte C-Projekt im Ordner
"firmware" mit AVR-Studio nicht als Projekt geöffnet bekomme (weil die
aps-Datei fehlt, wie ich das sehe). Wenn ich als Einzeldatei main.c
öffne, klappt es mit dem Kompilieren nicht (die Built-Funktionen stehen
dann gar nicht zur Verfügung). Grrr
Bejahn schrieb:> Fusebits sitzen jetzt! Noch mal Danke, Albert!>> Mein Leihquarz 12MHz war grade da, der Progger wurde von Win erkannt und> ist jetzt installiert. Leider ist der Quarz jetzt auch schon wieder weg.> Deshalb zurück zu dem Vorhaben von oben, eine Firmware für 16MHz-Quarze> zu erstellen. In der clock.h-Datei kann man ja die F_CPU angeben. Dort> würde ich als erstes mal 16000000 eingeben. Die Wartezeiten müssen> meiner Meinung nach nicht angeglichen werden, weil das ja über die> bekannte Taktfrequenz ungesetzt wird.>> Problem im Moment ist, dass ich das gesammelte C-Projekt im Ordner> "firmware" mit AVR-Studio nicht als Projekt geöffnet bekomme (weil die> aps-Datei fehlt, wie ich das sehe). Wenn ich als Einzeldatei main.c> öffne, klappt es mit dem Kompilieren nicht (die Built-Funktionen stehen> dann gar nicht zur Verfügung). Grrr
Kauf dir für nen paar Cent den 12MHz Quarz und sparr dir die lange
Arbeit.
Ansonsten musst du einfach nur einneues projekt anlegen und alle .c und
.h Files in das projekt mit einbinden. Dann kannst du Compilieren
P.S. Das Programm mit den Fusebits ist Eclipse mit dem AVR Plugin.
Danke für die Infos!
Albert ... schrieb:> Kauf dir für nen paar Cent den 12MHz Quarz und sparr dir die lange> Arbeit.
Ich überlege das auch grade, blöd ist, dass so eine Bestellung immer
seine Zeit braucht und meistens irgendwelche Mindestbestellwerte im
Spiel sind, die den Pfennig-Quarz dann gleich "sehr viel wertvoller"
machen...
Albert ... schrieb:> Ansonsten musst du einfach nur einneues projekt anlegen und alle .c und> .h Files in das projekt mit einbinden. Dann kannst du Compilieren
Das wirds gewesen sein...
Und Du bist sicher, dass es nicht reicht, F_CPU zu ändern?
Nein, das reicht nicht. Siehe dazu ein paar Posts weiter oben.
g457 schrieb:> Ich hab übrigens noch eine Stolperfalle gefunden: in isp.c wir an> einigen Stellen (ebenfalls per Timerzählregister) gewartet - das müsste> man für einen anderen Takt ebenfalls anpassen.. Als Nebenfachfüsiker> würde ich sagen: Besorg Dir einen 12MHz Quarz/Oszi..
1. Du kannst dir sogar bei mir im Shop nen Quarz für 60 ct + 1,60 Eur
Versand bestellen, wobei ich nicht glaube das du eh unter den 15 Eur
fürs Lab landest aber ok.
2. Lass das umgebaue da steckt schon einiges an Arbeit drin du machst
dir nur mehr Probleme als nötig.
3. Die Änderung auf 16 Mhz wäre weit mehr als simples ändern der F_CPU
dazu muss jedes USB Timing angepasst werden.
4. In meinen Sourcen liegen die .aps, keine Ahnung was du dir da
angesehn hast.
lg
Christian
Christian U. schrieb:> 1. Du kannst dir sogar bei mir im Shop nen Quarz für 60 ct + 1,60 Eur> Versand bestellen, wobei ich nicht glaube das du eh unter den 15 Eur> fürs Lab landest aber ok.
hi christian, too late, hab mir heute beim radiomenschen an der ecke für
teurer einen 12MHzy besorgt.
kannst du trotzdem mal den link zu deinem shop schicken? (für die
zukunft)
> 2. Lass das umgebaue da steckt schon einiges an Arbeit drin du machst> dir nur mehr Probleme als nötig.
obsolet ;-)
> 3. Die Änderung auf 16 Mhz wäre weit mehr als simples ändern der F_CPU> dazu muss jedes USB Timing angepasst werden.
s. 2.
> 4. In meinen Sourcen liegen die .aps, keine Ahnung was du dir da> angesehn hast.
werds noch mal checken
Irgendwie läuft es nicht...
Progger wurde gestern als USBASP von Win2000 erkannt, Treiber von
Fischli installiert, so weit alles ok.
Dann habe ich eben den Progger unter Bascom eingestellt und wollte damit
einen M644 beschreiben und zack, ganz viele Fehlermeldungen (s. Anhang).
Anscheinend wird der Progger nicht erkannt.
Ist es möglicherweise ein ähnliches Problem wie hier?
Beitrag "USPasp mit WIN2000"
Mein Bastelrechner läuft, wie schon gesagt, unter Win2K und hat USB1
(glaube ich), könnte letzteres hier eine Rolle spielen?
Noch ein kleiner Nachtrag, habe die Schaltung eben noch mal sorgfältig
überprüft, der Aufbau ist wie im Schaltplan angegeben.
Hier noch die ausgeschriebene Fehlermeldung:
could not find usb device \"USBasp\" with vid=0x16c0 pid=0x5dc
Und hier gibt es auch noch mal ein ähnliches Problem
Beitrag "hilfe avrdude"
Habe jetzt mal den USBasp sowie Bascom auf einem anderen Rechner unter
XP installiert, da kommen genau die selben Fehlermeldungen.
Habe mittlerweile auch verschiedene Treiberversionen (alte, neue,
englische, deutsche, ;-)) ausprobiert, bringt keine Änderungen.
Ideen left?
Hallo Bejahn!
Ich habe mit dem Programmer auch ab und zu mal Probleme, wenn ich zuerst
den AVR mit Strom versorge und dann erst den Programmer anstecke.
Versuch mal erst das eine und dann mal anders herum, vielleicht war es
dass auch schon.
Alternativ zu Deinen AVR-Programmen kannst Du auch mal die GUI
ausprobieren:
http://www.pcfilter.de/AVR-Ecke/Page5.html
Der USBasp-Programmer ist hier bereits eingetragen (ich glaube auf
Platz3). Sollte es mit der GUI funktionieren, dann kannst Du die
Parameter in dem Feld „Parameter für AVRdude“ sehen. Kennst Du die
richtigen Parameter, dann kannst Du die GUI auch wieder löschen (trägt
sich nicht in die Registrierung ein)...
LG Jens
Fehler gefunden, Danke für die Antworten!
Es war ...naja, es war mein Fehler, Kabel von Pin18 an der falschen
Seite vom Reset-Jumper angelötet (== Dauerreset), aua, aua!
Jens schrieb:> Ich habe mit dem Programmer auch ab und zu mal Probleme, wenn ich zuerst> den AVR mit Strom versorge und dann erst den Programmer anstecke.> Versuch mal erst das eine und dann mal anders herum, vielleicht war es> dass auch schon.
Was mir jetzt auf die Schnelle aufgefallen ist: unter dem Bascomprogger
wird das Target nicht sofort erkannt, sondern erst, wenn man die Fuses
anklickt und dann zurück zum Buffer-Fenster geht.
Eine Frage bleibt dann noch offen: wie kann man mit der USBasp-Platine
direkt vom AVR-Studio aus proggen?
Albert hatte ja schon was zum Thema geschrieben:
>> Unter welchem Namen wird er im AVR-Studio eingestellt, USBasp?> Das kommt auf die verwendete Firmware an. Standardmässig lässt sich der> USbasp nicht aus dem AVR Studio ansprehcen (nur mit AVRDude). Es gibt> aber AVRispmkII und stk500v2 firmwares für den USBasp. Wenn du eine> davon verwendest kannst du den programmer aus dem avrstudio mit ISP MK> II oder STK500 ansprechen.> Die Firmwares findest du hier:> http://wiki.ullihome.de/index.php/USBAVR-ISP/de#US...
Dazu dann morgen mehr, wenn ich den link gecheckt habe.
Bejahn schrieb:> Eine Frage bleibt dann noch offen: wie kann man mit der USBasp-Platine> direkt vom AVR-Studio aus proggen?
Hierzu musst du statt der USBasp Firmware die STK500v2 oder AVRISP MKII
Firmware verwenden. Dann kann der programmer als solcher aus dem AVR
Studio heraus aufgerufen werden.
Die Firmwares findest du auf dem angegebenen Link. Such dir eien von
beiden aus und flashe sie auf den Programmer.
Albert ... schrieb:> Die Firmwares findest du auf dem angegebenen Link. Such dir eien von> beiden aus und flashe sie auf den Programmer.
Habe jetzt das USB AVR Lab Tool installiert, im Ordner "Data" finden
sich die hex-Files für die verschiedenen Progger, z.B.
"m8_AVRISPmkII_1.9.hex".
Wenn ich versuche, aus diesem Ordner eine solche .hex-Datei in den
Buffer meines Brennprogramms (MCS unter Bascom) zu laden, stehen
anschließend alle Bufferadressen auf 0xFF.
Mit einem Hex-Editor geöffnet enthalten die .hex-Dateinen aber durchaus
Inhalt.
Die Gegenprobe, von AVR-Studio erzeugte .hex-Dateine in den Buffer zu
laden funktioniert problemlos.
Mache ich irgendwas falsch oder haben die .hex-Dateine von USB AVR Lab
Tool ein anderes Datenformat, das MCS nicht verwalten kann???
Bejahn schrieb:> Habe jetzt das USB AVR Lab Tool installiert, im Ordner "Data" finden> sich die hex-Files für die verschiedenen Progger, z.B.> "m8_AVRISPmkII_1.9.hex".> Wenn ich versuche, aus diesem Ordner eine solche .hex-Datei in den> Buffer meines Brennprogramms (MCS unter Bascom) zu laden, stehen> anschließend alle Bufferadressen auf 0xFF.> Mit einem Hex-Editor geöffnet enthalten die .hex-Dateinen aber durchaus> Inhalt.> Die Gegenprobe, von AVR-Studio erzeugte .hex-Dateine in den Buffer zu> laden funktioniert problemlos.>> Mache ich irgendwas falsch oder haben die .hex-Dateine von USB AVR Lab> Tool ein anderes Datenformat, das MCS nicht verwalten kann???
Gibt es darin vl. ein vollständiges Projekt das du im AVR studio neu
compilieren könntest? Dann könntest du das so generierte .hex in dein
MSC laden.
Ich habe damals solch einen Programmer über einen anderen ISP programmer
geflasht. Daher kann ich dir da nicht so genau weiter helfen.
Albert ... schrieb:> Gibt es darin vl. ein vollständiges Projekt das du im AVR studio neu> compilieren könntest? Dann könntest du das so generierte .hex in dein> MSC laden.
Interessante Idee! Werde gleich mal nachschauen...
Bejahn schrieb:>> Gibt es darin vl. ein vollständiges Projekt das du im AVR studio neu>> compilieren könntest? Dann könntest du das so generierte .hex in dein>> MSC laden.> Interessante Idee! Werde gleich mal nachschauen...
Nein, leider kein Source Code enthalten.
Bist du eigentlich sicher, dass man den AVRISPmkII direkt vom AVRstudio
aus ansprechen kann? In der Progger-Liste dort steht nur etwas von einer
AVRISPmkII-Erweiterung.
...hier mal die entsprechende hex-Datei im Anhang, die sich unter dem
Bascom-Brenner bei mir nicht in den Buffer laden läßt. Vielleicht kann
jemand entdecken, warum?!
(ist es eventuell ein anderes Format, Intel Hex 16 Bit o.ä.?)
Bejahn schrieb:> Bist du eigentlich sicher, dass man den AVRISPmkII direkt vom AVRstudio> aus ansprechen kann? In der Progger-Liste dort steht nur etwas von einer> AVRISPmkII-Erweiterung.
Also bei mir findet sich im AVRStudio unter den programmern AVRISP MKII
und STK500 zur Auswahl. Und es funktionierte auch früher Perfekt (früher
daher weil ich nun Eclipse+AVR verwende).
Bejahn schrieb:> ...hier mal die entsprechende hex-Datei im Anhang, die sich unter dem> Bascom-Brenner bei mir nicht in den Buffer laden läßt. Vielleicht kann> jemand entdecken, warum?!> (ist es eventuell ein anderes Format, Intel Hex 16 Bit o.ä.?)
Also die Formatierung passt mal überhaupt nicht. Wenn ich dieses .hex
mit einem einfachen texteditor öffne sieht es ganz anders aus als die
sonst üblichen. Vergleiche dazu mal meinen Anhang.
Da es ganz anders aussieht scheint da wohl etwas falsch zu sein und es
wird deshalb nicht korrekt erkannt.
Mal eine Frage nebenbei: Funktioniert der Programmer denn immerhin aus
AVRDude heraus? Denn dann muss ja zumindest diese Firmware passen.
Albert ... schrieb:> Mal eine Frage nebenbei: Funktioniert der Programmer denn immerhin aus> AVRDude heraus? Denn dann muss ja zumindest diese Firmware passen.
Habe ich noch nicht probiert. Im Moment funktioniert nur der
Bascom-Progger, was nicht weiter schlimm wäre, dann erzeugt das
AVRstudio die hex-Files immer ins gleiche Verzeichnis und Bascom, das im
Hintergrund läuft, brennt immer aus diesem Verzeichnis die hex-Datei auf
den Controller.
Leider kann aber die USBasp-Software unter Bascom nur noch bin-Files
öffnen, was ganz neue Probleme aufwirft, die ich jetzt nicht unbedingt
an dieser Stelle weiter verfolgen will...
Mit AVRDude habe ich noch nie gearbeitet, weiß aus dem Stehgreif gar
nicht, wie man es anspricht. Ist das Programm nicht sogar standardmäßig
bei WinAVR dabei?
Albert ... schrieb:> Also die Formatierung passt mal überhaupt nicht. Wenn ich dieses .hex> mit einem einfachen texteditor öffne sieht es ganz anders aus als die> sonst üblichen.
Sowas habe ich mir fast gedacht. Wo könnte man denn die "normale"
Firmware für das AVRISP MKII für einen M8 bekommen?
Mir wäre es ja am allerliebsten, wenn ich künftig den Controller direkt
vom AVRstudio aus beschreiben könnte, nebenbei ist der alte SP12-Progger
für größere Controller auch zu langsam geworden...
Also das man mit dem USBasp unter Bascom nur noch bin files flashen kann
wäre mir neu. Du musst ihn höchstens noch einrichten. Siehe dazu
folgenden Link:
Beitrag "AVRdude als externen Programmer in BASCOM einbinden"
AVRDude ist direkt beim WinAVR mit dabei. Ansprechen tust du es wie
folgt:
Kurze Erklärung (für mehr siehe folgenden Link:
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions):
-p m16 = Target ist ein atmega 16
-c usbasp = programmer ist ein USBasp
-P COM6 = Ist an COM6 angeschlossen
Du kannst dir das natürlich sparen und folgendes Tool nehmen:
http://avr8-burn-o-mat.brischalle.de/
Das ist eine Graphische Oberfläche für AVRDude. Dem Tool gibst du den
Controller und das .hex File das du dann mit AVRStudio erzeugt hast an
und flashst es über AVRDude. Sehr angenehm zu verwenden.
Bejahn schrieb:> Sowas habe ich mir fast gedacht. Wo könnte man denn die "normale"> Firmware für das AVRISP MKII für einen M8 bekommen?
Da musst du hoffen das es einen User gibt der dir diese Firmware
zuschieben kann. Ich selber habe sie leider nicht mehr.
Bejahn schrieb:> Mir wäre es ja am allerliebsten, wenn ich künftig den Controller direkt> vom AVRstudio aus beschreiben könnte, nebenbei ist der alte SP12-Progger> für größere Controller auch zu langsam geworden...
Das ist mir schon klar, leider brauchst du dafür eine passende Software.
Ich habe jetzt gerade mal geschaut ob die von dir angegebene .hex von
avrdude gelesen werden kann. Es ist jedoch ein falsches Format und kann
somit nicht gelesen werden. Im Anhang findest du eine .hex von Ulrich
Radig die von AVRDude verwendet werden kann. Diese müsste dann auch von
deinem Tool erkannt werden. Problem ist aber das dies eine USBasp und
keine AVRISP MKII Software ist. Man müsste dann also zum flashen AVRDude
verwenden. zumindest bis man an eine .hex für einen avrispmkII ran
kommt.
Hallo Albert,
Danke für die ausführliche Antwort!
Albert ... schrieb:> Also das man mit dem USBasp unter Bascom nur noch bin files flashen kann> wäre mir neu.
Es kommt auf den eingestellten Progger an. Mit SP12 kein Problem, bei
USBasp mit hex-Files keine Chance. Außerdem ist bei letzterem auch der
Knopf "Erase Chip" verschwunden. Habe den neusten Patch installiert,
bleibt alles beim alten.
Danke für den Anhang! Der USBasp läuft ja so weit, von da her wäre
eigentlich alles in Butter...
Albert ... schrieb:> Du kannst dir das natürlich sparen und folgendes Tool nehmen:> http://avr8-burn-o-mat.brischalle.de/>> Das ist eine Graphische Oberfläche für AVRDude. Dem Tool gibst du den> Controller und das .hex File das du dann mit AVRStudio erzeugt hast an> und flashst es über AVRDude. Sehr angenehm zu verwenden.
Klingt interessant, schaue ich mir morgen genauer an, für heute reicht
mit Technik...
Wede hier noch kurz eine kleine Nachfrage in den Marktplatz stellen
wegen der gesuchten AVRISP MKII Firmware.
Nachtrag:
beim googeln habe ich das hier gefunden:
http://www.das-labor.org/wiki/Usbasp
Zitat>
Christian Ulrich hat eine Firmware entwickelt, die auf dem usbasp ohne
bauliche Veränderung lauffähig, jedoch wesentlich flexibler einsetzbar
ist.
Statt der usbasp Firmware wird der ATmega8 auf dem Board mit einem
Bootloader geflasht. Dieser ermöglicht es, mittels dem zugehörigen "Lab
Tool" von Christian Ulrich, bei jedem Einstecken des Adapters eine
beliebige Firmware zu wählen. Derzeit ist zwischen folgenden Firmwares
frei wählbar: AVRISP mkII, STK500v2, JTAGICE mkII und usbasp (Stand:
13.07.2009). Zusätzlich gibt es diverse Firmware, die den
Programmieradapter zweckentfremdet, um beispielsweise den I²C-Bus
auszulesen.
Alle notwendigen Dateien wie Firmware oder "Lab Tool" sind direkt über
die Seite von Christian Ulrich abrufbar. Für weitergehende Informationen
siehe Links.
<Zitat Ende
Im einzelnen:
>Statt der usbasp Firmware wird der ATmega8 auf dem Board mit einem Bootloader >geflasht. Dieser ermöglicht es, mittels dem zugehörigen "Lab Tool" von Christian >Ulrich, bei jedem Einstecken des Adapters eine beliebige Firmware zu wählen.
Deshalb kann das "LAB TOOL" auch meinen Progger nicht erkennen, weil ich
den Bootlader nicht aufgeflasht habe. Und die hex-Dateien im Ordner Data
sind Anwendungsdateien von Lab Tool...
Albert ... schrieb:> Ahhhhhhhh, das erklärt nun natürlich vieles. Dann mal rauf mit dem> Bootloader und ausprobieren. Bin ja mal gespannt was dabei herauskommt.
Erklärt zwar viel, aber nicht alles.
Hab grade den Bootloader gesaugt, ausgepackt und wollte ihn flashen...
und dann wieder das selbe wie oben, der Bootloader hat nämlich auch so
ein merkwürdiges hex-Format (im Editor immer Doppelpunkte am
Zeilenanfang), grrr
Bejahn schrieb:> Albert ... schrieb:>> Ahhhhhhhh, das erklärt nun natürlich vieles. Dann mal rauf mit dem>> Bootloader und ausprobieren. Bin ja mal gespannt was dabei herauskommt.>> Erklärt zwar viel, aber nicht alles.> Hab grade den Bootloader gesaugt, ausgepackt und wollte ihn flashen...> und dann wieder das selbe wie oben, der Bootloader hat nämlich auch so> ein merkwürdiges hex-Format (im Editor immer Doppelpunkte am> Zeilenanfang), grrr
Also Doppelpunkte am Anfang sind das richtige Format für das .hex File.
So sehen auch die aus die vom AVRStudio verwendeten Compiler erzeugt
werden.
Albert ... schrieb:> Also Doppelpunkte am Anfang sind das richtige Format für das .hex File.> So sehen auch die aus die vom AVRStudio verwendeten Compiler erzeugt> werden.
ich versuche es noch mal, danke für die info...
...so, habe es mittlerweile ausgetestet, du hattest recht, die
bootloader-hex-dat ist ok. dachte nur, sie wäre leer, weil nur der
hinterste teil im programmspeicher beschrieben ist.
habe das board jetzt als AVRISPmkII_1.6 flashen können, win hat es auch
schon als solches erkannt und einen treiber installiert.
wenn ich aber bei AVRstudio auf TOOLS > AVRprog... gehe, kommt die
Fehlermeldung "no supported board found! AVR prog version 1.40"
werde morgen mal checken, ob die usb-treiber zum studio richtig
installiert sind (ein jugo-treiber o.ä. taucht jedenfalls im
gerätemanager auf, dort sitzt, glaube ich, auch der AVRISPmkII-Treiber).
Hm, finde ich beides nicht unter "Tools" in meiner AVR-Studio-Version
(Ver4.18), s. Screenshot Anhang.
Vielleicht hatte ich bei der Installation des Studios bei irgendwas
keinen Haken gesetzt!?
Also ich habe auch noch die Version 4.18 und bei mir sieht das Tools
Menu wie im Anhang aus. Was ich mir noch vorstellen könnte ist das
dieses Tool noch nicht eignebunden ist. Hast du beim Plugin Manager den
hacken bei STK500?
Ansonsten würde ich es nochmal neu installieren. Oder aber das
aktuellste Service pack drüber packen.
...Haken gesetzt, jetzt geht es! Zwar mit gelegentlichen,
ISP-Frequenz-unabhängigen Aussetzern, man muß dann den USB-Stecker
ziehen und wieder einstecken, aber insgesamt geht es!
Beim Target mit 20MHz F-CPU geht auch eine ISP-Frequenz von 4MHz, ganz
schön flott!
Und vor allem, man kann jetzt mit einem Knopfdruck direkt aus dem
AVRstudio proggen, genial!!!
Was mich etwas wundert, ist, dass die LEDs vom AVRISPmkII-Clon beim
Brennen, Lesen usw. nicht leuchten (bleiben immer dunkel).
Habe bisher auch nirgendwo einen Schaltplan für einen konventionellen M8
fürs USB AVR Lab Tool gefunden... anscheinend funktioniert Lab Tool
selber mit einer Zwei-Farben-LED.
Albert, vielen herzlichen Dank für deine Geduld und die vielen
nützlichen Hinweise, ohne die ich dieses Gerät nie zum Laufen bekommen
hätte!!!
Diese Aussetzer habe ich auch immer wieder. Meistens entstehen diese
Wenn ich den programmer am Target lasse und dann USB Stecker einstöpsel.
Wenn ich erst den Programmer an USB anschließe und im Anschluss an das
Target geht es wunderbar.
Kein Problem. Die Lösung eines Problems das ich angeleiert habe
interessiert mich ja auch.
Die "Aussetzer" waren als USBasp auch schon da... schätze mal, USB und
direkt ein Controller dran ist schon relativ speziell...
Albert ... schrieb:> Wenn ich erst den Programmer an USB anschließe und im Anschluss an das> Target geht es wunderbar.
Bei mir auch!
Albert ... schrieb:> Kein Problem. Die Lösung eines Problems das ich angeleiert habe> interessiert mich ja auch.
Naja, das war jetzt z.T. auch alles sehr träge von meiner Seite, kenne
mich zum einen noch nicht so besonders mit der Entwicklungsumgebung im
allgemeinen und zum anderen mit Proggern im speziellen aus.
Das mit dem Kabel an der falschen Seite vom Resetjumper war natürlich
bitter, ...bis ich da erst mal drauf gekommen bin ;)
Welchen Progger benutzt du denn eigentlich?
Bejahn schrieb:> elchen Progger benutzt du denn eigentlich?
Einen ISP Programmer von Ebay der dem USBasp nachempfunden ist. Jedoch
mit ein paar Erweiterungen (Targerversorgung auf 3,3V einstellbar und
auch abschaltbar). War mein erster Programmer.
Mal noch einen hinweis zu den .hex aus dem USB AVR Lab Tool.
Das USB AVR Lab Tool ist auschließlich da um den Bootloader im USB AVR
Lab anzusprechen. Wie kommt man eigentlich drauf das irgendwelche Files
die in ner programminstallation rumfliegen im Intel Hex Format sind...
Spielt den Bootloader auf das Lab oder USBasp und schon gehts.
Die Led´s leuchten beim USBasp nicht richtig weils eben kein USB Avr Lab
ist. Baut man den Schaltplan nach zu dem die Firmwares gehören
funktionierts auch...
lg
Christian
Albert ... schrieb:> Einen ISP Programmer von Ebay der dem USBasp nachempfunden ist. Jedoch> mit ein paar Erweiterungen (Targerversorgung auf 3,3V einstellbar und> auch abschaltbar).
Damit hatte ich auch geliebäugelt, aber weil quasi alle Teile vorrätig
waren...
Welche Controller werden denn mit 3,3V geproggt?
Christian U. schrieb:> Wie kommt man eigentlich drauf das irgendwelche Files> die in ner programminstallation rumfliegen im Intel Hex Format sind...
In der Not ist jeder Strohhalm recht...
Scherz beiseite, ich hatte in den Schaltplan auf Deiner Seite geguckt
und einen Atmega16 entdeckt, hatte deshalb das Thema gar nicht mehr
weiter verfolgt, ein paar Tage später habe ich dann bei genauerem
Hinsehen bemerkt, dass ein Atmega8-16 abgebildet war. So kanns kommen...
Jetzt habe ich auch den Schaltplan mal genauer "gelupt" und die drei
fehlenden LEDs aufs Board gelötet.
Auf jeden Fall cooles Projekt, das du da realisiert hast!!! Wie bist du
auf die Idee gekommen?
Noch was anderes, die Aussetzer treten hin und wieder im laufenden
Betrieb auf, habe deshalb noch einen Reset-C von 100n gegen Masse
spendiert sowie einen zusätzlichen 220µF-Elko zur Glättung der
USB-Spannung, weitgehend ohne nennenswerten Erfolg.
Habe allerdings noch einen Resetschalter eingebaut, wenn der Progger mal
wieder nicht erkannt wird, resette ich damit, statt den USB-Stecker aus-
und einzustecken.
Meine Vermutung geht ein bißchen in die Richtung, das der verwendete
12,0-MHz-Quarz eine recht große Toleranz aufweisen könnte und damit
alles hin und wieder aus dem Takt gerät. Insbesondere, wenn der Progger
eine Weile gelaufen ist, kommen fast keine Aussetzer mehr vor.
Vielleicht hat noch jemand eine andere Idee, was es sein könnte!?
Das mit dem Quarz ist recht unwarscheinlich. Viel warscheinlicher ist
das du USB getrennt hast und sich das Lab rückwärts versorgt hat (übers
Target).
Wenn man das macht verhängt sich die Soft beim ranstecken von USB oft.
Ohne massiv andere Preise hab ich aber noch keine Chance gefunden das zu
beseitigen.
In der Spannungsversorgung ist bei mir schon ein Tantal drin zum
buffern, der C an Reset bringt ohne hochspannung in der nähe nicht viel.
Vllt hast auch noch irgendwo einen Wackler drin.
Das Projekt war ursprünglich ein reiner programmer weil mir die
AVRISPmkII immer abgeraucht sind (recht empfindliche Treiber). dann kam
schritt für Schritt Firmware für Firmware hinzu. Im Winter kommen sicher
die nächsten ;)
Ach früher im Thread kam die Frage nach dem Shop.
http://shop.ullihome.de natürlich ;)
lg
Christian
Bejahn schrieb:> Damit hatte ich auch geliebäugelt, aber weil quasi alle Teile vorrätig> waren...> Welche Controller werden denn mit 3,3V geproggt?
Ide Low Voltage Versionen der ATmega wie den ATmega8L.
Christian U. schrieb:> Viel warscheinlicher ist> das du USB getrennt hast und sich das Lab rückwärts versorgt hat (übers> Target).> Wenn man das macht verhängt sich die Soft beim ranstecken von USB oft.> Ohne massiv andere Preise hab ich aber noch keine Chance gefunden das zu> beseitigen.
Was meinst du mit "USB getrennt"? Der USB-Stecker ist ja die ganze Zeit
eingesteckt.
Man könnte ja auch eine Schottkydiode vors Target klemmen, um den
Rückfluß zu verhindern.
Nach einem Reset wird der Progger immer problemlos wiedererkannt,
überlege schon, vor jedem Progg-Vorgang grundsätzlich von Hand zu
resetten.
Wackler ist eher unwahrscheinlich, hatte das Board neulich noch mit der
Lupe nach kalten Lötstellen etc. abgesucht.
Dann bin ich gespannt, was im Winter noch dazu kommt.
Danke für den Shop-Link! (hatte ich allerdings kürzlich schon entdeckt
;))
Albert ... schrieb:> Ide Low Voltage Versionen der ATmega wie den ATmega8L.
Stimmt, die gibts ja auch noch ;-)
Also ich werd auf jeden Fall noch ein bißchen rumprobieren, ob man die
Aussetzer nicht irgendwie ganz wegbekommt, wenn ich was finde, poste
ich...