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!
Zum Thema Quarz/Takt:
1 | 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?
Steht in der readme.txt:
1 | You have to change the fuse bits for external crystal (see "make fuses"). |
2 | # TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef |
3 | # TARGET=atmega48 HFUSE=0xdd LFUSE=0xff |
Das sagst sich so einfach... Bei meinem Brennprogramm unter Bascom sieht es so aus (s.Anhang). Wo kann man da HFUSE und LFUSE einstellen?
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..
Ich werds auch lassen mit dem Umstricken und irgendwo ein Quarz besorgen.
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:
1 | avrdude -p m16 -c usbasp -P COM6 -U flash:w:Tutorial.hex:a |
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...
Ahhhhhhhh, das erklärt nun natürlich vieles. Dann mal rauf mit dem Bootloader und ausprobieren. Bin ja mal gespannt was dabei herauskommt.
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).
Du musst nicht auf AvrProg gehen, sondern Tools->Programm AVR (6te von utnen mit nem IC als Bild davor)->Connect.
Du kannst auch eifnach auf Auto-Connect klicken. Müsste deinen Programmer dann auch finden.
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.
Albert ... schrieb: > Hast du beim Plugin Manager den > hacken bei STK500? Bin ziemlich sicher, dass da kein Haken ist, gucke ich gleich mal nach...
...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...
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.