• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Grundlegende Fragen zu USB Programmierung

xorg1990

New member
Hi, habe mich die vergangen Tage mal mit WEB-USB beschäftigt.
Es ist so das die Gerätehersteller die Web Adresse des Gerätes auf den Chip hinterlegen müssen das die Verbindung Klappt.

Wird natürlich die nächsten Jahre nicht geschehen.

Was Allerdings geht man kann den Browser mit einem Atmega verbinden, allerdings muss es anschneidet ein Atmega mit Intigrieren USB Controller sein.
Für Hobby Bastler ist das schon mal eine gute Sache.

Auf der WEB USB Github Page steht was von USB2.1 allerdings kenne ich keine USB 2.1 Standard, ich kenne nur usb 1.0, 1.1, 2.0, 3.0, 3.1.
https://github.com/webusb/arduino

Meinen die was Anderes??

Auf der Demo Page steht:
Code:
.then(() => device.controlTransferOut({
    requestType: 'class',
    recipient: 'interface',
    request: 0x22,
    value: 0x01,
    index: 0x02})) // Ready to receive data
https://developers.google.com/web/updates/2016/03/access-usb-devices-on-the-web
Jetzt kann der Atmega Daten zum Browser senden und was ist zu tun um Daten vom Browser Richtung Atmega zu senden? Für erste wäre ich habby wenn eine LED aufleuchtet.


Kann ich für Web-USB auch eine Software USB Variante nutzen? z.B:
https://www.obdev.at/products/vusb/index.html
 
CONTROL transfers, used to send or receive configuration or command parameters to a USB device are handled with controlTransferIn(setup, length) and controlTransferOut(setup, data).
oder
ISOCHRONOUS transfers, used for streams of data like video and sound are handled with isochronousTransferIn(endpointNumber, packetLengths) and isochronousTransferOut(endpointNumber, data, packetLengths).
oder
BULK transfers, used to transfer a large amount of non-time-sensitive data in a reliable way are handled with transferIn(endpointNumber, length) and transferOut(endpointNumber, data).

- - - Aktualisiert - - -

versteht jemand den sinn von webusb?
What would this procedure be like without the WebUSB API?
schauen wir mal
Read a box, label, or search on line and possibly end up on the wrong website.
hat das schon mal jemand gemacht? ich nicht!
Have to install a native application.
treiber! oder meinen die wirklich eine anwendung?
der markt für geräteklassen jenseits von hid, mass storage(, audio, drucker von mir aus auch noch) dürfte recht gering sein, und selbst wenn nicht, was nutzt mir das gerät, wenn ich kein zugriff vom os drauf habe?
Is it supported on my operating system? Make sure you download the "right" thing.
was soll ich sonst damit machen?
 
Also controlTransferIn(setup, length)
Und was ist Setup und was length? Bzw woher weiß man was bei setup zu setzen ist?

tsseh schrieb:
versteht jemand den sinn von webusb?
Nicht wirklich, das einzige "gute" ist man kann sich direkt mit einem Atmega unterhalten vom Browser aus in JS.
Für die Roboter Bastler Freaks ganz interessant.

Für mich als Funkamateur interessiert z.B das Stehwellenverhältnis

Wie gesagt die Microprozessor Sache ist fein, alles andere murks.

tsseh schrieb:
was nutzt mir das gerät, wenn ich kein zugriff vom os drauf habe?
Wozu brauchst du einen Zugriff aufs OS wen das Gerät dazu entwickelt wurde sich mit der Web USB API zu unterhalten.

Die Devise ist ja: "man stecke das Gerät an öffne den Browser, los geht's" keine Treiber mehr nix.

Unter Windows gibt es Zadig das wird gerne genutzt um die Standard Trieber von DVB-T Sticks zu eliminieren.

DVB-T Sticks haben eine Bandbreite von 0-1MHz z.B. Damit kann man noch viel mehr machen als nur DVB-T zu empfangen.
Wir alles hier erläutert
rtl-sdr
 
