Pollin Entwicklungsboard ATMEL ATmega128A

Hallo,
habe mir dies Entwicklungsboard besorgt.

Klick

und einen bootloader für den
Atmega 128A für den Arduino habe ich gefunden. Nun habe ich auch
Testweise "Blink" Raufgeschrieben, aber das er mir zusätzlich über
Serial LED An oder Aus ausgibt, da dieses board keine LED hat.

Es kommen allerdings in putty nur wilde Zeichen an, denke das die
Belegung an meinem Board anders ist (die dateien stammen vom
crumbuino128)

Baudrate(9600) ist bei dem setupteil sowie in putty eingetragen, daran
kann es nicht liegen.

Wie kann ich die Pins für dieses Board selber richtig belegen odr gibt
es da was fertiges schon?

den Schaltplan habe ich, nur wie funktioniert das in der Arduino
Software?

arduino.pins.h habe ich gefunden, da werde ich aber nicht schlau draus

Vielen Dank
Benjamin

Läuft das Ding auch wirklich mit 16MHz? Wenn du da in den Konfigurations-Daten sagst dass es 16MHz wären, aber da ein anderer Oszillator drauf ist passt die Baudrate nämlich nicht.

Wenn dir das alles bereits Probleme macht, dann besorg dir bitte ein richtiges Arduino Board, welches die Standard Pinbelegung und einem Atmega168 oder 328 nutzt.

Wie hast du Serial angeklemmt? Das geht entweder nur über bestimmte herausgeführte Pins und einem RS232 Adapater auf USB, oder aber du hast noch eine richtige COM-Schnittstelle am PC. Die billigen RS232(Sub9) Adapter auf USB funktionieren selten.

Edit: Auf dem Board ist KEIN 16MHz Quarz verbaut, sondern nur ein typischer Baudraten-Quarz
7.3728MHz.

ok das mit der frequenz prüfe ich nochmal.

Nutze ein usb/Serial, der funktioniert an meinem Net-io und mit einem Max232 bausatz auch an einem arduino uno

also adapter kann ich ausschließen.

Was heißt zuviel, ist ein forum nicht dazu da, um wissen zu teilen?
würde es mir gerne einrichten nur stehe ich da noch etwas auf dem schlauch, welche daten ich dafür anpassen muss

Hallo Benjamin,

ich schließe mich den Vorrednern an.
Zusätzlich ist auf dem Pollin Board kein Reset on DTR vorhanden, was der Bootloader bräuchte.

Wenn du wirklich damit weitermachen willst, programmiere das Board mit einem Programmer und verzichte auf den Bootloader.

Wenn der Takt korrekt eingestellt wird, sollte es eigentlich mit der Arduino IDE funktionieren.
Eigentlich, ....
Heißt, du musst jedes mal die Schaltpläne vergleichen, wenn mal was nicht funktioniert.

Reinhard

achso, das habe ich vergessen, Programmieren tu ich das board mit dem AVR SmartUSBlight, klappt wunderbar.

nur das halt die Pins nicht passen denke die liegen in irgendwelche dateien falsch?

Habe ja den bootloader mit dem SmartUSB light geschrieben, eo gebe ich denn die fuses dann in arduino an? in der Board.txt? weil normal schreibe ich das ja mit dem boadloader oder?

Das du direkt die Rx/Tx Pins mit einem USB - RS232 abgreifst, wusste ich nicht. Dachte du versuchst es über den SubD9 Stecker.

Wenn das Datenblatt richtig ist, ist der Quarz falsch und muss in der board.txt angepasst werden oder durch einen 16MHz getauscht werden.

Was heißt zuviel, ist ein forum nicht dazu da, um wissen zu teilen?
würde es mir gerne einrichten nur stehe ich da noch etwas auf dem schlauch, welche daten ich dafür anpassen muss

Das Problem betrifft nicht nur dem einfachen anrichten. Der Atmega128 hat kaum Gemeinsamkeiten mit dem 168/328P. Das soll heißen, wenn du Pech hast dürften auch die meisten Libaries ohne Anpassung nicht funktionieren.

okay sschultewolter war auch nicht böse gemeint, das wußte ich nicht.

