Forum: Mikrocontroller und Digitale Elektronik Wer hat Zeit? (AVR Programmingtool Problem)


von Randy T. (peroja)


Lesenswert?

Hallo,

Ich möchte Freundlichst Fragen ob vielleicht jemand ein paar minuten 
Zeit für einen Skype Cam Chat hätte (Bildschirmübertragung) um mir bei 
einem Problem zu helfen? Ich habe einen kleinen USBASP Programmierer und 
ein Atmega128 Stamp. Ich möchte im AVR Studio 7 den Programmer 
Einbinden, was ich mittels einem Youtube Tutorial gemacht hab, aber 
irgendwie passiert da gar nix. Ich hab ein einfaches Blink Script und 
steh auf dem Schlauch.

Lieben Dank

skype: randy.tomlinson1

von Peter D. (peda)


Lesenswert?

Ich hab kein Skype.
Erstmal muß der Programmer erkannt werden und dann muß die Signatur des 
Target richtig gelesen werden können. Vorher hat alles Programmieren 
keinen Zweck.
Bei den 64-poligen AVRs gibt es noch die Fallgrube, daß die UART-Pins 
als MOSI/MISO dienen.

von Randy T. (peroja)


Lesenswert?

Peter D. schrieb:
> Erstmal muß der Programmer erkannt werden und dann muß die Signatur des
> Target richtig gelesen werden können

Eben lieber Peter... Ich denke es bringt nichts lange zu Erklären, über 
Skype geht es einfach schnell und Unkomplitziert. Danke für Deinen Input 
:-)

von Peter D. (peda)


Lesenswert?

Randy T. schrieb:
> Ich denke es bringt nichts lange zu Erklären

Ich denke doch. Du mußt einfach nur konkret beschreiben, wie Dein Aufbau 
ist und wo es bei Dir klemmt.
Aussagekräftige Fehlerbeschreibungen helfen Dir auch in Zukunft.
Es ist sogar oft so, wenn man den Fehler einem andere versucht zu 
beschreiben, daß man dadurch selber auf die Lösung kommt.

von Randy T. (peroja)


Lesenswert?

Nun, Projektmappe erstellen geht ohne Fehler:

***********
Der Buildvorgang wurde erfolgreich ausgeführt.
Build: 1 erfolgreich oder aktuell, 0 fehlerhaft, 0 übersprungen
************

Menue--> Extras --> Externe Tools:

Da hab ich meinen USBASP Programmer eungebunden. Laut Angaben arbeitet 
der mit AVRDude

Befehl: C:\Program Files 
(x86)\Atmel\Studio\7.0\toolchain\avrdude\avrdude.exe
Argumente: -e -P usb -c USBasp -p t85 -e -U 
flash:w:"$(TargetDir)$(TargetName).hex":i

Ausgangsverzeichnis: $(TargetDir)

Ich hab den Programmer and die ISP Schnittstelle vom Stamp 
angeschlossen.

Ich habe diesen Stamp:
https://s3-ap-southeast-1.amazonaws.com/a2.datacaciques.com/wm/307176851/157090301/2225677892.jpg

Und ich habe diesen Programmer:

https://de.aliexpress.com/store/product/USBasp-ISP-3-3V-5V-AVR-Programmer-USB-ATMEGA8-ATMEGA128-New-Wire-Support-Win7-64Bit-lcd/343255_32781705108.html

Wenn ich jetzt in meinem AVR STudio 7 im Menu Extras auf USBASP klicker 
passiert gar nichts.

Ich bin genau nach diesem Tutorial vorgegangen:

https://www.youtube.com/watch?v=5zHI_Gy9ziw


****************************
Lieben Dank
Randy

von STK500-Besitzer (Gast)


Lesenswert?

Kannst du den Programmer auch per AVRdude ansprechen?

von steve (Gast)


Lesenswert?

Nimm erstmal AVR-dude extern um zu testen ob die USB Treiber 
funktionieren.
Auch hast du vielleicht einen usbasp-clone, welcher bei AVR-Dude auch so 
heißt (andere Usb signatur).

Beitrag #5286353 wurde von einem Moderator gelöscht.
von Randy T. (peroja)