Also controlTransferIn(setup, length)
Und was ist Setup und was length? Bzw woher weiß man was bei setup zu setzen ist?
in die docu sehen
https://wicg.github.io/webusb/#dictdef-usbcontroltransferparameters

Nicht wirklich, das einzige "gute" ist man kann sich direkt mit einem Atmega unterhalten vom Browser aus in JS.
Für die Roboter Bastler Freaks ganz interessant.
EtherShield wenn es arduino sein soll oder sonst eins der 1000 boards mit ethernet und atmega
ich kauf mein zeug meist bei dfrobot. kommt nach 1-2 wochen aus china.
die haben viel arduino kompatiebles geiles zeug
https://www.dfrobot.com/wiki/index.php/W5500_Ethernet_with_POE_Mainboard_SKU:_DFR0342
oder ein rpi mit https://www.dfrobot.com/index.php?route=product/product&product_id=1148#.U85Q7PmSwWm
fehlt leider ne externe stromversorgung. das meiste kannst du direkt über usb versorgen, stromfresser wie ein gsm-Shield leider nicht
oder ein rpi über i2c mit nem arduino verbunden, steuert bei mir den hier rpi.jpg

Wozu brauchst du einen Zugriff aufs OS wen das Gerät dazu entwickelt wurde sich mit der Web USB API zu unterhalten.
fällt mir nichts ein

Die Devise ist ja: "man stecke das Gerät an öffne den Browser, los geht's" keine Treiber mehr nix.
ich will aber nicht den browser öffnen, um mit meiner tastatur zu schreiben, mit dem drucker zu drucken, dateien von der externen festplatte zu kopieren, ....

Unter Windows gibt es Zadig das wird gerne genutzt um die Standard Trieber von DVB-T Sticks zu eliminieren.
kann ich nichts mit anfangen, warum nimmt man nicht einfach die treiber des sticks?

DVB-T Sticks haben eine Bandbreite von 0-1MHz z.B. Damit kann man noch viel mehr machen als nur DVB-T zu empfangen.
ach, hätte ich mir denken können, aber dann installiert man sich einfach einen spezialtreiber, weil man dann sowieso was spezielles mit machen möchte und seine anwendung auch selber schreiben gegen den treiber muss
 
tsseh schrieb:
in die docu sehen
Hab ich, allerdings bin auf den Punk gekommen das ich es einfach mal ausprobieren muss.
Vom Dachboden irgend eine alten Rechner holen zum ausprobieren nicht das ich mir an meinem Hauptrechner den USB Controller zerlege. Soundkarten habe ich schon viele geschafft.
Das arduino micro habe ich schon bestellt.

tsseh schrieb:
EtherShield wenn es arduino sein soll oder sonst eins der 1000 boards mit ethernet und atmega
Hm. ich wollte mal einen tcp oder websocket server auf einen Atmega brutzeln, bin dann aber irgend woran gescheitert . EtherShield kannte ich noch nicht.

Allerdings ist ein RJ-45 Stecker weit aus komplizierter als ein usb Stecker. Ich baue die Hardware meist selber.

Interessant wäre ebend zu wissen ob eine Software usb Lösung auch für WEB-USB gehen würde.
USBTiny ist klingt auch gut:
https://dicks.home.xs4all.nl/avr/usbtiny/

Und was ist nun mit usb2.1 gemeint? auf usb.org kann ich kein usb 2.1 Standard finden.
 
Interessant wäre ebend zu wissen ob eine Software usb Lösung auch für WEB-USB gehen würde.
keine ahnung, müsstest du sicherlich was erweitern

USBTiny ist klingt auch gut:
Four Walled Cubicle - LUFA (Formerly MyUSB) hab ich auf einem AT90USBKEY laufen. hat mal in einem MMORPG maus und keyboard gespielt um nicht ausgelogt zu werden.
das board kam aus den USA. alles was aus china kam, kein problem. aber das, war ne aktion, mit zoll und allem.

