Joerg_B
Anmeldungsdatum: 02.01.2003 Beiträge: 55 Wohnort: Hannover +- garnix (^_^)
|
Verfasst am: 13.01.2004, 12:20 Titel: Mega8515 HD |
|
|
Hallo Leutz,
ich habe mal begonnen den HDD Code von Oli (hmpeg_hd-0.991m3b) ein bisschen zu optimieren und an den Mega8515 anzupassen.
Mit GCC 3.3 compiliert wird die HEX Datei für den Mega8515 ein gutes Stück kleiner als für den 90S8515 und wenn man noch diverse SWITCH Anweisungen im Code durch IF-THEN-ELSE Anweisungen austauscht, wird sogar einiges an Platz frei (bestes Ergebnis bis jetzt: ca. 730 Byte frei bei Aktivierung aller Optionen, wo es aber Probleme gab ... im Augenblick habe ich 320 Byte frei und es funktioniert alles (LCD, SCROLL, Drehencoder, RC5, RS232, usw.) *ggg*)
Um den Code für den Mega8515 compilieren zu können habe ich nur wenige Änderungen an der "my_defs.h" machen müßen:
// folgende Zeile auf TRUE setzen, wenn ein AVR Mega8515
// verwendet wird
// Außerdem muss noch in 'makefile' 'MCU = atmega8515' gesetzt werden!
#define MEGA8515 TRUE
#if MEGA8515 == TRUE
#define MINIMEGAHMPEG FALSE
#endif
#if MEGA8515 == FALSE
#define GO_WS sbi(MCUCR,SRW);
#define END_WS cbi( MCUCR, SRW);
#endif
#if MEGA8515 == TRUE
#define UCR UCSRB
#define UBRR UBRRL
#define GIMSK GICR
#define USR UCSRA
#define GO_WS sbi(MCUCSR,SRW00);
#define END_WS cbi(MCUCSR,SRW00);
#endif
(die Zeilen für "GO_WS" und "END_WS" sind noch nicht geprüft, bei mir funktioniert es aber so )
Zusätzlich sind für GCC 3.3 noch einige Anpassungen an den Pfaden der Include Dateien zu machen, da sie bei dem Compiler in anderen Verzichnissen liegen (z.B. </avr/io.h> anstelle <io.h>).
Der Compiler gibt eine Menge Warnings aus, wenn die Pfade nicht angepasst werden, compiliert den Code aber dennoch ohne große Probleme
Warnung: Für GCC 3.3 könnte es sein, daß ein neuer Makefile nötig ist (ich habe einen gebaut und nicht mit den älteren Compilern getestet), den ich bei Bedarf gerne zur Verfügung stelle.
Und noch was: der Mega8515 ist ab Werk so eingestellt, daß er mit dem interen RC mit ca. 1MHz getaktet wird. Wer ihn verwenden will, muß unbedingt die Fuses für den Takt so einstellen, daß der externe Quarz genutzt wird!
Grüße Jörg _________________ Aus einem Auto Chat:
"Ich stehe da lieber daneben, wenn Gott gewollt hätte das Maschinenbauer etwas von Elektronik verstehen, hätte er die Atome in Melonengröße gestaltet"
|
|