Gibt es denn eine alternativ software um mit dem board etwas rumzutesten? am besten Freeware und kompatibel mit dem mySmartUSB light

Welche Frequenz stell ich da denn jetzt ein?
f_cpu=7372800L funktioniert es ebefalls nicht

Hmm, jetzt mel eine rein theoretische Überlegung: Kann man hier tatsächlich jede beliebige Frequenz angeben und alles funktioniert einwandfrei? Letztendlich laufen intern nur Teiler und ich könnte mir gut vorstellen daß mit so manch krummer Frequenz derart grundlegende Dinge wie millis,... ziemlich ungenau werden.

Ist irgendwo dokumentiert bzw. gibt es Erfahrung was hier zulässig ist? Ich kenne zwar das Diagramm Betriebsspannugn vs. Frequenz im Datenblatt des Atmega - aber ist das die ganze Wahrheit in Beztug auf Arduino??

Für die konkrete Frage hier, könnte es Sinn machen einfach den Quarz auf dem Board auf einen "geraden" Wert (8MHz, 16MHz,...) zu tauschen? Ist ja immerhin eine klassische Bauform :wink:

Christian

Ist denn die Blinkfrequenz beim Blink Programm korrekt mit f_cpu=7372800L
Poste mal deine komplette boards.txt Eintragung.

Bist du sicher, dass der Bootloader korekt installiert wurde ?
Kannst du die Fuses auslesen?

Habe keine Arduino IDE auch auch nicht die Libs auf dem Rechner. Ich weiß nicht genau, wie diese von der Arduino IDE genutzt werden, aber den millis() kann man zB mit einem CTC und Timer0 selbst aufbauen mit wenigen Codezeilen.

Aber für die UART Ausgabe ist es unwichtig, dass millis richtig läuft. Hier muss nur die angegebene Quarzfrequenz passen.

Ich gehe mal davon aus, dass die IDE nur zwei feste Quarzfrequenzen nutzt (8MHz und 16MHz). Alles andere muss angepasst werden, oder einfach den Timer selber aufbauen. AVR - Die genaue Sekunde / RTC – Mikrocontroller.net

@elektron_: Arduino ist nichts anderes als ein Atmega MCU. Die Frequenzen müssen schon zu Betriebsspannung (Diagramm passen). Typisch wären ~3V3 mit 8MHz, oder 5V 16MHz. Alles andere wären individuelle Lösungen. Dort sehe ich in Bezug auf die Arduino IDE keine Notwendigkeit.

Deine Lösung wäre sicherlich die einfachste und empfohlene Lösung. Einfach in der Bucht für nen paar Cent einen Quarz mit 8 oder 16MHz zu besorgen. 16MHz würde hier gehen, da das Board laut Beschreibung mit einem Betriebsspannung von 5V läuft.
Empfholen 8MHz Quarz, da die VCC am Controller 3V3 ist.

@k-b-l:
"Gibt es denn eine alternativ software um mit dem board etwas rumzutesten? am besten Freeware und kompatibel mit dem mySmartUSB light"
Ich hab keine Ahnung, ob der mySmartUSB auch mit der Atmel IDE funktioniert. Habe nur DIAMEX und orginal Atmel Programmer. Aber zum einfachen testen kann man auch direkt das Atmel Studio sich kostenlos herunterladen.

Programm könnte dann in etwa wie folgt aussehen.

/*
 * mega128_blink.c
 *
 * Created: 11.01.2015 17:04:02
 *  Author: sschultewolter
 */ 

#define F_CPU 7372800UL  

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	DDRB |= 1<<1;
	
    while(1)
    {
		_delay_ms(500);
		PORTB ^= 1<<1; // PB1 / SCK
    }
}

Okay also ich poster mal die daten

##############################################################

crumbuino128.name=Crumbuino-128 w/ ATmega128

crumbuino128.upload.protocol=arduino
crumbuino128.upload.maximum_size=126976
crumbuino128.upload.speed=57600

