Vornerweg: Ich habe erst damit begonnen mich mit Arduino zurechtzufinden und befinde mich quasi noch in der Startphase
Auf jeden Fall wollte ich für ein Bastelprojekt einen ATMEGA8535 benutzen und mit Hilfe meines Arduino Unos programmieren.
Beim Testen erhalte ich jedoch folgende Fehlermeldung:
Die Fehlermeldung ist sehr interessant, denn in meinem programmers.txt steht folgender Eintrag:
arduinoisp.name=Arduino as ISP
arduinoisp.communication=serial
arduinoisp.protocol=stk500v1
arduinoisp.speed=19200
Somit müsste das Protokoll stk500v1 gewählt werden, wenn als Programmer "Arduino as ISP" ausgewählt ist. Kannst Du in den Voreinstellungen der IDE mal die Option ankreuzen, die etwas ausführlicheren Output beim Upload liefert (in der englischen Version heisst das "Show verbose output during upload"). Dort siehst Du dann einen "avrdude"-Aufruf. Kopiere den und poste den ganzen String hier.
wählte als Board den ATMEGA aus
Ich hoffe mal, das soll heissen "den Arduino-Test-Atmega8535 aus".
Kann es sein, dass Du "Upload" anstatt "Upload using programmer" für den Upload ausgewählt hast? Das ginge dann nämlich nicht, da ja noch kein Bootloader auf dem ATmega8535 ist und Du ihn ja auch nicht über die serielle Schnittstelle updaten willst.
darf ich fragen wie es jetzt genau hingehauen hat?
Ich sitze ebenfalls auf einem ATMega8535, habe mir dieselben Daten von avr-developers.com geholt. Jetzt will ich den Bootloader installieren - hat das funktioniert? Dabei bekomme ich nämlich die Fehlermeldung:
"efuse" memory type not defined for part "ATMEGA8535"
Pins wie beschrieben angeschlossen (MOSI-6, MISO-7, SCK-8, RESET-9, Vcc-10 & Gnd-11) + 31 (GND) auf Gnd und 30 (AVCC) auf 5V.
Dazu noch einen 10k Widerstand zwischen Reset und 5V. Den ArduinoISP sketch raufgeladen, ATMega8535 ausgewählt, Arduino as ISP als Programmer und "Bootloader installieren".
Genau dieselbe Konfiguration hab ich zum bootloaden eines ATMega328P-PU verwendet und das hat tadellos funktioniert.
Ich verwende übrigens einen Arduino MEGA als Programmer, die Pins (SCK, MISO, ...) sind entsprechend anders, aber das hat ja beim ATMega328P-PU auch hingehauen, daran sollte es also nicht liegen.
Falls es nicht das Bootloaden war - mit welcher Konfiguration lässt sich der Chip ohne Bootloader programmieren? Hätte geglaubt das ist nicht möglich?
Ich hatte geglaubt dass der Bootloader bei dem Hardware-Paket dabei ist, mir ist klar dass ich den vom 32er nicht nehmen kann
selber geschrieben hab ich keinen, wüsste auch nicht wie das geht...
Kurz gesagt, ein Bootloader wird nicht zur Verfügung gestellt. Entweder schreibst Du einen der vorhandenen selbst um oder Du verzichtest ganz auf ihn und lädst immer per ICSP-Programmer hoch.
noch eine letzte Frage: wenn ich das Programm direkt hinauflade, kann ich es in "normalem" Arduino-Code verfassen, e.g. die entsprechenden Pins ansteuern? Bzw. wie ist dann überhaupt die Pinaufteilung wenn der 8535 nicht direkt unterstützt wird?