nachdem ich keinen xMega ergattern konnte (brauche mehr I/Os) und ich mir als Anfänger eine zu große Architekturänderung auch nicht zutraue habe ich in wochenlanger fitzelarbeit ein Board für einen Atmega1280 erstellt. (Wenn es einer haben mag nachdem die schlimmsten Fehler gefunden sind (ein Leiterbahnschnitt und eine Brücke sinds schon..) stell ich es natürlich gerne hier rein!)
Aufgelötet ist nun auch alles, aber die Softwareänderungen bereiten mir als relativem Anfänger doch einige Probleme.
Habe nun mal rausgesucht, wo es alles was zu ändern oder einzufügen gibt. Ich will einfach nur einmal das Board pingen können
Usart.h/c: hab ich vorerst weggelassen, da auf meinem Board keine ist, geht ja über telnet
Timer.h:
Code: Alles auswählen
#if defined (__AVR_ATmega1280__)
#define TIMSK TIMSK1
#endif
networkcard/enc28j60.h:
Code: Alles auswählen
#define ENC28J60_PIN_SCK 1
#define ENC28J60_PIN_MISO 3
#define ENC28J60_PIN_MOSI 2
//#define ENC28J60_PIN_SS 4
#define ENC28J60_PIN_CS 4
Code: Alles auswählen
#if defined (__AVR_ATmega1280__)
#define ETH_INT_ENABLE EIMSK |= (1<<INT3)
#define ETH_INT_DISABLE EIMSK &= ~(1<<INT3)
#endif
Code: Alles auswählen
#define ETH_INTERRUPT INT3_vect
networkcard/enc28j60.c
Code: Alles auswählen
nur den SS Pin aus der Initialisierung genommen.
Code: Alles auswählen
#if defined (__AVR_ATmega1280__)
#define MAX_TCP_ENTRY 5
#define MAX_UDP_ENTRY 5
#define MAX_ARP_ENTRY 5
#define MTU_SIZE 1200
#endif
Code: Alles auswählen
MCU = atmega1280
AMCU = m1280
ifeq ($(MCU), atmega1280)
#FUSE_BITS = -u -U lfuse:w:0xff:m -U hfuse:w:0xcf:m
HEX_FILE_NAME = MEGA1280
endif
So, alles in allem compiliert es, aber rühren tut sich leider nix mitm ethernet...
Hat evtl. schon jemand Ulrichs Stack auf einem mega1280 verwendet?
Bin ein klein wenig hilflos...
Das Board sollte hardwaremäßig io sein, Programmierung funktioniert einwandfrei, Leitungen hab ich soweit auch alle durchgemessen.
Grüße
Tom