crumbuino128.bootloader.low_fuses=0xFF
crumbuino128.bootloader.high_fuses=0xDA
crumbuino128.bootloader.extended_fuses=0xFF
crumbuino128.bootloader.path=atmega
crumbuino128.bootloader.file=ATmegaBOOT_168_atmega128.hex
crumbuino128.bootloader.unlock_bits=0x3F
crumbuino128.bootloader.lock_bits=0x0F
crumbuino128.build.mcu=atmega128
crumbuino128.build.f_cpu=7372800L
crumbuino128.build.core=arduino
crumbuino128.build.variant=crumbuino128

##############################################################

und das hab ich runtergeladen für das board

Klick

und in die Arduino IDE eingebunden

Bootloader ist doch weg wenn ich den sketch über die IDE
Datei/Upload mit Programmer übertrage oder?

Da die pins ja aller durcheinander sind kann ich das nicht testen, daher die idee mit serial.

gehört hier zwar nicht hin,
haber hat evtl wer ein kleines beispiel was man direkt mit atmel studio oder eclipse draufpacken könnte?

Mach mal den f_cpu Parameter auf UL und nicht L. Wenn du den Programmer nutzt, wäre der Bootloader egal. Den zu installieren macht sowieso keinen Sinn, da ein Upload über USB nicht möglich ist. Siehe fehlende Reset Beschaltung für DTR.

Wild durch einander sind die Pins nicht. Ist halt nur nicht direkt Arduino kompatibel. Schau dir mal die Doku von denen an, und such nach den Port/Pin Zuweisungen.

k-b-l:
gehört hier zwar nicht hin,
haber hat evtl wer ein kleines beispiel was man direkt mit atmel studio oder eclipse draufpacken könnte?

Ja hab ich vorhin oben geschickt. Led sollte dann alle 0.5s an bzw ausgeschaltet werden.

Also das UL hat geklappt, nun kommt der Text leserlich an

Was sagt L bzw UL aus?

hab da wegen den pins nur das gefunden:

#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <avr/pgmspace.h>

#define NUM_DIGITAL_PINS            50
#define NUM_ANALOG_INPUTS           8
#define analogInputToDigitalPin(p)  ((p < 8) ? (p) + 43 : -1)
#define digitalPinHasPWM(p)         (((p) >= 3 && (p) <= 6) || ((p) >= 12 && (p)<= 15))

static const uint8_t SS   = 8;
static const uint8_t MOSI = 10;
static const uint8_t MISO = 11;
static const uint8_t SCK  = 9;

static const uint8_t SDA = 17;
static const uint8_t SCL = 16;
static const uint8_t LED_BUILTIN = 15;

static const uint8_t A0 = 43;
static const uint8_t A1 = 44;
static const uint8_t A2 = 45;
static const uint8_t A3 = 46;
static const uint8_t A4 = 47;
static const uint8_t A5 = 48;
static const uint8_t A6 = 49;
static const uint8_t A7 = 50;

// A majority of the pins are NOT PCINTs, SO BE WARNED (i.e. you cannot use them as receive pins)
// Only pins available for RECEIVE (TRANSMIT can be on any pin):
// (I've deliberately left out pin mapping to the Hardware USARTs - seems senseless to me)
// E. Lins: changed this stuff to match the ATmega128, but it doesn't have PCINTs at all
// I eventually added the regular external interrupt stuff, but this has to be adapted in the core code
// Pins: 4, 5, 6, 7, 16, 17, 18, 19

#define digitalPinToPCICR(p)    ( (((p) >= 4) && ((p) <= 7)) ? (&EICRB) : \
                                  (((p) >= 16) && ((p) <= 19)) ? (&EICRA) : ((uint8_t *)0) )

#define digitalPinToPCICRbit(p) ( (((p) >= 4) && ((p) <= 7)) || (((p) >= 16) && ((p) <= 19)) ? 0 : 0 ) )

#define digitalPinToPCMSK(p)    ( (((p) >= 4) && ((p) <= 7)) || (((p) >= 16) && ((p) <= 19)) ? (&EIMSK) : \
                                ((uint8_t *)0) ) )

#define digitalPinToPCMSKbit(p) ( (((p) >= 4) && ((p) <= 7)) ? ((p)) : \
                                ( (((p) >= 16) && ((p) <= 19))) ? ((p - 16)) : \
                                0 )

#ifdef ARDUINO_MAIN

