Atmel Start fehlerhaft? Atmel SAMD21E18

OP #4327517
Lesenswert?

Hallo,

ich plane gerade ein Platine mit dem SAMD21E18. Nun ist mir bei dem 
PinMapping aufgefallen, das PA28 nicht unterstützt wird.
[siehe Bild]

Im Datenblatt hingegen habe ich dazu nichts gefunden. Ist das ein Bug in 
Atmel Starter? Ich habe noch keinen SAMD aus der E Serie hier, um das 
kurz einmal auszutesten
Angehängte Dateien:
OP #4327543
Lesenswert?

Danke schon einmal für die Rückmeldung. Vielleich hat einer so einen im 
Einsatz, oder weiß näheres. Denke aber selber eher, dass es ein Fehler 
in der Atmel Anwendung ist.

Habe "leider" nur einen SAMD21 aus der G-Serie, aufgrund dessen das der 
sowieso mehr Pins hat, bringt ein Vergleich da nichts zum überprüfen-
OP #4327585
Lesenswert?

Ob es je aus dem Beta-Status herauskommt? ;)

Mir geht es bei dem Atmel Start weniger um die Anbindung des ASFs. Viel 
Interessanter ist es, zu wissen, was man wie auf dem kombinieren kann.

Bei der AVR Programmierung (vorallem Attinys) musste man lange testen 
und mehrmals nachschlagen, um zu schauen, dass man sich die 
Schnittstellen nicht verbaut hat.
Im Atmel Start wird direkt der Vorschlag gemacht, auf welchen I/Os die 
Schnittstellen gelegt werden und wo nicht. Das ganze ist deutlich 
flexibler. Spart auch dann einiges an Arbeit beim Layout. Spare mir im 
vergleich zu anderen µC einen ganzen Haufen an Vias.
1
/* PORTA (Analog) */
2
#define PA0      GPIO(GPIO_PORTA, 2)
3
#define PA1      GPIO(GPIO_PORTA, 3)
4
#define PA2      GPIO(GPIO_PORTA, 4)
5
#define PA3      GPIO(GPIO_PORTA, 5)
6
#define PA4      GPIO(GPIO_PORTA, 6)
7
#define PA5      GPIO(GPIO_PORTA, 7)
8

9
/* PORTB */
10
#define PB0_SDA    GPIO(GPIO_PORTA, 8)
11
#define PB1_SCL    GPIO(GPIO_PORTA, 9)
12
#define PB2      GPIO(GPIO_PORTA, 10)
13
#define PB3      GPIO(GPIO_PORTA, 11)
14
#define PB4_TX    GPIO(GPIO_PORTA, 14)
15
#define PB5_RX    GPIO(GPIO_PORTA, 15)
16
#define PB6      GPIO(GPIO_PORTA, 27)
17
#define PB7      GPIO(GPIO_PORTA, 28) // Bug Atmel Start?
18

19
/* PORTC */
20
#define PC0_TX    GPIO(GPIO_PORTA, 16)
21
#define PC1_RX    GPIO(GPIO_PORTA, 17)
22
#define PC2      GPIO(GPIO_PORTA, 18)
23
#define PC3      GPIO(GPIO_PORTA, 19)
24
#define PC4_SS    GPIO(GPIO_PORTA, 22)
25
#define PC5_MISO  GPIO(GPIO_PORTA, 23)
26
#define PC6_MOSI  GPIO(GPIO_PORTA, 24)
27
#define PC7_SCK    GPIO(GPIO_PORTA, 25)
28

29
/* SWD */
30
#define SWCLK    GPIO(GPIO_PORTA, 30)
31
#define SWDIO    GPIO(GPIO_PORTA, 31)
Gast #4327679
Lesenswert?

Stefan S. schrieb:
> Bei der AVR Programmierung (vorallem Attinys) musste man lange testen
> und mehrmals nachschlagen, um zu schauen, dass man sich die
> Schnittstellen nicht verbaut hat.

Kann ich nicht bestätigen, die Belegung ist doch fest vorgegeben.
Man sieht doch recht schnell, ob man das Vorhaben mit dem Controller 
umsetzen kann oder nicht.
#4327763
Lesenswert?

Stefan S. schrieb:
> Bei der AVR Programmierung (vorallem Attinys) musste man lange testen
> und mehrmals nachschlagen, um zu schauen, dass man sich die
> Schnittstellen nicht verbaut hat.

Was muß man da testen, die Zuordnung ist doch fest.
Zuerst verteilt man die Spezialfunktionen (UART, PWM, ADC usw.) und der 
Rest sind dann einfache IO-Pins.
Falls es Konflikte gibt, kann man SPI oder I2C leicht in Software 
machen.

Beim SAMD21 sieht es ähnlich aus, wie bei den NXP LPCs, d.h. die 
Spezialfunktionen haben 2 Alternativbelegungen. Letzendlich macht man 
aber es genauso, d.h. zuerst die Spezialfunktionen verteilen.
Man kann dazu ein extra Tool nehmen, aber ich mache es lieber mit Papier 
und Bleistift, z.B. beim LPC1768.

Sehr umständlich fand ich es nur bei den Silabs C8051. Wenn man da 
Spezialfunktionen aktiviert hat, verschoben sich alle nachfolgenden 
Pin-Zuordnungen.
Man mußte also schon vor dem Layout ganz genau wissen, welche 
Spezialfunktionen man braucht und konnte sie hinterher nicht wieder als 
IO-Pins mappen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren