Informatik und Kram

Da wir lange nicht wußten, wo wir das für die Uni ausgearbeitete Material unterbringen sollten und auch einen schrecklichen Drang hatten der Welt diverse Sachen aufzudrücken...

Erste Schritte mit den Atmega AVRs
de-flagge aktiviert en-flagge deaktiviert

In diesem Artikel beschreib ich mal meine ersten Schritte mit dem Atmega8. Setup mit Progging- und Evaluationboard von Pollin, das erste Flashen und Fusebits setzen, die Grundlagen halt..

Vorbereitung

Letzte Woche isses endlich angekommen, mein Board zum flashen und testen von Atmel-AVRs!
(ATMEL Evaluations-Board v2.0, Best.Nr. 810 038, bei www.pollin.de)
Also schnell mal nach Anleitung zusammengelötet, Atmega8 reingesetzt, und dann gelesen. und gelesen. noch mehr gelesen. hab ich lesen schon erwähnt?
Mit diesem Artikel will ich euch den Weg zum ersten blinken und eigenen Programm verkürzen.

Erstes Flashen

Chip ist drin, Serielles Kabel angeschlossen, jetzt soll das Program drauf!
Da wir alle Linuxer sind, den avrdude runterladen, sollte es in jeder distri geben.
Auf der Seite wo's das board gibt, gibt es auch nen Download, das Testtool.
Runterladen, unzip, und wir haben TESTTOOL.bas und testtool.hex
Die *.bas-Datei ist der Quellcode in BASCOM, die *.hex-Datei ist das übersetzte Programm, dass wir zum flashen brauchen.
Ab in die Console, und ein
>> avrdude -p m8 -c ponyser -P /dev/ttyS0 -U flash:w:testtool.hex
abfeuern. Jetzt sollte eine Meldung kommen, dass alles korrekt geschrieben wurde.
Ist dies der Fall einfach mal auf den Tastern rumdrücken, dann sollte es blinken und summen, also alles richtig zusammengebaut, und flashen funktioniert auch schon!!

Fusebits setzen

Es fällt jetzt auf, dass es ziemlich lang blinkt bzw. summt, was daran liegt, dass der Atmega8 im Auslieferungszustand noch auf 1Mhz internem Takt läuft. Um ihn auf den externen 8Mhz-Quarz umzustellen, müssen wir die fusebits setzen, die internen Schalter vom Atmega.
Nehmt das nicht auf die leichte Schulter, setzt man die fusebits falsch kann man den Chip erstmal unbrauchbar machen bzw. sich vom chip aussperren.
Deshalb erstmal mit
>> avrdude -p m8 -c ponyser -P /dev/ttyS0 -v
die fuses auslesen, die sind aufgeteilt in lfuse und hfuse, also low und high.
Die Werte der Register könnt ihr in den AVR-fuse-Rechner eingeben (http://palmavr.sourceforge.net/cgi-bin/fc.cgi), der zeigt euch dann in drop-down-feldern an, für was die bits stehen und wie euer Chip im Moment eingestellt ist.
Wenn ihr jetzt links auf das Taktfeld clickt, und externen 8Mhz-Takt einstellt und rechnen lasst, sollte für lfuse 0xEF rauskommen!
Auch das habe ich euch bereits abgenommen, für den externen 8Mhz-Quarz vom ATMEL-Board:
>> avrdude -p m8 -c ponyser -P /dev/ttyS0 -U lfuse:w:0xEF:m
Nach diesem Command läuft euer Atmega mit dem externen Quarz auf 8Mhz, und man merkt deutlich, dass das Blinken bzw. Summen kürzer geworden ist, was daran liegt, dass die delay-Funktion Takt-abhängig ist, und jetzt fast 8 mal so schnell ist!
Für die ersten Blink-Versuche reicht das ja soweit, aber man will ja auch mal die anderen Ausgänge testen und bisschen mehr damit machen. Dazu muss man die Anschlüsse des Chips nach aussen führen, was über die 40-polige stiftleiste geht..
Ich hab ein IDE-Kabel aus nem alten Rechner genommen, abisoliert, und geradegebogene und zurechtgeschnittene Büroklammern drangelötet und mit Schrumpfschlauch isoliert.
Auf diese Weise kann man die Kabel echt gut in ein Breadboard stecken, um erste Test-Schaltungen zu bauen.
Hier seht ihr das Teil zusammen mit meinem Lauflicht:

Kommentare

Kommentar schreiben