Hallo zusammen,
für ein Taschenlampen UI möchte ich gerne C Programme mit dem Arduino als ISP auf einen Attiny13A schieben.
Ein solches Programm sieht z.B. so aus:
Der Arduino ist schon als Programmer eingerichtet und das beschreiben/flash eines Attiny44A klappt auch schon problemlos.
Ich frage mich jetzt nur ob es überhaupt möglich ist mit der Arduino IDE das C Programm zu compilieren (HEX File) und es auf den Attiny13A zu schieben? Odr brauche ich dazu eine andere Software?
Falls es funktioniert: Gibt es Optimierungsmechanismen/Einstellungen um das HEX File möglichst klein zu halten?
Ohne jetzt das ganze zu kompilieren, würde ich aber sagen, es passt knapp drauf. Für welchen Attiny ist das Programm geschrieben, den solltest du auch am besten verwenden, wegen abweichenden Speicheradressen etc.
Du kannst das ganze auch in Atmel Studio kompilieren und auf das Gerät laden.
Weil auf den meisten Taschenlampentreibern der Attiny13A verbaut ist. Kompiliert die Arduino IDE so ein Programm problemlos? Mit Atmel Studio komm ich noch nicht so zurecht. Bist du da fit?
Das Looping Louie Dinge is so halb fertig, seit paar Monaten keine Zeit für gehabt.
Zum Atmel Studio sollte es im Netz genügend Tutorials geben.
File > New > Project
GCC C Executable Project
Attiny13 rausscuehn
Programm reinkopieren in die GccApplication1.c
F5 drücken, geht einfacher als den Zweig dafür aufzurufen.
Dort den Programmer AVR ISP auswählen (falls kein orginaler, musste mal schauen, wie du deinen dort hinzufügst)
Dann oben auf Tools > Device Programming > irgendwo auf Fuses und dort erst einmal den CKDIV8 rausnehmen. Kann genau nicht gerade nachschauen, der AVRISP ist nicht am PC angeschlossen. Sitzt noch am Linux Rechner.
Dort dann einfach die Fuses Programmieren. Das Fenster schließen, erneut F5 drücken und fertig.
Arduino IDE sehe ich selber als einen schlechteren Editor jedoch mit einigen Zusatzfunktionen, die einem das Compilieren auf der Konsole ersparen.
Die Libarys die du da zeigst, haben mit der Arduino IDE nichts am Hut. Bei Arduino ist vieles verschleiert, damit hier die Neulinge nicht nach dem ersten Projekt den Wald vor lauter Bäumen sehen.
Ich arbeite meiste Zeit mit Atmel Studio und schreibe den Code in AVR-GCC. Da fallen die Komfortfunktion weg. Hat aber auch den Grund, dass ich keine Atmegas mehr nutze, bzw. sehr selten. Arbeite mehr mit den Attiny841 (nicht 84A!). Die werden soweit bekannt auch noch nicht über ein Addon in der Arduino IDE unterstützt. Hatte mir damals für 60€ ink. Versand bei Mouser 100Stk bestellt im SOIC14.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
Veraltete Software auf dem USBasp.
Sollte aber trotzdem zum funktionieren zu bekommen sein....
Ich nutze 2 identische USBasp mit der ArduinoIDE.
Einen mit der alten Software um meine ATTiny85 zu beschreiben.
Und einen mit der neuen Software um meine ATMegas zu beschreiben.
Auf deinem (alten) USBasp sollte sich ein Jumper befinden, um die Taktfrequenz zu senken. Evtl muss du den noch einlöten.
Versuche das mal.
Auf dem Neuen wird der Jumper nicht mehr genutzt. Stattdessen kann man dem avrdude den -B Parameter mitgeben.
nofear87:
Ok, also kann ich den SCK Fehler ignorieren?
Eigentlich ja.
Ich würde es lassen.
avrdude jammert nur rum, weil es seine -B Funktionalität nicht nutzen kann.
Und wie gesagt, mit der neuen Firmware kann ich meine ATTiny85 nicht beschreiben.
Woran das liegt habe ich noch nicht untersucht, denn ich habe ja auch noch einen mit der alten Firmware.