const uint16_t PROGMEM port_to_mode_PGM[] = {
	NOT_A_PORT,
	(uint16_t) &DDRA,
	(uint16_t) &DDRB,
	(uint16_t) &DDRC,
	(uint16_t) &DDRD,
	(uint16_t) &DDRE,
	(uint16_t) &DDRF,
	(uint16_t) &DDRG,
};

const uint16_t PROGMEM port_to_output_PGM[] = {
	NOT_A_PORT,
	(uint16_t) &PORTA,
	(uint16_t) &PORTB,
	(uint16_t) &PORTC,
	(uint16_t) &PORTD,
	(uint16_t) &PORTE,
	(uint16_t) &PORTF,
	(uint16_t) &PORTG,
};

const uint16_t PROGMEM port_to_input_PGM[] = {
	NOT_A_PIN,
	(uint16_t) &PINA,
	(uint16_t) &PINB,
	(uint16_t) &PINC,
	(uint16_t) &PIND,
	(uint16_t) &PINE,
	(uint16_t) &PINF,
	(uint16_t) &PING,
};

const uint8_t PROGMEM digital_pin_to_port_PGM[] = {
	// PORTLIST		
	// -------------------------------------------		
	PE	, // PE 0 **  0 ** USART0_RX	
	PE	, // PE 1 **  1 ** USART0_TX	
	PE	, // PE 2 **  2 ** D2
	PE	, // PE 3 **  3 ** PWM3
	PE	, // PE 4 **  4 ** PWM4
	PE	, // PE 5 **  5 ** PWM5
	PE	, // PE 6 **  6 ** D6
	PE	, // PE 7 **  7 ** D7
	PB	, // PB 0 **  8 ** SPI_SS
	PB	, // PB 1 **  9 ** SPI_SCK
	PB	, // PB 2 ** 10 ** SPI_MOSI
	PB	, // PB 3 ** 11 ** SPI_MISO
	PB	, // PB 4 ** 12 ** PWM12
	PB	, // PB 5 ** 13 ** PWM13
	PB	, // PB 6 ** 14 ** PWM14
	PB	, // PB 7 ** 15 ** PWM15	
	PD	, // PD 0 ** 16 ** I2C_SCL
	PD	, // PD 1 ** 17 ** I2C_SDA
	PD	, // PD 2 ** 18 ** USART1_RX
	PD	, // PD 3 ** 19 ** USART2_TX
	PD	, // PD 4 ** 20 ** D20
	PD	, // PD 5 ** 21 ** D21
	PD	, // PD 6 ** 22 ** D22
	PD	, // PD 7 ** 23 ** D23
	PG	, // PG 0 ** 24 ** D24
	PG	, // PG 1 ** 25 ** D25
	PC	, // PC 0 ** 26 ** D26
	PC	, // PC 1 ** 27 ** D27
	PC	, // PC 2 ** 28 ** D28
	PC	, // PC 3 ** 29 ** D29
	PC	, // PC 4 ** 30 ** D30
	PC	, // PC 5 ** 31 ** D31
	PC	, // PC 6 ** 32 ** D32
	PC	, // PC 7 ** 33 ** D33
	PG	, // PG 2 ** 34 ** D34
	PA	, // PA 7 ** 35 ** D35
	PA	, // PA 6 ** 36 ** D36
	PA	, // PA 5 ** 37 ** D37
	PA	, // PA 4 ** 38 ** D38
	PA	, // PA 3 ** 39 ** D39
	PA	, // PA 2 ** 40 ** D40
	PA	, // PA 1 ** 41 ** D41
	PA	, // PA 0 ** 42 ** D42
	PF	, // PF 0 ** 43 ** A0
	PF	, // PF 1 ** 44 ** A1
	PF	, // PF 2 ** 45 ** A2
	PF	, // PF 3 ** 46 ** A3
	PF	, // PF 4 ** 47 ** A4
	PF	, // PF 5 ** 48 ** A5
	PF	, // PF 6 ** 49 ** A6
	PF	, // PF 7 ** 50 ** A7
};