Lesenswert?

STK500-Besitzer schrieb:
> Kannst du den Programmer auch per AVRdude ansprechen?

da bin ich bereits überfordert. ich kann im cmd fenster den avrdude 
aufrufen aber dann das it den argumenten ist schon bahnhof für mich

von Einer K. (Gast)


Lesenswert?

Ein Problem am Rande:

Randy T. schrieb:
> -p t85

Randy T. schrieb:
> Ich habe diesen Stamp:
> 
https://s3-ap-southeast-1.amazonaws.com/a2.datacaciques.com/wm/307176851/157090301/2225677892.jpg

Ich finde, dass das Ding keine Ähnlichkeit mit einem ATTiny85 hat!

von STK500-Besitzer (Gast)


Lesenswert?

Randy T. schrieb:
> da bin ich bereits überfordert. ich kann im cmd fenster den avrdude
> aufrufen aber dann das it den argumenten ist schon bahnhof für mich

Der Programmer wird aber im Gerätemanager angezeigt?
Hast du zumindest mal nachgeguckt, was die Argumente bedeuten?

von Randy T. (peroja)


Lesenswert?

Arduino F. schrieb:
> Ein Problem am Rande:
>
> Randy T. schrieb:
>> -p t85
>
> Randy T. schrieb:
>> Ich habe diesen Stamp:
>>
> 
https://s3-ap-southeast-1.amazonaws.com/a2.datacaciques.com/wm/307176851/157090301/2225677892.jpg
>
> Ich finde, dass das Ding keine Ähnlichkeit mit einem ATTiny85 hat!

cool. ein licht im tunnel. was muss ich denn da schreiben? Atmega128?

von STK500-Besitzer (Gast)


Lesenswert?

Randy T. schrieb:
> Arduino F. schrieb:
>> Ein Problem am Rande:
>>
>> Randy T. schrieb:
>>> -p t85
>>
>> Randy T. schrieb:
>>> Ich habe diesen Stamp:
>>>
>>
> https://s3-ap-southeast-1.amazonaws.com/a2.datacac...
>>
>> Ich finde, dass das Ding keine Ähnlichkeit mit einem ATTiny85 hat!
>
> cool. ein licht im tunnel. was muss ich denn da schreiben? Atmega128?

Such dir den passenden aus:
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions

von Randy T. (peroja)


Lesenswert?

funktioniert leider auch nicht.

ich hoffe jemand hat irgendwann mal 5 minuten zeit für einen skype cam 
chat.
ich möchte einfach weiterkommen und weg von arduino. ich möchte lernen 
mit registern zu arbeiten und ich möchte mehr möglichkeiten haben als 
nur beschränkte pins als I/O einzusetzen mit so wenig speicher etc....

gerne auch morgen. :-)

von Joe (Gast)


Lesenswert?

Hast du die treiber richtig installiert?

Siehe hier: http://ups.bplaced.de/Download/usbaspinstallation.htm

Dann BASCOM-Demo runterladen und ausprobieren.

Joe

von Randy T. (peroja)


Lesenswert?

werd ich mir mal schnell genauer ansehen. lieben dank für den input

randy

von Joe (Gast)


Lesenswert?

Dann  das nachfolgende Programm mit Taste F7 compilieren und dann mit F4 
auf den Atmega 128 übertragen.

fertig.

Wenn klappt, dann ust auch dein Programmer richtig eingebunden.

======================================================================== 
==

$regfile = "m128def.dat "                         ' specify the used 
micro
$crystal = 8000000                                ' used crystal 
frequency
$baud = 19200                                     ' use baud rate
$hwstack = 32                                     ' default use 32 for 
the hardware stack
$swstack = 10                                     ' default use 10 for 
the SW stack
$framesize = 40                                   ' default use 40 for 
the frame space

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , 
Databits = 8 , Clockpol = 0

Dim S As Single , X As Single
X = 0.5 : S = Asin(x)
Print S                                           '0.523595867

End

von Joe (Gast)


Lesenswert?

Nochmal: (ggf. zeilenumbruch entfernen)

$regfile = "m128def.dat "
$crystal = 8000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , 
Databits = 8 , Clockpol = 0

Dim S As Single , X As Single
X = 0.5 : S = Asin(x)
Print S

End

von Randy T. (peroja)


Angehängte Dateien:

Lesenswert?

Jetzt sieht das ganze so aus.

von Stefan F. (Gast)


Lesenswert?

Du versuchst zu viele Sachen gleichzeitig an laufen zu bringen. Auch 
wenn andere das bereits mehrfach schrieben, ich schreibe es nochmal, 
weil es wichtig ist:

1) Stecke den Programmieradapter an den PC. Kontrolliere im 
Geräte-Manager, ob er erkannt wurde.

2) Wenn er nicht erkannt wurde, installiere den Treiber gemäß dieser 
Anleitung: http://stefanfrings.de/avr_tools/libusb.html

3) Starte avrdude in einem CMD fenster mit der Angabe des korrekten µC 
Typen:

avrdude -c usbasp -P usb -B16 -p atmega128

Du müsstest dann eine Ausgabe wie diese erhalten:
http://stefanfrings.de/avr_hello_world/screenshot2.png

4) Erst jetzt kannst du damit anfangen, das Programm irgendwie in das 
ATmel Studio einzubinden.

Aber ehrlich gesagt halte ich das für keine gute Idee, denn wenn es mal 
nicht funktioniert stehst du wieder genau so hilflos da, wie jetzt.

Also benutze das Programm besser weiterhin im CMD Fenster oder 
kombiniere es mit einer praktischen GUI, zum Beispiel dem 
AVR8-Burn-O-Mat (benötigt Java):
http://stefanfrings.de/avr_tools/AVR8-Burn-O-Mat.zip

Das ist 10x komfortabler und vielseitiger, als diese primitive 
Einbindung in das Menü des Atmel Studios.

von Randy T. (peroja)


Angehängte Dateien:

Lesenswert?

Stefan U. schrieb:
> 1) Stecke den Programmieradapter an den PC. Kontrolliere im
> Geräte-Manager, ob er erkannt wurde.

nein das funktioniert natürlich schon mal nicht. obwohl ich sehr akkurat 
wie in der beschreibung bei der installation vorgegangen bin. also 
signatur ausgeschaltet etc....

von Randy T. (peroja)


Lesenswert?

sorry, ist das immer so kompliziert? ich hätte besser einen richtigen 
programmer gekauft als so einen billigen china dreck. langsam werde ich 
stinkig, und deshalb ist es wohl besser ich geh vor die glotze und guck 
irgendwas, bevor ich explodiere, nackt im wohnzimmer tanze und dabei old 
mac donalds had a farm singe.... LOL

ehrlich gesagt, das ist mir zu blöd. ich hab es ja auch geschafft meinen 
arduino als ISP programmer in AVR Studio einzubinden, also sollte dies 
hier auch kein problem sein. "sollte".....

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

> sorry, ist das immer so kompliziert?

Leider ist es auch mit dem 50 Euro teuren Atmel ISP MkII nicht anders.

Hast du bei der Installation des libusb Treibers eine INF Datei mit dem 
Programm bin\inf-wizard.exe erstellt? Das musst du tun. Siehe 
angehängter Screenshot.

Die INF Datei speicherst du irgendwo ab, zum Beispiel im Windows 
Verzeuchnis. Danach erscheint ein "Install Now" Button in dem Wizard, 
klicke da drauf.

Falls die Treiberinstallation nun fehlschlägt (das tut sie bei mir an 
dieser Stelle neuerdings), gehe in den Gerätemenager. Dort erscheint der 
USBasp ganz oben unter "Andere Geräte" mit einem gelben Ausrufezeichen.

Klicke da mit der rechten Maustaste drauf, dann auf "Treiber 
aktualisieren". Dann auf "Auf dem Computer nach Software suchen". Nun 
sagst du ihm, dass der Treiber in c:\windows liegt (oder wo auch immer 
die INF Datei liegt). Nach einigen Sekunden erscheint eine rote 
Warnmeldung, dass der Treiber unsicher sei weil er nicht signiert ist. 
Installiere ihn trotzdem.

Das sollte es gewesen sein.

