Hallo zusammen, ich habe mir einen Atmel Ice MK2 zugelegt um einen
xMega128AU mit BASCOM Code zu Flashen. Zum Flashen benutze ich eine
Externe Software namens myAVR PorgTool v1.41.
Dort habe ich sowohl den xMega als auch den Programmer bei "Sonstiges"
auf "jtagmk2 - Atmel Jtag Ice MK2" eingestellt. Dort fehlt aber der Com
Port.
Im Gerätemanager wird mir nur ein USB logo und "Atmel" angezeigt, dort
im unterverzeichnis "Atmel-ICE Data Gateway. Dort habe ich aber
keinerlei einstellmöglichkeit für einen Com Port. Hat in dieser hinsicht
irgendeiner erfahrung gemacht?
gruß
Das Ding hat keinen Com Port den man irgendwo einstellen muss. Sowas
braucht man bei USB nicht mehr.
Auf der Download Seite von myAVR ProgTool steht was von Libusb-win32,
das kann man mit zadig (http://zadig.akeo.ie/) installieren.
Versuche Dich eventuell mal an einem modernen Tool wie AVRDUDE.
AVR Dude ist ja auch überhaupt nicht umständlich...
Das avr ProgTool erfordert nun mal einen Com Port.
Bei meinem MySmart USB Light ist z.b. Com3 eingestellt. und läuft
wunderbar mit einem Mega32. Das ist allerding ISP und kein JTAG.
Stefan U. schrieb:> Wie gesagt hat dein Gerät keinen com Port. Punkt.
Komisch.
Meiner hat auch einen. Muss ich den jetzt wegschmeissen?
Benutzt habe ich den aber noch nie via COM-Port.
Hi
>Wie gesagt hat dein Gerät keinen com Port. Punkt.
Dann kennst du nur die billigen Clone.
Aus dem Datenblatt:
JTAGICE mkII
Atmel JTAGICE mkII Features
Fully compatible with Atmel Studio, ...
...
USB 1.1 and RS232 Interface to PC for Programming and Control
... .
MfG Spess
Michael schrieb:> Dort will Progtool einen Com sonst mekert er.
Woran machst du das fest?
So wie es die GUI zeigt kann man dort wo der Pfeil ist auch USB
eintragen.
Kenne die SW nicht, evtl. ist die Lösung ja wirklich so einfach?
Hi
>also den mit dem Weiß-Blauen Gehäuse.
Es gab auch noch einen AVR ICE vor den AVR ICE MKII. Der hatte ein
ähnliches Gehäuse wie der MKII und nur RS232.
MfG Spess
Das Fragezeichen neben diesem USB Eintrag klicken? ;-)
http://www.linux-usb.org/usb.ids
Laut dieser Liste sind das nicht die Zahlen die ich dort erwarten würde.
Michael schrieb:> Richtig, aber ich mich weiter oben korrigiert dass ich keinen MK2 habe,> sondern nur den normalen ICE.
ProgTool will den alten (!) JTAGICE mkII, Du hast den nicht kompatiblen
neueren Atmel ICE.
Was erwartest Du da?
Hmmm schrieb:> Michael schrieb:>> Richtig, aber ich mich weiter oben korrigiert dass ich keinen MK2 habe,>> sondern nur den normalen ICE.>> ProgTool will den alten (!) JTAGICE mkII, Du hast den nicht kompatiblen> neueren Atmel ICE.>> Was erwartest Du da?
Hier die liste der ICE´es :-)
Michael schrieb:> Dann muss ich dieses Gerät wieder zurückgeben....
Nee, Du willst Dir mal Software aus diesem Jahrzehnt ziehen. Die Atmel
ICE sind IMO derzeit das Beste für AVR verfügbare Tool.
Michael schrieb:> kommt mir jetzt nicht mit AVR Dude.
Warum denn nicht? Was glaubst du denn, wovon die von dir oben
gezeigte Liste der unterstützten Programmierer stammt? Von
AVRDUDE. (Das erkennt man schon am Programmer namens "bsd"; der
war nämlich der Anfang von Brian Dean's AVRDUDE-Projekt.) Nur halt
einer hornalten Version. Aktuelle Versionen können nämlich durchaus
mit dem Atmel-ICE (neuerer Bauart) umgehen.
>> kommt mir jetzt nicht mit AVR Dude.> Warum denn nicht?
Vielleicht bevorzugt er grafische Oberflächen. Ich benutze gerne den
AVR8-Burn-O-Mat. Ich habe ihm mit Java 8 neu compiliert, damit man nicht
gezwungen ist, eine uralte Java Runtime zu installieren.
http://stefanfrings.de/avr_tools/AVR8-Burn-O-Mat.zip
Stefan U. schrieb:> Mit den zahlreichen ICE Produkten hat Atmel reichlich Verwirrung> gestiftet.
JTAGICE MKI, JTAGICE MKII und Atmel ICE.
Das kann einen natürlich schnell überfordern.
Thomas E. schrieb:> Stefan U. schrieb:>> Mit den zahlreichen ICE Produkten hat Atmel reichlich Verwirrung>> gestiftet.>> JTAGICE MKI, JTAGICE MKII und Atmel ICE.
Nein, JTAGICE, JTAGICE mkII, JTAGICE3, Atmel ICE.
Das originale JTAGICE wurde nur später gern als JTAGICE mkI tituliert,
um es vom mkII aktiv unterscheiden zu können. Dem JTAGICE3 war nur
ein kurzes Produktleben gegönnt, da man es dann schnell durch das
Atmel ICE abgelöst hat. Die Atmel-ICE-PCB-Versionen passen übrigens
in die Gehäuse des JTAGICE3.
(Außerdem gab es auch noch ICE50 und ICE200, die echte Emulatoren
waren, also auf Basis eines FPGAs.)
Stefan U. schrieb:> Diese drei gibt es wiederum in mehreren Varianten. Zum Beispiel mit und> ohne Gehäuse bzw. Kabel.
Das trifft nur auf den letzten zu. Dabei handelt sich um ein
Entgegenkommen an die Bastler, ein wenig Geld zu sparen. ich weiß
wirklich nicht, was dich daran überfordert.
> ich weiß wirklich nicht, was dich daran überfordert.
Zum Glück bin ich mit meinem inzwischen alten ISP Mk-II immer noch
zufrieden und muss mich mit diesen Details nicht herum schlagen.
Jörg W. schrieb:> Das originale JTAGICE wurde nur später gern als JTAGICE mkI tituliert,> um es vom mkII aktiv unterscheiden zu können.
Meine Güte, kommst du jetzt auch noch mit der Erkenntnis, daß der Papst
nur Franiziskus heißt?
Stefan U. schrieb:>>> kommt mir jetzt nicht mit AVR Dude.>> Warum denn nicht?>> Vielleicht bevorzugt er grafische Oberflächen.
Kann er ja machen. Ich wollte nur, dass er kapiert, dass unter seiner
Oberfläche ein ganz normales AVRDUDE werkelt, nur eben in einer
ziemlich alten Version (wahrscheinlich Version 5.8, immerhin schon
aus dem Jahr 2009 (!)).
Nachteil all dieser GUI-Wrapper ist, dass AVRDUDE mit seinen
Fortschrittsanzeigen etc. nie wirklich für solche Wrapper konzipiert
worden ist. Seit einiger Zeit gibt es stattdessen eine recht strikte
Trennung von Backend (in libavrdude) und Frontend (main.c), sodass
man eigentlich auch ein echtes grafisches Frontend bauen könnte.
Scheint aber keiner ernsthaft für nötig zu halten, zumindest haben
mich bislang keine entsprechenden Rückfragen erreicht. Das Ganze wäre
dann einiges schneller (man muss die Session zum Programmer nur einmal
eröffnen) und anwenderfreundlicher, bspw. durch eine direkt
integrierbare Fortschrittsanzeige.
Thomas E. schrieb:> Jörg W. schrieb:>> Das originale JTAGICE wurde nur später gern als JTAGICE mkI tituliert,>> um es vom mkII aktiv unterscheiden zu können.>> Meine Güte, kommst du jetzt auch noch mit der Erkenntnis, daß der Papst> nur Franiziskus heißt?
Wenn du schon irgendwas behauptest, dann bitte richtig. Ist ja nicht
nur, dass du eben bei Atmel nie ein JTAGICE mkI kaufen konntest, auch
die 3er hattest du vergessen.
Ich finde es übrigens durchaus verwirrend, dass man den Nachfolger
des JTAGICE3 nun einfach nur „Atmel ICE“ nennt, ohne irgendeinen Bezug
darauf, dass er schon drei Vorgänger hat.
Michael schrieb:> Ich vergas´: Ich habe einen Atmel Ice, und keinen Ice mk2.
Der Portname dafür wäre übrigens einfach "usb" – hilft dir aber nichts,
da dein AVRDUDE zu alt ist.
Jörg W. schrieb:> Warum denn nicht?
Weil!
Ich hab mir AVRdude runtergeladen. wollte es öffnen und hat sich sofort
wieder geschlossen. Als ich gegooglet habe stand irgendwo dass es ein
"Leistungstarkes" programm sei. Weiter habe ich gesehen was man machen
muss um das zum laufen zu bringen und mit dem Windows cmd alles
einrichten soll. Das ist mir zu umständlich. Ich hab bisher meine
Software auf einem mega32 geflasht. Im weiteren verlauf der Software
entwicklung stellte sich heraus das ich mehr Pins brauche und bin zu
einem xMega128A1U umgestiegen. Ich muss viel Flashen-Testen- Werte
erfassen umprogrammieren wieder Flashen und Testen. Da habe ich für son
AVRdude kram keine Zeit.
Bastian W. schrieb:> Die *.hex mit dem Atmelstudio flashen oder gleich im Atmelstudio 7.x> programmieren. Dann kannst auch debuggen.
Das bringt nix hab ich schon versucht. Außerdem verwende ich Bascom und
kein C/C++
> wollte es öffnen und hat sich sofort wieder geschlossen.
Hast du es im Dateimanager doppelt angeklickt? Das geht so nicht.
Avrdude ist ein Kommandozeilenprogramm. Das muss man in einem
"Eingabeaufforderung" Fenster benutzen.
Stefan U. schrieb:> Das muss man in einem "Eingabeaufforderung" Fenster benutzen.
Tja, aber das ist ihm ja zu umständlich … dann kann man ihm wohl auch
nicht helfen.
Jörg W. schrieb:> Tja, aber das ist ihm ja zu umständlich … dann kann man ihm wohl auch> nicht helfen.
Warum muss avrdude denn so schwer sein? Ist das für Leute mit
langeweile? Ist das so eine art Prestige Programm, wer es laufen bringt
hat was drauf??
Ich hab mich mit der eingabeaufforderung noch nie beschäftigt. So ein
one-click programm wie Progtool würde mir völlig ausreichen, wenn es
funktionieren würde.
Michael schrieb:> Jörg W. schrieb:>>> Tja, aber das ist ihm ja zu umständlich … dann kann man ihm wohl auch>> nicht helfen.>> Warum muss avrdude denn so schwer sein?
Es ist keineswegs „schwer“.
Es ist einfach nur etwas ganz anderes als das, was du dir drunter
vorstellst.
In aller Regel tippt man das Kommando sowieso nicht mit der Hand in
die Tastatur, sondern man hinterlegt es irgendwo so, wie man sich den
jeweiligen Workflow in der Arbeit mit dem Controller eingerichtet hat.
Bei mir (und bei vielen anderen) ist das beispielsweise ein einem
Makefile. Ich sage dann "make program", und es wird zuerst alles
compiliert, was notwendig ist, danach geflasht. Kann man sich auch
noch auf eine Funktionstaste im Editor legen, dann bist du praktisch
bei dem, was eine IDE damit machen würde.
Andere bauen sich vielleicht einfach nur ein Batch-File dafür.
Nur: im Untergrund braucht man natürlich ein Tool, dem man irgendwie
dabei sagen kann, dass der Programmieradapter ein Atmel ICE ("-c
atmelice") ist, dass der Controller ein ATmega16 ("-p atmega16") ist,
dass man jetzt mit 100 kHz Programmiertakt ("-B 100kHz") arbeiten will,
dass die zu programmierende Datei "test.elf" heißt ("-U test.elf") usw.
Genau das Tool ist AVRDUDE.
Offensichtlich war es ja auch demjenigen gut genug für die Arbeit,
der es dir irgendwo hinein eingebaut hat … nur dass er eben eine
Version von vorvorvorgestern mitliefert.
> Ich hab mich mit der eingabeaufforderung noch nie beschäftigt.
Dann wirst du wohl auch weiterhin zusehen müssen, jemanden zu finden,
der dir einen GUI-Wrapper für etwas baut, das man mit ein paar
Buchstaben auf der Kommandozeile auch selbst tippen könnte …
Das geht ja dann noch mit dem Commandozeilen Programm. Ich hab nur keine
Zeit für 80er Jahre Spielereien die man hätte schon im 15ten Jahrhundert
modernisieren können. Als würde ich, wenn ich das Haus verlasse, mir
jedesmal einen Haustürschlüssel im Keller anfertigen muss, nachdem ich 1
Monat Schlüssel nachmachen gelernt habe.
Aber das war schon mal eine Hilfreiche erklärung, Jörg.
Michael schrieb:> Jörg W. schrieb:>>> avrdude -c atmelice -p atmega16 -B 100kHz -U test.elf>> Das ist alles, was ich zum Flashen eintippen muss?
Ja, wobei natürlich der letzte Parameter ein kompletter und gültiger
Pfad zu der Datei ist, aus der die Flash-Daten zu lesen sind.
AVRDUDE kann nicht erraten, in welchem Verzeichnis sich diese befindet.
;)
Das "-B 100kHz" ist meist auch noch überflüssig, so auch bei dir, da
du ja einen Xmega hast. Dieser wird über PDI angesprochen, daher wäre
in deinem Falle der zugehörige Programmer "atmelice_pdi".
Damit ist das exakte Kommando für deinen Fall:
avrdude -c atmelice_pdi -p atxmega128a3u -U test.elf
Falls einer Fragt, ich habe das "Ready for xMega" board von
MicroElectronika aus Serbien. Dort kann man das PDI als auch das Jtag
interface benutzen.
noch zwei Fragen: was ist eine .elf Datei? Das einzige was Bascom nach
dem Compilieren auspuckt sind: .bas .bin .bm .cfg .cs .dbg .hex .obj
.prg und .rpt
Also sieht der Dateipfad also so aus?:
-U C:\Programme\Test.elf
?
Glücklicherweise gibt es bei MicroElektronika einen Bootloader für
dieses Board. Dort kann man direkt vom Computer über USB an das Board
Flashen ohne jegliche Atmel Hardware. Funktioniert einwandfrei. Nur wenn
ich mein eigenes
Custom Board dann anfertigen lasse werde ich so oder so die Atmel
Hardware und das Comandozeilen Programm benutzen müssen.
> Ich hab nur keine Zeit für 80er Jahre Spielereien die man hätte schon im> 15ten Jahrhundert modernisieren können.
Wie stellst du dir denn ein modernes Programm vor? Mit klicki-bunti
Mausbedienung, und dann zusätzlich einen Makro Recorder der für dich die
Maus bewegt und Buttons anklickt?
> was ist eine .elf Datei?
Ein Programm im elf Format (kannst du gerne mit exe vergleichen). Unter
Linux sind fast alle normalen Programme elf Dateien, auch wenn sie nicht
so heißen.
avrdude unterstützt auch andere Formate als hex.
-U flash:w:flash.bin
Stefan U. schrieb:> Wie stellst du dir denn ein modernes Programm vor? Mit klicki-bunti> Mausbedienung, und dann zusätzlich einen Makro Recorder der für dich die> Maus bewegt und Buttons anklickt?
na so ähnlich wie bei Arduino oder eben beim Progtool. Datei auswählen
und Flashen. Klick Klack.
Besser schneller wäre wenn ich direkt über Bascom Flashen könnte, aber
das funktioniert bei mir nicht, auch nicht mit dem mySmartUSB light
Programmer. Bascom hängt sich dann immer auf. Aber das ist eine andere
Geschichte.
Michael schrieb:> Besser schneller wäre wenn ich direkt über Bascom Flashen könnte, aber> das funktioniert bei mir nicht, auch nicht mit dem mySmartUSB light> Programmer. Bascom hängt sich dann immer auf.
Das war doch erst vor ein paar Tagen hier Thema. Suche mal danach.
Hier ist es doch:
Beitrag "Fehler beim Brennen Atmega8"
MfG Paul
Michael schrieb:> Falls einer Fragt, ich habe das "Ready for xMega" board von> MicroElectronika aus Serbien. Dort kann man das PDI als auch das Jtag> interface benutzen.
Eigentlich gibt's bei Xmega keinen Grund, nicht PDI zu benutzen.
JTAG wäre dort wirklich nur noch dann sinnvoll, wenn man es im
ursprünglichen Sinne (JTAG Chaining) benutzen will.
Einige Xmegas haben nur PDI und kein JTAG.
> noch zwei Fragen: was ist eine .elf Datei?https://de.wikipedia.org/wiki/Executable_and_Linking_Format> Das einzige was Bascom nach> dem Compilieren auspuckt sind: .bas .bin .bm .cfg .cs .dbg .hex .obj> .prg und .rpt
Dann nimm die .hex-Datei.
> Also sieht der Dateipfad also so aus?:> -U C:\Programme\Test.elf> ?
Naja, in C:\Programme wird es vermutlich eher nicht stehen, sondern
sowas wie C:\Users\michael\Documents\... Falls der Pfadname ein
(oder mehrere) Leerzeichen enthält, solltest du ihn komplett in
Anführungszeichen setzen:
1
avrdude ... -U "C:\Users\michael\Dokumente und Einstellungen\Mein Projekt\test.hex"
Im Windows-Dateimanager hast du in der Titelzeile mit der rechten
Maustaste eine Option "Copy as text" (keine Ahnung, wie das auf
deutsch übersetzt ist). Damit kannst du zumindest den Verzeichnisnamen
anschließen via Rechte Maustaste -> Paste in cmd.exe einfügen. Weiß
nicht, ob's das auch direkt für einen Dateinamen gibt, dafür benutze
ich Windows zu selten.
>> Wie stellst du dir denn ein modernes Programm vor?> na so ähnlich wie bei Arduino oder eben beim Progtool.> Datei auswählen und Flashen. Klick Klack.
Du hast was vergessen:
- Controller Typ auswählen.
- Com Port auswählen.
Und dann sind wir schon ziemlich nahe an den Kommandozeilenparametern
von avrdude. Schau Dir wie gesagt den AVR8-Burn-O-Mat an. Da kannst du
auswählen und klicken.
http://stefanfrings.de/avr_tools/AVR8-Burn-O-Mat.zip
Paul B. schrieb:> Das war doch erst vor ein paar Tagen hier Thema. Suche mal danach.
Wenn ich in Bascom Flashen will steht oben dann "Programm Reagiert nicht
mehr" und kann dann Bascom neu Starten.
-------------------------------------------------------------
Jörg W. schrieb:> Naja, in C:\Programme wird es vermutlich eher nicht stehen, sondern> sowas wie C:\Users\michael\Documents\... Falls der Pfadname ein> (oder mehrere) Leerzeichen enthält, solltest du ihn komplett in> Anführungszeichen setzen:
Ja, vielen dank, werde ich mir mal aufschreiben. :)
------------------------------------------------------------
Stefan U. schrieb:> Du hast was vergessen:> - Controller Typ auswählen.> - Com Port auswählen.
Im Progtool kann man auch die Spannung von 5 auf 3,3v umstellen <3
Michael schrieb:> Wenn ich in Bascom Flashen will steht oben dann "Programm Reagiert nicht> mehr" und kann dann Bascom neu Starten.
Bei hunderten von Leuten steht das nicht. Bei Dir steht es. Das heißt
nicht, daß hunderte Leute Glück haben, sondern daß Du irgendwelchen
Mumpitz einstellst.
Pfriem ruhig weiter -vielleicht läuft es durch Zufall irgendwann.
SCNR
Paul
Paul B. schrieb:> Bei hunderten von Leuten steht das nicht. Bei Dir steht es. Das heißt> nicht, daß hunderte Leute Glück haben, sondern daß Du irgendwelchen> Mumpitz einstellst.>> Pfriem ruhig weiter -vielleicht läuft es durch Zufall irgendwann.>> SCNR> Paul
Ich mach den ganzen Tag nix anderes. Ich bin in einer "Zufall-Sekte" bei
der ich 32468764523 Mio Euro im Monat Beitrag Zahle.
Das geht auch, falls man den Atmel ICE und Bascom hat. Atmel Studio 7
muss installiert sein. Es wird daraus die "atprogram.exe" benötigt.
Siehe Anhang.
Unter Parameter
-t atmelice -i isp -d atmega8 program -f {file}
Michael schrieb:> Jörg W. schrieb:>>> Tja, aber das ist ihm ja zu umständlich … dann kann man ihm wohl auch>> nicht helfen.>> Warum muss avrdude denn so schwer sein? Ist das für Leute mit> langeweile? Ist das so eine art Prestige Programm, wer es laufen bringt> hat was drauf??> Ich hab mich mit der eingabeaufforderung noch nie beschäftigt. So ein> one-click programm wie Progtool würde mir völlig ausreichen, wenn es> funktionieren würde.
Avrdude ist in erster Linie für die Maschine zur Maschine Kommunikation
gedacht.
Maschinen können kein Klickibunti bedienen.
Beispiel: In make Files, kann man keine Klickibunti Programme verwenden.
Auch, möchte ich behaupten, dass Kommandozeilenprogramme zur Zeit noch
weit in der Überzahl sind. Die siehst du nur nicht, weil du nicht
hinschaust.
Meine Glaskugel sagt:
Du schneidest dir selber mit, dieser Ansicht/Einstellung, viele
(mächtige) Wege ab.
Arduino F. schrieb:> Du schneidest dir selber mit, dieser Ansicht/Einstellung, viele> (mächtige) Wege ab.
Naja, diese Einstellung hat er doch nun schon korrigiert.
Jörg W. schrieb:> Arduino F. schrieb:>> Du schneidest dir selber mit, dieser Ansicht/Einstellung, viele>> (mächtige) Wege ab.>> Naja, diese Einstellung hat er doch nun schon korrigiert.
Dann ist ja gut!
In der BASCOM Hilfe ist die Einbindung von AVRDude im Zusammenhang mit
den Arduino‘s gut beschrieben. Zudem erspart man sich durch das viel
kleinere AVRDude die Installation des AVR Studios...