const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = {
	// PIN IN PORT		
	// -------------------------------------------		
	_BV( 0 )	, // PE 0 **  0 ** USART0_RX	
	_BV( 1 )	, // PE 1 **  1 ** USART0_TX	
	_BV( 2 )	, // PE 2 **  2 ** D2
	_BV( 3 )	, // PE 3 **  3 ** PWM3
	_BV( 4 )	, // PE 4 **  4 ** PWM4
	_BV( 5 )	, // PE 5 **  5 ** PWM5
	_BV( 6 )	, // PE 6 **  6 ** D6
	_BV( 7 )	, // PE 7 **  7 ** D7
	_BV( 0 )	, // PB 0 **  8 ** SPI_SS
	_BV( 1 )	, // PB 1 **  9 ** SPI_SCK
	_BV( 2 )	, // PB 2 ** 10 ** SPI_MOSI
	_BV( 3 )	, // PB 3 ** 11 ** SPI_MISO
	_BV( 4 )	, // PB 4 ** 12 ** PWM12
	_BV( 5 )	, // PB 5 ** 13 ** PWM13
	_BV( 6 )	, // PB 6 ** 14 ** PWM14
	_BV( 7 )	, // PB 7 ** 15 ** PWM15	
	_BV( 0 )	, // PD 0 ** 16 ** I2C_SCL
	_BV( 1 )	, // PD 1 ** 17 ** I2C_SDA
	_BV( 2 )	, // PD 2 ** 18 ** USART1_RX
	_BV( 3 )	, // PD 3 ** 19 ** USART2_TX
	_BV( 4 )	, // PD 4 ** 20 ** D20
	_BV( 5 )	, // PD 5 ** 21 ** D21
	_BV( 6 )	, // PD 6 ** 22 ** D22
	_BV( 7 )	, // PD 7 ** 23 ** D23
	_BV( 0 )	, // PG 0 ** 24 ** D24
	_BV( 1 )	, // PG 1 ** 25 ** D25
	_BV( 0 )	, // PC 0 ** 26 ** D26
	_BV( 1 )	, // PC 1 ** 27 ** D27
	_BV( 2 )	, // PC 2 ** 28 ** D28
	_BV( 3 )	, // PC 3 ** 29 ** D29
	_BV( 4 )	, // PC 4 ** 30 ** D30
	_BV( 5 )	, // PC 5 ** 31 ** D31
	_BV( 6 )	, // PC 6 ** 32 ** D32
	_BV( 7 )	, // PC 7 ** 33 ** D33
	_BV( 2 )	, // PG 2 ** 34 ** D34
	_BV( 7 )	, // PA 7 ** 35 ** D35
	_BV( 6 )	, // PA 6 ** 36 ** D36
	_BV( 5 )	, // PA 5 ** 37 ** D37
	_BV( 4 )	, // PA 4 ** 38 ** D38
	_BV( 3 )	, // PA 3 ** 39 ** D39
	_BV( 2 )	, // PA 2 ** 40 ** D40
	_BV( 1 )	, // PA 1 ** 41 ** D41
	_BV( 0 )	, // PA 0 ** 42 ** D42
	_BV( 0 )	, // PF 0 ** 43 ** A0
	_BV( 1 )	, // PF 1 ** 44 ** A1
	_BV( 2 )	, // PF 2 ** 45 ** A2
	_BV( 3 )	, // PF 3 ** 46 ** A3
	_BV( 4 )	, // PF 4 ** 47 ** A4
	_BV( 5 )	, // PF 5 ** 48 ** A5
	_BV( 6 )	, // PF 6 ** 49 ** A6
	_BV( 7 )	, // PF 7 ** 50 ** A7
};

