Hallo zusammen,
nachdem ich mich durch das Buch "AVR-Mikrocontroller in C programmieren"
gearbeitet habe, wollte ich Taten walten lassen und hab mir o.g.
genannte Hard- und Software zugelegt.
Leider scheitere ich bereits an einer blinkenden LED.
Folgendes Problem: Ich hab den AVRISP mk2 mit dem ATtiny verdrahtet und
die LED über einen Widerstand an den Port PB4 angeschlossen. Mit einem
Spannungswandler (7805) erzeuge ich 4,91 V.
Der Quelltext ist denkbar einfach:
1 | #define F_CPU 1200000
|
2 | #include <avr/io.h>
|
3 | #include <util/delay.h>
|
4 |
|
5 |
|
6 | int main(void)
|
7 | {
|
8 | DDRB = 0b010000;
|
9 | while(1)
|
10 | {
|
11 | PORTB = 0b010000;
|
12 | _delay_ms(500);
|
13 | PORTB = 0b000000;
|
14 | _delay_ms(500);
|
15 | }
|
16 | return 0;
|
17 | }
|
Soweit so gut. Ich kann alles kompilieren, AVR Studio 5 erkennt den
Programmer und ich hab auch ein Firmware Upgrade durchgeführt.
Nach dem Erstellen gehe ich über Extras/AVR Programming in den
Programmiermodus. Auch da scheint mir noch alles in Ordnung zu sein. Bei
"Memories" lade ich dann die .hex Datei und programmiere den Controller.
Und jetzt kommt die Fehlermeldung:
"File contents outside device memory
Some sections of the file provided does not fit within the device
memory.
Do you want to continue programming Flash using only the sections that
fit within the device memory?"
Tja. Aber so riesig ist mein Quelltext ja gar nicht... So wies aussieht,
liegt das an der delay Routine, weil wenn ich die weglasse
funktionierts. Aber dann blinkts natürlich auch nicht ;).
Die FUSES hab ich meines Erachtens richtig gesetzt (9,6 MHZ, Start Up
Time 14 CK + 64ms, mit dem CKDIV8 enabled = 1200000 Hz)...
Wäre echt super, wenn mir jemand meinen Sonntag retten könnte.
Gruß Philipp.
Ach und, Sufu und google kenn ich. Ich hoffe dieser Threat ist
berechtigt...