Und was ist nun mit usb2.1 gemeint? auf usb.org kann ich kein usb 2.1 Standard finden.
keine ahnung, ersetz das define und gut
 
tsseh schrieb:
das board kam aus den USA. alles was aus china kam, kein problem. aber das, war ne aktion, mit zoll und allem.
Hatte bis jetzt noch keine Probleme mit dem zoll. Das einzige war mal ein Sampler von Depeche mode, der kam aus Australien. Da das Teil so groß wie ein Kühlschrank ist und verpackt in einem Alukoffer war mit Zahlenschloss konnten die nicht hinein sehen. Ich musste damals extra nach Frankfurt fahren um das Ding zu öffnen.


Die Arduino Micros sind gestern Abend tatsächlich noch gekommen.

Allerdings bekomme ich die nicht beschrieben.
Wollte das Blink Bespiel drauf laden aber ich erhalte diese Fehlermeldung:
avrdude: error: buffered memory access not supported
oder
butterfly_recv(): programmer is not responding
in der Arduino IDE

Auf derWebsite steht:
Press and hold the reset button on the Leonardo or Micro, then hit the upload button in the Arduino software. Only release the reset button after you see the message "Uploading..." appear in the software's status bar.
https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc3

Ändert nix.

Ich habe die IDE auch mit root rechten ausgeführt. Keine Änderung.
Installiert habe ich alles via apt.
Die Benutzerkonten habe ich zur Gruppe dialout hinzugefügt.
avrdude ist in der neuste Version installiert.
Ich sehe auch anhand der Status LED das was übertragen wird aber anscheint wird nicht richtig resetet.

Irgend eine idee?
Kann ich den Chip auch via ISP Programmer brennen statt USB? Oder ist das nur für den Bootloader da?
 
Allerdings bekomme ich die nicht beschrieben.
ging unter windows (fast) immer problemlos, hatte bei einem board probleme mit dem usb-treiber, nachdem ich da den richtigen installiert hatte ging das auch ohne probleme

Kann ich den Chip auch via ISP Programmer brennen statt USB? Oder ist das nur für den Bootloader da?
den arduino code musst du über den bootloader laden
 
tsseh schrieb:
ging unter windows (fast) immer problemlos, hatte bei einem board probleme mit dem usb-treiber, nachdem ich da den richtigen installiert hatte ging das auch ohne probleme
Hrrr windows:mad: echt gibt es da Treiber für? Wenn ich einen normalen ATmega brennen will hab ich eine Platine für alle möglichen Typen, die steck ich auf und los gehts. Habe da nie ein Treber eingerichtet.
Letzten endes sind die USB Programmer nichts anderes als ein USB zu RS-232 Adapter mit FTDI chip.
Das ist eben in den Ardiono Micro (Atmega32U4) schon alles intigriert.

tsseh schrieb:
den arduino code musst du über den bootloader laden
Wie meinen "über den Bootloader"?
Habe keine Plan was der Bootloader überhaupt ist, stelle mir das wie ein Treiber vor.
Eigentlich sollte man wie beim Arduino UNO das Teil anstecken uploaden und fertig ist.
Den Bootloader muss man nur neu Uploaden wenn man den Chip wechselt.

Meine Frage war ob man so ein Teil nutzen kann zum Brennen

Die USB Schnittstelle beim Arduino ist ja nur aus Komfort gründen mit dabei.
 
Hrrr windows:mad: echt gibt es da Treiber für? Wenn ich einen normalen ATmega brennen will hab ich eine Platine für alle möglichen Typen, die steck ich auf und los gehts. Habe da nie ein Treber eingerichtet.
mein programmer (Dragon) geht auch wieder über usb und benötigt einen treiber

Letzten endes sind die USB Programmer nichts anderes als ein USB zu RS-232 Adapter mit FTDI chip.
ich dachte nicht mehr (überall), der FTDI treiber war genau das problem von dem ich gesprochen hatte.

Wie meinen "über den Bootloader"?
der Bootloader, ein stück arduino firmware, auf den avr gebrannt mit einem programmer, nimmt deinen arduino code und legt ihn an eine bestimmte adresse. ist auch ein programmer, aber für den arduino code aus der arduino IDE.
der AVR (eigentlich alle mc, rechner, ...) springt bei start eine best. adresse an. dort muss die firmware liegen und irgendwas machen.
beim arduino liegt dort ein stück firmware, welche über usb mit dem arduino studio redet, von diesem den compilierten code entgegennehmen kann, diesen auf den avr brennen kann und selbst wieder an einer betimmten adresse diesen code erwartet und anspringt. also eine stufe mehr.
vielleicht kennst du den paulmon für den 8051, der hat das auch gemacht.
https://www.pjrc.com/tech/8051/paulmon2.html

Eigentlich sollte man wie beim Arduino UNO das Teil anstecken uploaden und fertig ist.
ja, das ist ja der sinn vom arduino, du sparst dir den programmer, weil das die firmware übernimmt, die schon auf dem chip ist.

Den Bootloader muss man nur neu Uploaden wenn man den Chip wechselt.
der Bootloader ist ja schon drauf, um den chip zu wechseln, müsstest du den auslöten

Meine Frage war ob man so ein Teil nutzen kann zum Brennen
prinzipiell schreibt der bootloader den code auch nur an eine stelle in den rom. ABER er könnte zusätzlich noch ander dinge irgendwo abspeichern. sowas wie "da ist ein programm vorhanden, springe es nach reset an".
das hab ich noch nie gebraucht, weil das ja über den bootloader viel einfacher ist. musst du mal recherchieren.

Die USB Schnittstelle beim Arduino ist ja nur aus Komfort gründen mit dabei.
erstens das, und 2. sind in der firmware vielleicht auch schon funktionen enthalten die vom arduino code genutzt werden. du musst also aufpassen, dass du den bootloader nicht überschreibst/löschst.

- - - Aktualisiert - - -

musst du mal recherchieren.
https://www.arduino.cc/en/Guide/ArduinoISP#toc4

und 2. sind in der firmware vielleicht auch schon funktionen enthalten die vom arduino code genutzt werden. du musst also aufpassen, dass du den bootloader nicht überschreibst/löschst.
also nicht, was eigentlich suboptimal ist.

jetzt ist die frage, wie funktioniert das mit der startadresse. die muss ja eine andere sein wenn du den arduino code vom bootloader anspringst als wenn du den bootloader ersetzt.

ich würde einfach mal das von der ide erzeugte hex-file runterladen und sehen was passiert, den bootloader kannst du zur not ja wieder draufbrennen. vermutlich geht dann aber alles und der bootloader bleibt erhalten.

- - - Aktualisiert - - -

ok, die scheinen über die fuse bits die startadresse ans ende des flashspeichers gelegt zu haben. dort liegt der bootloader.
die arduino programme selbst beginnen immer bei adresse 0 und werden vom bootloader angesprungen.
du kannst also das hex file einfach runterladen musst aber entweder die fuse bits für den bootvector wieder auf default (adresse 0) ändern oder darfst den bootloader nicht überschreiben.

- - - Aktualisiert - - -

hier noch die links:

hier liegt der bootloader
https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/bootloaders/atmega/Makefile#L27

hier der functionpointer auf die eigentliche startadresse
https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168.c#L273

aber um das auch nochmal zu sagen, ich würde ja versuchen rauszufinden, warum du den bootloader nicht nutzen kannst.
der ist ja der hauptgrund (neben den vielen vorhandenen libs passen zu den shields) arduino überhaupt zu nutzen.
sonst kannst du ja auch gleich das avr studio nehmen.

- - - Aktualisiert - - -

weil im makefile auch dein avrdude im zusammenhang mit den fusebits erwähnt wurde hab ich mal nachgeforscht was der eigentlich macht.
und tatsächlich ist das eine programmersoftware und hat mit dem arduino studio nichts zu tun.
warum lädst du die programme denn nicht auf dem standard weg über die ide?

- - - Aktualisiert - - -

ich dachte nicht mehr (überall), der FTDI treiber war genau das problem von dem ich gesprochen hatte.
schon beim Leonardo nicht mehr, dürfte fast nur noch der uno mit FTDI arbeiten
http://provideyourown.com/2012/arduino-leonardo-versus-uno-whats-new/
Arduino’s latest incarnation – the Leonardo is now shipping. It is the first Arduino to use Atmel’s ATmegaXU4 series chip with built-in USB. This change is big and it has big benefits.
 
Zuletzt bearbeitet:
Tatsächlich gibt es nur den USB 2.0 Standard, welcher durch Fehlerbereinigung, Feature add usw. glaube ich bei USB 2.0 Rev.20 angekommen ist, aber weiterhin als USB 2.0 Standard publiziert wird. Eine Neuerung war irgendwann mal das "Binary Device Object Store (BOS)" wo das angeschlossene USB Device das Flag "bcdUSB" auf "0x0201" (2.01) setzt. Dadurch kann entsprechende Software über das "BOS descriptor set" mit dem USB device kommunizieren und so. Daher haben sich quasi (meist von den Herstellern) das USB 2.0 device und das USB 2.1 device als gebräuchliche Namen verbreitet, was so viel heißt wie:

USB 2.0 device = USB device nach USB 2.0 Standard ohne BOS-Unterstützung
USB 2.1 device = USB device nach USB 2.0 Standard mit BOS-Unterstützung


Cheers...
 
tsseh schrieb:
du kannst also das hex file einfach runterladen musst aber entweder die fuse bits für den bootvector wieder auf default (adresse 0) ändern oder darfst den bootloader nicht überschreiben.
Ok, einleuchtend.

tsseh schrieb:
ich würde einfach mal das von der ide erzeugte hex-file runterladen und sehen was passiert, den bootloader kannst du zur not ja wieder draufbrennen. vermutlich geht dann aber alles und der bootloader bleibt erhalten.
Jo, denke auch einfach Ausprobieren.

tsseh schrieb:
aber um das auch nochmal zu sagen, ich würde ja versuchen rauszufinden, warum du den bootloader nicht nutzen kannst.
Den bootloader kann ich schon nutzen, aber ich kann den arduino Micro nicht brennen.
Habe mir gestern von einen Kumpel das arduino uno geholt, das geht wunderbar zu brennen.

tsseh schrieb:
sonst kannst du ja auch gleich das avr studio nehmen.
Würde liebend gerne avr studio nehmen und eine der Software USB Lösung . Allerdings habe ich kein Plan was ich an den quellcode ändern muss damit das web usb klappt. Mal abgesehen davon das ich die web-usb lib einbinden muss.
Und ob das überhaupt geht jetzt nach dem miniA4kuser das "BOS descriptor set" erwähnte. Die Software Lösungen sind alle usb 1.1 allerdings nur weil die Geschwindigkeit der Mic zu langsam ist. Denke es wäre egal was man da auf den chip brennt.

tsseh schrieb:
weil im makefile auch dein avrdude im zusammenhang mit den fusebits erwähnt wurde hab ich mal nachgeforscht was der eigentlich macht.
und tatsächlich ist das eine programmersoftware und hat mit dem arduino studio nichts zu tun.
warum lädst du die programme denn nicht auf dem standard weg über die ide?
Doch ich brenne über die ide, die Fehlermeldung steht unten in der Konsole. Habe bei "Ausführliche Ausgabe anzeigen" ein Hacken gemacht.

tsseh schrieb:
schon beim Leonardo nicht mehr, dürfte fast nur noch der uno mit FTDI arbeiten
Der Leonardo und Micro sind vom chip her identisch. Bei den neunen Atmegas fällt der FTDI chip weg, weil ist alles gleich mit in den Mega drinne.

miniA4kuser schrieb:
USB 2.1 device = USB device nach USB 2.0 Standard mit BOS-Unterstützung
Stimmt, jetzt wo du es sagst das habe ich gelesen:
https://github.com/webusb/arduino/issues/6
 