Danach erscheint dein Programmieradapter in einer neuen Gruppe mit Namen 
"libusb-win32 devices" ohne gelbes Ausrufezeichen.

Falls auch das nicht klappt, suche mal nach der "Zadig" Software. Manche 
Leute berichten, dass diese geholfen hat.

von R. F. (rfr)


Lesenswert?

Hallo allerseits,

Stefan U. schrieb:
> Du versuchst zu viele Sachen gleichzeitig an laufen zu bringen. Auch
> wenn andere das bereits mehrfach schrieben, ich schreibe es nochmal,
> weil es wichtig ist:
>
> 1) Stecke den Programmieradapter an den PC. Kontrolliere im
> Geräte-Manager, ob er erkannt wurde.
>
> 2) Wenn er nicht erkannt wurde, installiere den Treiber gemäß dieser
> Anleitung: http://stefanfrings.de/avr_tools/libusb.html
>
> 3) Starte avrdude in einem CMD fenster mit der Angabe des korrekten µC
> Typen:
>
> avrdude -c usbasp -P usb -B16 -p atmega128
>
> Du müsstest dann eine Ausgabe wie diese erhalten:
> http://stefanfrings.de/avr_hello_world/screenshot2.png

Genau so machst du das jetzt. Es ist egal, ob das per skype oder per NG 
gesagt wird.

Außerdem ist dein Windows das Problem.
Mehr nicht.

Abhife: ich nehme Linux. avrdude ist da in 10 sec installiert, geht auf 
allen Rechnern hier einwandfrei.

Gruss

Robert

von Stefan F. (Gast)


Lesenswert?

> ich hab es ja auch geschafft meinen
> arduino als ISP programmer in AVR Studio einzubinden

Das ist einfacher, weil Arduino Boards handelsübliche USB-UART 
Schnittstellen haben, für dies es signierte Treiber gibt und die Windows 
10 zudem in der Regel vollautomatisch installiert.

Der usbasp ist jedoch einfacher aufgebaut. Er simuliert keinen seriellen 
Port und auch kein anderes Standard-Gerät das in der Windows Welt üblich 
wäre. Viele solcher Produkte werden über den kostenlosen und daher 
unsignierten libusb Treiber angesteuert.

von Randy T. (peroja)


Lesenswert?

Stefan U. schrieb:
> Hast du bei der Installation des libusb Treibers eine INF Datei mit dem
> Programm bin\inf-wizard.exe erstellt? Das musst du tun. Siehe
> angehängter Screenshot.

bitte wie meinen? ich hab in meinem "bin" kein inf-wizard.exe ?
damit wir uns richtig verstehen, dieses wizardchen ist im zip des USBASP 
treiber install packet?
siehst du, das sthet nirgends dass ich das tun muss. erst ein guter 
freund bei mikrocontroller sagt mir das....

von Stefan F. (Gast)


Lesenswert?

> dieses wizardchen ist im zip des USBASP treiber install packet

Ja sicher.

von Randy T. (peroja)


Lesenswert?

R. F. schrieb:
> Abhife: ich nehme Linux. avrdude ist da in 10 sec installiert, geht auf
> allen Rechnern hier einwandfrei.

Ja Robert, selbstverständlich werde ich jetzt deswegen auf Linux 
Umsteigen. Natürlich lach ...... Robert!! Echt jetzt? haha...

von Randy T. (peroja)


Lesenswert?

Stefan U. schrieb:
>> dieses wizardchen ist im zip des USBASP treiber install packet
>
> Ja sicher.

ähm...nein? bei mir nicht. kein solches exe vorhanden.

von Stefan F. (Gast)


Lesenswert?

> dieses wizardchen ist im zip des USBASP treiber install packet

Ja sicher.

> siehst du, das sthet nirgends dass ich das tun muss

Sorry, aber ZIP Dateien muss man immer auspacken. Außerdem steht das 
wohl in meiner Anleitung. Ich zitiere:

"Lade Dir jetzt libusb 1.2.6.0 runter und packe es aus. Nicht durch den 
Dateinamen irritieren lassen, das Paket enthält auch einen 64bit 
Treiber.
Stecke deinen Programmieradapter ein und starte danach das Programm 
libusb-win32-bin-1.2.6.0/bin/inf-wizard.exe."