const uint8_t PROGMEM digital_pin_to_timer_PGM[] = {
	// TIMERS		
	// -------------------------------------------		
	NOT_ON_TIMER	, // PE 0 **  0 ** USART0_RX	
	NOT_ON_TIMER	, // PE 1 **  1 ** USART0_TX	
	NOT_ON_TIMER	, // PE 2 **  2 ** D2
	TIMER3A			, // PE 3 **  3 ** PWM3
	TIMER3B			, // PE 4 **  4 ** PWM4
	TIMER3C			, // PE 5 **  5 ** PWM5
	NOT_ON_TIMER	, // PE 6 **  6 ** D6
	NOT_ON_TIMER	, // PE 7 **  7 ** D7
	NOT_ON_TIMER	, // PB 0 **  8 ** SPI_SS
	NOT_ON_TIMER	, // PB 1 **  9 ** SPI_SCK
	NOT_ON_TIMER	, // PB 2 ** 10 ** SPI_MOSI
	NOT_ON_TIMER	, // PB 3 ** 11 ** SPI_MISO
	TIMER0A			, // PB 4 ** 12 ** PWM12
	TIMER1A			, // PB 5 ** 13 ** PWM13
	TIMER1B			, // PB 6 ** 14 ** PWM14
	TIMER2			, // PB 7 ** 15 ** PWM15	
	NOT_ON_TIMER	, // PD 0 ** 16 ** I2C_SCL
	NOT_ON_TIMER	, // PD 1 ** 17 ** I2C_SDA
	NOT_ON_TIMER	, // PD 2 ** 18 ** USART1_RX
	NOT_ON_TIMER	, // PD 3 ** 19 ** USART2_TX
	NOT_ON_TIMER	, // PD 4 ** 20 ** D20
	NOT_ON_TIMER	, // PD 5 ** 21 ** D21
	NOT_ON_TIMER	, // PD 6 ** 22 ** D22
	NOT_ON_TIMER	, // PD 7 ** 23 ** D23
	NOT_ON_TIMER	, // PG 0 ** 24 ** D24
	NOT_ON_TIMER	, // PG 1 ** 25 ** D25
	NOT_ON_TIMER	, // PC 0 ** 26 ** D26
	NOT_ON_TIMER	, // PC 1 ** 27 ** D27
	NOT_ON_TIMER	, // PC 2 ** 28 ** D28
	NOT_ON_TIMER	, // PC 3 ** 29 ** D29
	NOT_ON_TIMER	, // PC 4 ** 30 ** D30
	NOT_ON_TIMER	, // PC 5 ** 31 ** D31
	NOT_ON_TIMER	, // PC 6 ** 32 ** D32
	NOT_ON_TIMER	, // PC 7 ** 33 ** D33
	NOT_ON_TIMER	, // PG 2 ** 34 ** D34
	NOT_ON_TIMER	, // PA 7 ** 35 ** D35
	NOT_ON_TIMER	, // PA 6 ** 36 ** D36
	NOT_ON_TIMER	, // PA 5 ** 37 ** D37
	NOT_ON_TIMER	, // PA 4 ** 38 ** D38
	NOT_ON_TIMER	, // PA 3 ** 39 ** D39
	NOT_ON_TIMER	, // PA 2 ** 40 ** D40
	NOT_ON_TIMER	, // PA 1 ** 41 ** D41
	NOT_ON_TIMER	, // PA 0 ** 42 ** D42
	NOT_ON_TIMER	, // PF 0 ** 43 ** A0
	NOT_ON_TIMER	, // PF 1 ** 44 ** A1
	NOT_ON_TIMER	, // PF 2 ** 45 ** A2
	NOT_ON_TIMER	, // PF 3 ** 46 ** A3
	NOT_ON_TIMER	, // PF 4 ** 47 ** A4
	NOT_ON_TIMER	, // PF 5 ** 48 ** A5
	NOT_ON_TIMER	, // PF 6 ** 49 ** A6
	NOT_ON_TIMER	, // PF 7 ** 50 ** A7	
};

#endif

#endif

aber das sind ja alles // Kommentare oder nicht?

L und UL heißt nichts anderes als long und unsigned long. Das dies das eigentliche Problem ist, wundert mich ein bisschen. Bei Frequenzen erwartet meine keine negativen Werte, so dass UL passender ist.

Der Auszug ist passend:
Beispiel:
// PE 1 ** 1 ** USART0_TX
Pin 1 (2. Pin) auf Port E.
Das ist dann in Arduino pinMode(1, xx);

Nun musst du dir entsprechend aber eine Liste selber anlegen, bei dem du die Übersicht hast, welcher Pin von den Wannensteckern was entspricht.

Die Taster liegen komplett auf PortA. Das entspricht in der IDE (35 - 42)

