Hallo community;
Ich wollte mir mal vor einigen Tagen so eine HDD-clock bauen, wie man
sie überall im Internet finden kann und das ganze dan mit so einen
"Arduino-Kleinformat" realisieren.
Hab mir dan also einen Atmega328P, wie er in den Arduino Uno zu finden
ist bestellt und wollte da jetzt den Bootloader raufflashen, wie es in
diesen Tutorial beschrieben ist.
http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Ich habe die Variante gewählt wo der interne Quarz verwendet wird.
Habe die Breadboard.zip datei runtergeladen und entpackt, und da ist mir
schon aufgefallen, das da nur eine board.txt datei vorhanden ist.
Vor kurzen wollte ich einen Atmega8, programieren und habe da auch ein
Tutorial + Daten gefunden wo viel mehr in den Ordner vorhanden war als
nur so eine .txt datei!
(Anbei hat das mit Atmega8 auch nicht funktioniert :D )
Die Parameter habe ich alle 2-3x überprüft sprich: # Board; # Programmer
-> Arduino as ISP; # COM Board von Arduino; # Und natürlich das Laden
des ISP-sketches....
Das Programm schreibt mir eine Vielzahl von fehlern aus, irgendwas mit
Java
Wenn mir irgendwer behilflich sein kann, wäre ich ihm sehr dankbar :)
LG Frank
Anhang, Fehlercode:
processing.app.debug.RunnerException
at
processing.app.debug.BasicUploader.burnBootloader(BasicUploader.java:288
)
at processing.app.Editor$47.run(Editor.java:2524)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.
java:269)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.jav
a:184)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.
java:174)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Frank K. schrieb:> Anhang, Fehlercode:>> processing.app.debug.RunnerException
Würdest Du bitte auch mitteilen, von welcher Software und unter welchem
Betriebssystem diese Fehlermeldung auf Deinen Monitor kommt?
Für "Arduino as ISP" müßtest Du die Arduino-Software einsetzen, für
8-Bit-Controller in der derzeitig aktuellen Version 1.0.5 und in der für
Dein Betriebssystem passenden Version:
http://arduino.cc/en/main/software
Ich Verwende Windows7, und die Beta version der Arduino Software
Arduino1.5.2
mhhh, also sollte ich das einfach mal mit Arduino 1.0.5 versuchen?
LG Frank
Frank K. schrieb:> Ich Verwende Windows7, und die Beta version der Arduino Software> Arduino1.5.2> mhhh, also sollte ich das einfach mal mit Arduino 1.0.5 versuchen?
Die Betaversion 1.5.2 ist speziell für den Arduino DUE (32-Bit
Controller) geschrieben und nur "bedingt" einsatzbereit für die 8-Bit
Controller. Very buggy. Betastatus eben.
Erst mit der Softwareversion 2.0 werden die Entwicklungszweige 1.0.x
(8-Bit Controller) und 1.5.x (32-Bit Controller) zusammengeführt werden,
so dass Du fehlerfreie Software mit derselben Softwareversion für
wahlweise 8-Bit und 32-Controller entwickeln können wirst. Irgendwann
einmal.
Bis dahin für die 8-Bit Atmegas unbedingt die 1.0.x Software verwenden,
also derzeitig die 1.0.5 Version!
Habe das Ganze jetzt nochaml ident aufgesteckt, alles eingestellt für
Arduino 1.0.5 und hochgeladen.
Das ganze mit erfolg, das "blink" Beispiel programm läuft genau so wie
es laufen sollte, vielen dank für eure hilfe, nun kann ich die Schaltung
so realisieren wie ich es will :)
Zum Thema Programmieren hat sich mir dan doch noch eine Frage aufgetan:
Ich brauch eigentlich nur mehr eine 2-polige Stiftleiste auf meine
Platine einplanen und dann einfach nur mehr ein Kabel zwischen Arduino
(Rx, Tx) und Platine (Rx, Tx)?
Oder würdet ihr mir da etwas anderes empfehlen?
LG Frank
Frank K. schrieb:> Zum Thema Programmieren hat sich mir dan doch noch eine Frage aufgetan:> Ich brauch eigentlich nur mehr eine 2-polige Stiftleiste auf meine> Platine einplanen und dann einfach nur mehr ein Kabel zwischen Arduino> (Rx, Tx) und Platine (Rx, Tx)?>> Oder würdet ihr mir da etwas anderes empfehlen?
Siehe http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Mit der Schaltung wie unter "Burning the Bootloader" kannst Du mit
"Arduino as ISP":
1.) einen Arduino-Bootloader auf einen nackten Controller draufbrennen
2.) einen compilierten Arduino-Sketch auf einen nackten Controller
draufbrennen
Wenn Du Möglichkeit 2.) wählst, ist der Sketch auf dem Controller drauf
und läuft, was Du mit dem Blink-Sketch offenbar auch bereits getestet
hast. Einen Bootloader hat der Controller dann nicht mehr drauf, der
wird jedesmal gelöscht, wenn Du auf diese Art einen Sketch hochlädst.
Wenn Du aber nach 1.) einen Bootloader draufgebrannt hast und Sketche
lieber über den Bootloader hochladen möchtest, hast Du wieder zwei
Möglichkeiten:
A) Du kannst die Schaltung gemäß "Uploading Using an Arduino Board"
abändern, also insbesondere den Controller aus dem Arduino-Board
entfernen und fünf Leitungen zu Deiner Schaltung verbinden:
RX, TX, GND, 5V und RESET. Damit ist serieller Upload über den
Bootloader möglich.
B) Oder Du schließt an Deinen nackten Controller mit draufgebranntem
Bootloader einen "USB-TTL-Serial-Adapter" an (ca. 2 EUR vom
Chinaversender) sowie entweder einen Reset-Taster oder einen Auto-Reset
Kondensator und dann kannst Du auch direkt über den
USB-TTL-Serial-Adapter per Bootloader die Sketche draufladen, ohne dass
zum Programmieren ein UNO-Board benötigt wird.
Du schreibst;
Wenn Du aber nach 1.) einen Bootloader draufgebrannt hast und Sketche
lieber über den Bootloader hochladen möchtest,
wo liegt den jetzt der vorteil zwischen über den Bootloader laden und
eben dem löschen nach dem laden des Sketches......
Wo liegen dan die jeweiligen vor- bzw. nachteile von dem ganzen?
Ganz klar, bei 1B brauch ich einen weitern Adapter den ich nicht zu
verfügung habe.
Bsp. 1A habe ich gerade aufgestekct auf meinen Steckboard was problemlos
funktioniert.
hmmm, nur das mit möglichkeit 2 habe ich scheinbar noch nicht ganz
verstanden:
Einen bootloader brauch ich nur, wenn ich dan einen solchen
USB-TTL-Adapter verwende?
LG Frank
Frank K. schrieb:> wo liegt den jetzt der vorteil zwischen über den Bootloader laden und> eben dem löschen nach dem laden des Sketches......>> Wo liegen dan die jeweiligen vor- bzw. nachteile von dem ganzen?
Ein "Programmer" (auch "Arduino as ISP") kostet mehr als die 2 Euro, die
ein einfacher USB-TTL-Adapter beim Chinaversender kostet.
Deshalb ist das Laden von Programmen über Bootloader für alle diejenigen
sehr kostengünstig, die keinen Programmer besitzen. Der
Arduino-Bootloader ist ebenso wie der USB-TTL-Adapter mit USB-Anschluß
auf den typischen Arduino Developer-Boards immer schon mit enthalten,
wenn man das Arduino-Board kauft.
Außerdem kann ein USB-TTL Adapter nicht nur zum Programmieren verwendet
werden wie ein Programmer, sondern auch für die serielle
Datenkommunikation mit einem PC. Z.B. für die Ausgabe serieller
Debug-Meldungen auf dem seriellen Monitor. Oder für die Steuerung eines
Arduinos über den PC, auf dem vielleicht "Processing" läuft.