Hrrr windows

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.