PE	, // PE 0 **  0 ** USART0_RX	
	PE	, // PE 1 **  1 ** USART0_TX	
	PE	, // PE 2 **  2 ** D2
	PE	, // PE 3 **  3 ** PWM3
	PE	, // PE 4 **  4 ** PWM4
	PE	, // PE 5 **  5 ** PWM5
	PE	, // PE 6 **  6 ** D6
	PE	, // PE 7 **  7 ** D7
	PB	, // PB 0 **  8 ** SPI_SS
	PB	, // PB 1 **  9 ** SPI_SCK
	PB	, // PB 2 ** 10 ** SPI_MOSI
	PB	, // PB 3 ** 11 ** SPI_MISO
	PB	, // PB 4 ** 12 ** PWM12
	PB	, // PB 5 ** 13 ** PWM13
	PB	, // PB 6 ** 14 ** PWM14
	PB	, // PB 7 ** 15 ** PWM15	
	PD	, // PD 0 ** 16 ** I2C_SCL
	PD	, // PD 1 ** 17 ** I2C_SDA
	PD	, // PD 2 ** 18 ** USART1_RX
	PD	, // PD 3 ** 19 ** USART2_TX
	PD	, // PD 4 ** 20 ** D20
	PD	, // PD 5 ** 21 ** D21
	PD	, // PD 6 ** 22 ** D22
	PD	, // PD 7 ** 23 ** D23
	PG	, // PG 0 ** 24 ** D24
	PG	, // PG 1 ** 25 ** D25
	PC	, // PC 0 ** 26 ** D26
	PC	, // PC 1 ** 27 ** D27
	PC	, // PC 2 ** 28 ** D28
	PC	, // PC 3 ** 29 ** D29
	PC	, // PC 4 ** 30 ** D30
	PC	, // PC 5 ** 31 ** D31
	PC	, // PC 6 ** 32 ** D32
	PC	, // PC 7 ** 33 ** D33
	PG	, // PG 2 ** 34 ** D34
	PA	, // PA 7 ** 35 ** D35
	PA	, // PA 6 ** 36 ** D36
	PA	, // PA 5 ** 37 ** D37
	PA	, // PA 4 ** 38 ** D38
	PA	, // PA 3 ** 39 ** D39
	PA	, // PA 2 ** 40 ** D40
	PA	, // PA 1 ** 41 ** D41
	PA	, // PA 0 ** 42 ** D42
	PF	, // PF 0 ** 43 ** A0
	PF	, // PF 1 ** 44 ** A1
	PF	, // PF 2 ** 45 ** A2
	PF	, // PF 3 ** 46 ** A3
	PF	, // PF 4 ** 47 ** A4
	PF	, // PF 5 ** 48 ** A5
	PF	, // PF 6 ** 49 ** A6
	PF	, // PF 7 ** 50 ** A7

also sind das garkeine kommentare sondern ich muss das dort ändern?

könntest du evtl für den PE bereich das mal als beispiel machen?

brauch ich noch eine andere datei von arduino aus oder reicht alles in der einen zu ändern?

Das sind schon Kommentare hinter den Ports. Dich sollten aber nur die Kommentare selber interessieren.

PE	, // PE 0 **  0 ** USART0_RX	
PE	, // PE 1 **  1 ** USART0_TX	
PE	, // PE 2 **  2 ** D2
PE	, // PE 3 **  3 ** PWM3
PE	, // PE 4 **  4 ** PWM4
PE	, // PE 5 **  5 ** PWM5
PE	, // PE 6 **  6 ** D6
PE	, // PE 7 **  7 ** D7

Hast du dir schon das Datenblatt angeschaut was Pollin angibt? (schematic.pdf)

Beim Atmega ist auf der linken Seiten der Port E zu finden.

PE0 ist RXD0(P DI) PE0
Das wäre auf einem typischen Arduino Rx/0

Interesannt für die ist Bezeichnung zwischen den ** ... **, das entspricht den Arduino Pins. Nun musst du schaun, an welchen Headern überall PE0 herausgeführt ist. Das wäre zum Beispiel Pin 1 auf dem Header P1.

Mal eine Frage nebenbei, was macht das Board für dich so interessant, dass du es mit Arduino nutzen möchtest? Du wirst sehr häufig im DB nachblättern müssen, um die passenden Pins zu finden, oder aber du machst dir einmal eine komplette Auflistung fertig.