Den bootloader kann ich schon nutzen, aber ich kann den arduino Micro nicht brennen.
Habe mir gestern von einen Kumpel das arduino uno geholt, das geht wunderbar zu brennen.
wozu willst du ihn denn brennen, wenn du den bootloader nutzen kannst?

Doch ich brenne über die ide, die Fehlermeldung steht unten in der Konsole. Habe bei "Ausführliche Ausgabe anzeigen" ein Hacken gemacht.
so?upload.png
 
tsseh schrieb:
wozu willst du ihn denn brennen, wenn du den bootloader nutzen kannst?
Na ich dachte der code wird Compiliert und gebrannt? Der bootloader Verwaltet doch nur den Daten strom der von USB kommt.
Ansonsten müsste ja der code auf den Chip compiliert werden was kein sinn macht.

tsseh schrieb:
Fast ich klicke oben auf Uploaden. In den Sketch Drobdown steht bei mir was ganz anderes.
"Kompilierte Binärdatei exportieren" ist auch nirgendwo zu finden. Wäre meine nähste frage wie erstelle ich ein ein hex file?

Die Ausgabe in der Konsole schaut so aus:
arduino.png
 
Na ich dachte der code wird Compiliert und gebrannt?
ja

Der bootloader Verwaltet doch nur den Daten strom der von USB kommt.
und der datenstrom sollte das hex file sein, also der compilierte binärcode in textform

Ansonsten müsste ja der code auf den Chip compiliert werden was kein sinn macht.
nee warum?

Fast ich klicke oben auf Uploaden.
den button in der symbolleiste? das sollte eigentlich der upload über den bootloader sein.

Wäre meine nähste frage wie erstelle ich ein ein hex file?
das müsste schon erstellt sein, weil es ja hochgeladen werden soll. keine ahnung wo.
habs nur überflogen, keine ahnung ob da was zu linux steht:
Wo ist die Hexdatei vom Arduino-programm? - Mikrocontroller.net
wenn ich aber "kompilierte binärdatei exportieren" wähle landen 2 hex-dateien im ordner wo die src liegen

Die Ausgabe in der Konsole schaut so aus:
da sieht man ja, er will den Butterfly Programmer nutzen und nicht den bootloader. hast du den denn? hast du den verbunden? oder hast du (wie man das normal machen würde) den mini über usb verbunden?
 
tsseh schrieb:
den button in der symbolleiste?
Ja, genau der.

tsseh schrieb:
wenn ich aber "kompilierte binärdatei exportieren" wähle landen 2 hex-dateien im ordner wo die src liegen
Ist auch so, nur löscht die ide das hex File nach den uploaden wider.


tsseh schrieb:
da sieht man ja, er will den Butterfly Programmer nutzen und nicht den bootloader. hast du den denn? hast du den verbunden? oder hast du (wie man das normal machen würde) den mini über usb verbunden?
Nein, habe keinen Butterfly. Das arduino micro ist ganz normal via USB mit dem PC verbunden.
Es gibt auch keine Option wo man den Butterfly Programmer rausnehmen kann.

Es gibt zwar in der IDE ein Menü "select Programmer". Da ist aber kein Butterfly mit aufgelistet.
Außerdem wähle ich ja den normalen Upload und nicht "Upload mit Programmer".
 
Nein, habe keinen Butterfly. Das arduino micro ist ganz normal via USB mit dem PC verbunden.
Es gibt auch keine Option wo man den Butterfly Programmer rausnehmen kann.
board, chip und port sind aber richtig eingestellt?

Es gibt zwar in der IDE ein Menü "select Programmer". Da ist aber kein Butterfly mit aufgelistet.
Außerdem wähle ich ja den normalen Upload und nicht "Upload mit Programmer".
er macht aber "Upload mit Programmer".
lad das nochmal auf den uno oder leonardo und kopier beides mal als textausgabe hier rein

- - - Aktualisiert - - -

scheinst nicht der einzige zu sein mit problemen beim micro
 