Speziell für Dich habe die weiteren Schritte dort nun noch detaillierter 
beschrieben.

Wenn du jemals beim Programmierer Erfolg haben möchtest, wirst du Dich 
allerdings daran gewöhnen müssen, dass die vielen kleine Arbeitsschritte 
meistens nicht so detailliert vorgekaut werden. Programmieren lernen 
bedeutet, sich Informationen aus hunderten Quellen selbst zusammen zu 
suchen. Das gilt nicht nur für Mikrocontroller.

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

> ähm...nein? bei mir nicht. kein solches exe vorhanden.

Dann ist dein Computer kaputt oder du brauchst einen Augenarzt.

von Randy T. (peroja)


Lesenswert?

ok, scheint mein fehler zu sein denn ich hab das programm wo anders 
schon gestern heruntergeladen und dort drinnen sind nicht so viele 
dateien wie bei dir. ich hab das jetzt nachgeholt. eigendlich mag ich 
nicht mehr und möchte morgen....aber so wie ich mich kenne werde ich 
dass jetzt noch schnell testen. melde mich aber erst morgen irgendwann.

erst mal vielen dank!! ich hoffe das klappt. weil ich war jetzt grad 
etwas entmutigt. gute nacht :-)

randy

von Stefan F. (Gast)


Lesenswert?

Gebe nicht so schnell auf, denn dieser Treiber wird Dir sicher noch 
öfters in Kombination mit anderen Coolen Produkten über den Weg laufen.

von Dieter F. (Gast)


Lesenswert?

Stefan U. schrieb:
> Dann ist dein Computer kaputt oder du brauchst einen Augenarzt.

Troll?

Randy T. schrieb:
> Ich möchte im AVR Studio 7 den Programmer
> Einbinden,

Randy T. schrieb:
> Jetzt sieht das ganze so aus.

(BASCOM AVR)

Es kommt keine Aussage, mit welchem Betriebssystem (der 
Billig-Programmer mag wohl nur Windows 7) gearbeitet wird - aber an 
frechen Antworten fehlt es nicht .

von Stefan F. (Gast)


Lesenswert?

> der Billig-Programmer mag wohl nur Windows 7

Ich weiß mit Sicherheit, dass der Programmer unter Windows 10 
funktioniert, denn damit habe ich die obigen Screenshots gerade eben 
erst erstellt.

Den Wechsel vom Atmel Studio zu Bascom finde ich auch irritierend. Aber 
damit hat der Joe angefangen, nicht der TO Randy Tomlinson.

Zunächst muss der Treiber laufen, dann sehen wir weiter.

von Randy T. (peroja)


Angehängte Dateien:

Lesenswert?

ich glaub ein bisschen weiter bin ich gekommen. aber eine warnmeldung 
hab ich noch

von Wolfgang (Gast)


Lesenswert?

Randy T. schrieb:
> ich möchte lernen
> mit registern zu arbeiten und ich möchte mehr möglichkeiten haben als
> nur beschränkte pins als I/O einzusetzen mit so wenig speicher etc....

Und was hindert dich daran?
Unter der Arduino IDE kannst du die Register genauso ansprechen.

von Randy T. (peroja)


Lesenswert?

YES!! Geil, es funzt. mein blinky ist zum leben erwacht

D A N K E !!!!

von Randy T. (peroja)


Lesenswert?

Wolfgang schrieb:
> Unter der Arduino IDE kannst du die Register genauso ansprechen.

das weiss ich seit 3 tagen. ich musste mich nie damit beschäftigen. das 
problem beim arduino ist, dass beim hochladen ne menge zusätzlicher müll 
auf den prozessor geladen wird, und der arduino code (jaja ich weiss, es 
heisst syntax) in bestimmten situation nicht sooo stabil ist. ich hab da 
vor ein paar tagen mal ein video gesehen darüber wo einer zwei arduinos 
nebeneinander laufen hat, einer mit arduino code und einer mit C. da 
waren einige "spikes" auf dem oszi, die da nicht sein solltenö. 
egal..... ich will weg von arduino und es richtig machen. mein 
bescheidenes ziel ist erst mal blink code zu verstehen. dann will ich 
mal einen taster bauen, und dann register verschieben, also ein paar 
LED's nacheinander mit dem schalter kontrollieren. na ja....jetzt kann 
ich ruhig pennen. funktioniert erst mal.

