Hallo zusammen, ich bin grade dabei etwas vom Atmega8 auf den Atmega32 zu portieren. Problem ist, das der Atmega32 den Code nicht so ausführt wie ich das möchte, selbst wenn ich einfach einen Port komplett setzen will macht er das nicht. Ich programmiere über einen STK200-Adapter, dies geht auch Problemlos, der Atmega32 ist auf 8Mhz internen Oszillator eingestellt. Was mich allerdings wundert, das die kompilierte Datei am Anfang immer mehrere Blöcke mit folgendem Inhalt hat, wenn ich das gleiche mit einem Makefile für den Mega8 kompiliere sieht das dort anders aus: 0C 94 2A 00 0C 94 45 00 (siehe Anhang) Ich habe versucht den Bootloader auszuschalten (Fuse Einstellungen auch im Anhang). Hat wer eine Idee was da falsch laufen könnte? Vielen Dank! Sammy
Vorhin schon mal gepostet: gutes Werkzeug ist Gold wert! Beim original AVRISP von ATMEL und dem AVR-Studio4 siehst du was du programmierst (Klartext bei den Fuses).
Hallo Sonic, es gibt auch Software wo man sagt was man haben möchte und das dann angezeigt wird, wie das als Fuses aussieht. Aber das ist ja auch egal. Das Problem besteht immer noch Sammy
Hallo, @Sonic: mag sich sicher besser lesen, ist aber wohl nicht das Problem, die Fuses stimmen so. Die würden auch nicht erklären, warum sein Hex-File ihm nicht gefällt, das interessiert sich schließlich wenig für die Fuses... Was uns letztlich aber allen nicht weiterhilft. ;) Was da welcher Compiler warum wie übersetzt, wird wohl keiner von uns ohne entsprechende Angaben zu Compiler/Source/Makefile erkennen können. Gruß aus Berlin Michael
Hallo, Compiler ist der AVR-GCC. Ob das Hexfile falsch ist, weiß ich nicht, mir kommt das nur merkwürdig vor. Makefile im Anhang, ist das gleiche was ich beim Mega8 hatte, nur auf den Mega32 geändert. Sammy
Egal was ich für den Mega32 kompiliere, der Anfang sieht gleich aus, selbst bei dem Quellcode aus dem Anhang, wo nichts gemacht wird. Sammy
Hallo, gerade kurz nachgeschaut, Dein Hex sieht ok aus, der Unterschied zum Mega8 ist logisch, dort 1 Word Vektorlänge und rjmp, beim Mega32 2 Word und jmp wegen der Flashgröße. Gruß aus Berlin Michael
okay danke, dann werde ich nochmal etwas rumprobieren... Sammy
Der Interrupt handler ist etwas fetter beim Atmega32. Das war zumindest bei mir ein Anfängerfehler.
Der Fehler ist gefunden, funktioniert nun prima. Ich habe bei dem Anschluß der Versorgungsspannung einen Fehler gemacht und die 5V an XTAL1 gelegt, das scheint er nicht gemocht zu haben, schaden genommen hat der Atmega aber auch nicht. Also jetzt läufts! Danke, Sammy
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.