tsseh schrieb:
board, chip und port sind aber richtig eingestellt?
Jo, das Gerät nistetet sich als ttyACM0 in /dev ein und das kann ich auch in der IDE unter Ports auswählen.
Dem File ttyACM0 habe ich via chmod alle nötigen rechte gegeben (g+rw).

tsseh schrieb:
er macht aber "Upload mit Programmer".
Hm, gibt es eine Option wo man einstellen kann was bei klick auf den Upload button gemacht werden soll?
Nicht das der Button "Upload mit Programmer" triggert.
Andrerseits sehe ich an den RX/TX leds das Daten gesendet werden. Aber auf den Chip wird nix gespeichert. Anscheint muss wie in rs232 DTR auf high Gesetzt werden(oder so ähnlich) was aber nicht passiert.

tsseh schrieb:
lad das nochmal auf den uno
Mist den UNO habe ich jetzt nicht mehr da.

tsseh schrieb:
scheinst nicht der einzige zu sein mit problemen beim micro
Ja, habe auch schon gegooglet aber noch keine vernünftige lösung gefunden.

Das wäre eine Ausgabe wenn man während des Uploads den Reset Knopf los lässt:
Code:
usr/share/arduino/hardware/tools/avr/bin/avr-ar rcs /tmp/build5568324569844813864.tmp/core.a /tmp/build5568324569844813864.tmp/WString.cpp.o 
/usr/share/arduino/hardware/tools/avr/bin/avr-gcc -Os -Wl,--gc-sections -mmcu=atmega32u4 -o /tmp/build5568324569844813864.tmp/Blink.cpp.elf /tmp/build5568324569844813864.tmp/Blink.cpp.o /tmp/build5568324569844813864.tmp/core.a -L/tmp/build5568324569844813864.tmp -lm 
/usr/share/arduino/hardware/tools/avr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/build5568324569844813864.tmp/Blink.cpp.elf /tmp/build5568324569844813864.tmp/Blink.cpp.eep 
/usr/share/arduino/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/build5568324569844813864.tmp/Blink.cpp.elf /tmp/build5568324569844813864.tmp/Blink.cpp.hex 
Binäre Sketchgröße: 4.770 Bytes (von einem Maximum von 28.672 Bytes)
PORTS {/dev/ttyS1, /dev/ttyS0, } / {/dev/ttyS1, /dev/ttyS0, } => {}
PORTS {/dev/ttyS1, /dev/ttyS0, } / {/dev/ttyS1, /dev/ttyS0, } => {}
PORTS {/dev/ttyS1, /dev/ttyS0, } / {/dev/ttyS1, /dev/ttyS0, } => {}
PORTS {/dev/ttyS1, /dev/ttyS0, } / {/dev/ttyS1, /dev/ttyS0, } => {}
PORTS {/dev/ttyS1, /dev/ttyS0, } / {/dev/ttyS1, /dev/ttyS0, } => {}
PORTS {/dev/ttyS1, /dev/ttyS0, } / {/dev/ttyACM0, /dev/ttyS1, /dev/ttyS0, } => {/dev/ttyACM0, }
Found Leonardo upload port: /dev/ttyACM0
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:/tmp/build5568324569844813864.tmp/Blink.cpp.hex:i 

avrdude: Version 6.1, compiled on Nov 23 2014 at 21:15:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/share/arduino/hardware/tools/avrdude.conf"
         User configuration file is "/home/denny/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .avrdude: Send: . [1b] 
avrdude: Send: S [53] 
avrdude: Recv: T [54] 

avrdude: Recv: E [45] S [53] T [54] A [41] T [54] A [41] 
avrdude: Send: V [56] 
avrdude: Recv: T [54] E [45] 
avrdude: Send: v [76] 
avrdude: Recv: S [53] 
avrdude: Recv: T [54] 
avrdude: Send: p [70] 
avrdude: Recv: A [41] 
Found programmer: Id = "TESTATA"; type = A
    Software Version = T.E; Hardware Version = S.T