von tommy (Gast)


Lesenswert?

Randy T. schrieb:
> ich glaub ein bisschen weiter bin ich gekommen. aber eine warnmeldung
> hab ich noch

Dein USBASP hat noch eine ältere Firmware drauf, die die Option -B
nicht unterstützt.

Um eine neuere Firmware drauf zu spielen brauchst du einen zweiten
Programmer ;-)

-B verlangsamt den Programmiertakt. Das kann nötig sein bei
fabrikneuen Controllern, die mit 1 MHz internem Takt laufen.

Es gibt aber auf dem USBASP einen Jumper, der den Takt langsam macht.

von Randy T. (peroja)


Lesenswert?

tommy schrieb:
> Randy T. schrieb:
>> ich glaub ein bisschen weiter bin ich gekommen. aber eine warnmeldung
>> hab ich noch
>
> Dein USBASP hat noch eine ältere Firmware drauf, die die Option -B
> nicht unterstützt.
>
> Um eine neuere Firmware drauf zu spielen brauchst du einen zweiten
> Programmer ;-)
>
> -B verlangsamt den Programmiertakt. Das kann nötig sein bei
> fabrikneuen Controllern, die mit 1 MHz internem Takt laufen.
>
> Es gibt aber auf dem USBASP einen Jumper, der den Takt langsam macht.

Nun das Hochladen meines Scripts hat offenbar Funktioniert. Ich hab eine 
LED am Kontroller und kann dessen Frequenz verändern. Also funktioniert 
es.

MUSS ich denn eine neuere Firmware draufladen? Oder kann ich das 
Ignorieren? Hat das irgendwann - Irgendwo einen Einfluss?

Ich gehe mal davon aus dass ich es vorerst Ignorieren kann und mich dann 
gelegendlich mal darum kümmern kann wenn ich einen zweiten Programmer 
zulege. Lustig finde ich, dass ich diese Firmware nicht via den USB Port 
hochladen kann....

von Wolfgang (Gast)


Lesenswert?

Randy T. schrieb:
> ich möchte einfach weiterkommen und weg von arduino.

Randy T. schrieb:
> Ich gehe mal davon aus dass ich es vorerst Ignorieren kann und mich dann
> gelegendlich mal darum kümmern kann wenn ich einen zweiten Programmer
> zulege.

So wie du dich anhörst, hast du bisher Arduinos verwendet. Dann hast du 
doch einen zweiten Programmer.

Du musst nur aus den mitgelieferten Beispielen der Arduino IDE aus der 
Gruppe "11.ArduinoISP" das Beispiel "ArduinoISP" auf deinen Arduino 
draufspielen - et voilà - ein zweiter Programmer.

von Forist (Gast)


Lesenswert?

Joe schrieb:
> Nochmal: (ggf. zeilenumbruch entfernen)

Warum nicht mit Code-Tag o.ä.. Dann lässt die Forensoftware die Finger 
vom Zeilenumbruch.

von Stefan F. (Gast)


Lesenswert?

> MUSS ich denn eine neuere Firmware draufladen? Oder kann ich das
> Ignorieren?

Nein, kannst du ignorieren. Die Auswirkung ist, dass die -B Option 
ignoriert wird. Manche usbasp Modelle haben ein Jumper, den man 
umstecken kann, wenn man die Taktfrequenz reduzieren will. Das ist bei 
jungfräulichen µC nötig, die standardmäßig mit 1Mhz (oder 1,2 Mhz) 
getaktet werden.

Es gibt aber auch Modelle, die sich automatisch umstellen. Das trifft 
auf meine zu, die ich vor 2 Jahren gekauft hatte. Da war der Jumper gar 
nicht bestückt.

Also: Kannst du ignorieren, solange es funktioniert.

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
Noch kein Account? Hier anmelden.