Paul S. schrieb:
Der Parameter -B 100 ist aber tatsächlich nötig.
-B 20 hätte wohl auch gereicht.
Dieser Parameter reduziert den Takt, mit dem der ATtiny programmiert wird. Da der Tiny wohl fabrikneu ist (noch ungefused) steht der per default bei 1,2 MHz internem Takt ("int. RC OSC 9.6 MHz" und "Divide clock by 8 internally)
Siehe auch:
https://www.engbedded.com/fusecalc/
avrdude -c usbasp -p t13 -B 20 -U lfuse:w:0x7A:m -U hfuse:w:0xff:m
fused den Tiny und deaktiviert die interne Taktteilung, so daß der Chip fortan mit 9,6 MHZ läuft. Danach ist -B 20 nicht mehr notwendig.
Paul S. schrieb:
Jetzt wäre meine nächste Frage: Mit welcher IDE schreibe ich am Besten
das Programm?
Wieso muß es eine IDE sein und nicht ganz klassisch mittels einem Makefile (gerade bei einem ATtiny13)?
Im Anhang habe ich dir ein Demo-Blinkprogramm zusammen gestellt, mittels dem du einfach auf der Konsole ein
make
aufrufst und das Blinkprogramm wird kompiliert.
Dann brauchst du nur noch einen Texteditor deiner Wahl und du kannst loslegen. Für meine Zwecke programmiere ich mit dem Programm Geany (weil schlank und schnell) und meinem eigenen Konsoleneditor.
Entpacke den Anhang in ein Verzeichnis deiner Wahl und wechsle in der Konsole in dieses Verzeichnis.
Mache das Programm cide mittels
chmod +x cide
lauffähig und starte dieses mit:
./cide
Hier kannst du bspw. das Blink-Programm laden und entweder mit den Menüflachen oder mit F9 kompileren und mit F8 flashen.
Möchtest du mit Geany programmieren, empfiehlt es sich Geany für den Erstellenvorgang (build) zu konfigueren. Hierfür gehst du auf den Menüpunkt:
- Erstellen
|
Kommandos zum Erstellen konfigurieren
Dort nimmst du die Einstellungen wie im Bildschirmfoto vor und du kannst auch von hier aus loslegen
Zum Makefile im Archiv:
Das Makefile ist so gehalten, dass im Kopf alle Angaben gemacht werden können, die zum Kompilieren und Flashen notwendig sind. Der Kommentar im Makefile beschreibt die Benutzung.
Hier machst du nur noch Angaben zum verwendeten
- AVR-Controller (in deinem Falle ATtiny13)
- der Frequenz mit der er betrieben wird
- evtl. Bibliotheken die du einbinden möchtest (in deinem Fall erst einmal keine)
- den zu verwendenden Programmer
Alle anderen Angaben nach
1 |
###############################################################################
|
2 |
#
|
3 |
# funktionaler Teil des Makefiles, Aenderungen nur mit Bedacht vornehmen
|
4 |
#
|
5 |
###############################################################################
|
solltest du so lassen wie es ist. Hiermit bist du dann in der Lage, dein Programm mittels CIDE, GEANY oder per Texteingabe auf der Konsole zu generieren.
Eingabe auf der Konsole:
[code]
make
erstellt eine Binärdateu
make all
dto.
make size
zeigt den Flashspeicherbedarf des Programms an
make clean
löscht alle erzeugten Kompilate (nicht das Quellprogramm)
make fuses
fused den ATtiny13 für einen 9,6 MHz Takt intern
[/code
Hinweis: Die verwendete Includedatei avr_gpio.h macht den Umgang mit den Anschlusspins leichter. Eine "Bitverschiebeakrobatik" im Main-Programm ist hier dann nicht mehr notwendig und macht ein Programm lesbarer.