avrdude: Send: a [61] 
avrdude: Recv: T [54] 
avrdude: Send: b [62] 
avrdude: Recv: A [41] 
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?

Und das kommt wen man gar nix tut, also nur anstöpslen und gut.
Code:
usr/share/arduino/hardware/tools/avr/bin/avr-gcc -Os -Wl,--gc-sections -mmcu=atmega32u4 -o /tmp/build5568324569844813864.tmp/Blink.cpp.elf /tmp/build5568324569844813864.tmp/Blink.cpp.o /tmp/build5568324569844813864.tmp/core.a -L/tmp/build5568324569844813864.tmp -lm 
/usr/share/arduino/hardware/tools/avr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/build5568324569844813864.tmp/Blink.cpp.elf /tmp/build5568324569844813864.tmp/Blink.cpp.eep 
/usr/share/arduino/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/build5568324569844813864.tmp/Blink.cpp.elf /tmp/build5568324569844813864.tmp/Blink.cpp.hex 
Binäre Sketchgröße: 4.770 Bytes (von einem Maximum von 28.672 Bytes)
Forcing reset using 1200bps open/close on port /dev/ttyACM0
PORTS {/dev/ttyACM0, /dev/ttyS1, /dev/ttyS0, } / {/dev/ttyACM0, /dev/ttyS1, /dev/ttyS0, } => {}
PORTS {/dev/ttyACM0, /dev/ttyS1, /dev/ttyS0, } / {/dev/ttyS1, /dev/ttyS0, } => {}
PORTS {/dev/ttyS1, /dev/ttyS0, } / {/dev/ttyACM0, /dev/ttyS1, /dev/ttyS0, } => {/dev/ttyACM0, }
Found Leonardo upload port: /dev/ttyACM0
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D -Uflash:w:/tmp/build5568324569844813864.tmp/Blink.cpp.hex:i 

avrdude: Version 6.1, compiled on Nov 23 2014 at 21:15:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/usr/share/arduino/hardware/tools/avrdude.conf"
         User configuration file is "/home/denny/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .avrdude: Send: . [1b] 
avrdude: Send: S [53] 
avrdude: Recv: . [0d]
Er beleit einfach stehen es passiert nix mehr.

- - - Aktualisiert - - -

Habe es hinbekommen.
Es ist so, es funktioniert einfach nicht über den Bootloader aber über einen Programmer, Type USBasp.
Habe mir diesen Programmer geholt
Dann benötigt man noch ein Adapter

In der arduino IDE ist bei Programmer USBasp zu wählen und dann Upload via Programmer.
Zu beachten ist noch das man das Kabel richtig ansteckt die rote Seite des Flachbandkabels muss in die Richtung des micro usb anschlusses zeigen!
Wenn mann es mal verdreht auch nicht schlimm, passiert nix nur werden dann keine Daten übertragen.
 
Zuletzt bearbeitet:
was steht denn in deiner boards.txt für den mini bei mini.upload.protocol?
Code:
##############################################################

mini.name=Arduino Mini

mini.upload.tool=avrdude
mini.upload.protocol=arduino

mini.bootloader.tool=avrdude
mini.bootloader.low_fuses=0xff
mini.bootloader.unlock_bits=0x3F
mini.bootloader.lock_bits=0x0F

mini.build.f_cpu=16000000L
mini.build.board=AVR_MINI
mini.build.core=arduino
mini.build.variant=eightanaloginputs

## Arduino Mini w/ ATmega328
## -------------------------
mini.menu.cpu.atmega328=ATmega328

Ist jetzt auch nicht so schlimm wenn das mit dem Bootlaoder nicht klappt. Solange die Web-USB Sache geht über den USBAsp Programmer bin ich zufrieden.

Sag mal hast du schon ein supervisor password (BIOS Passwort) von einem pc zurückgesetzt?
Einfach mal die CMOS rausnehmen hat nicht geklappt. Allerdings ist jetzt die Bootreihenfolge durcheinander so so das jetzt gar nix mehr geht.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben