SAMD21 Xplained Pro board

Gast #4326528
Lesenswert?

Hallo,

ich bin neu in der Welt der ARMs und möchte gerne  mit einen SAMD21 
Xplained Pro board (ATSAMD21J18A)programmieren.

Gibt es irgendwo eine Erläuterung/Tutorial wie ich da am besten anfangen
kann? Bei den AVRs habe ich mich immer gerne hier an den Tutorials und
dem Datenblatt angelehnt.

Den Board habe ich im Atmel Studio bereits eingebunden und soll
über die SWD programmiert werden.

Nur fehlt mir nun der entscheide Anstoß,
wie werden die Ports/Pins initialisiert, und wie werden die angesteuert.

Mir würde für den Anfang reichen, wenn ich die I/Os mit Tastern und
low-current Leds ansprechen kann. Den Rest werde ich dann später
nachholen.

Alternativ würde ich mir auch über eine Lektüre/Buchvorschlag freuen,
der die SAMD Serie bearbeitet.
Moderator Persönliche Seite #4327033
Lesenswert?

Alex schrieb:
> Ich verstehe nicht wozu braucht man GROUP.

Sie nennen im Datenblatt alles PA00 bis PA31, PB00 bis PB31.  Es
gibt aber in Wirklichkeit nur eine Instanz des Moduls PORT (für
den Parallelport), und „A“ und „B“ sind softwaremäßig darin
„Group[0]“ und „Group[1]“.

Zuweilen findet man daher auch solche Defines:
1
#define PORTA PORT->Group[0]
2
#define PORTB PORT->Group[1]

Danach kannst du statt
1
PORT->Group[0].OUTCLR.bit.OUTCLR = (1 << 28);

schreiben
1
PORTA.OUTCLR.bit.OUTCLR = (1 << 28);
#4327092
Lesenswert?

util/delay.h gehört nicht zu den Std-Libs der Arms. Das gab es nur bei 
den AVRs. Aber wie Jörg bereits sagte, es gibt mehre Lösungen, diese 
Funktionalität hinzuzufügen.

Steht alles im Link des Links ;) Nutze die Version von Jörg gerne mal, 
wenn es nur um ganz einfache Sache zu testen gibt, oder aber der 
Controller in dieser Zeit mal überhaupt garnichts machen braucht.
Gast #4327661
Lesenswert?

das ist das CubeMX von Atmel. Erzeugt ein Projekt für Atmel Studio 7.

Finde es gut, das Atmel an der Baustelle der HW Konfiguration dran ist, 
aber die Umsetzung als Webseite ist noch schlimmer als CubeMX als Java 
App. Das man so was nicht in C schreiben kann ... und der Online Zwang, 
davon will ich erst gar nicht reden.

Gruß,

dasrotemopped.
Gast #4327762
Lesenswert?

dasrotemopped schrieb:
> das ist das CubeMX von Atmel. Erzeugt ein Projekt für Atmel Studio 7.
>
> Finde es gut, das Atmel an der Baustelle der HW Konfiguration dran ist,
> aber die Umsetzung als Webseite ist noch schlimmer als CubeMX als Java
> App. Das man so was nicht in C schreiben kann ... und der Online Zwang,
> davon will ich erst gar nicht reden.

naja finde ich jetzt nicht unbedingt, hat schon seine Vorteile. Ich kann 
jetzt, ohne mir eine Installation auf dem PC anzutun, vorab die Atmel 
MCU erkunden die mich interessiert, und dann auch gleich schauen wie die 
Treiber und Middleware Unterstützung aussieht. Die Updates sind immer 
"automatisch" schon drauf, man muss sich nicht persönlich drum kümmern 
mit welcher Version man nun arbeitet. nicht nur die Bauteilgruppen 
selbst, sondern auch die Treiber sind dann immer auf dem aktuellsten 
Stand. außerdem wird ja - zum Glück - das Projekt nicht nur als Atmel 
Studio version, sondern auch für keil und iar erstellt, und das kann man 
dann offline (ohne Internetanbindung) bearbeiten. Seid doch froh dass 
Atmel nicht auf die Idee gekommen ist, ähnlich wie bei mbed, dass alles 
online programmiert wird :-D
Außerdem ist das jetzt nun auch platformübergreifend, wäre es bei einer 
offline Version geblieben, müsste man je eine Variante für Linux, 
Windows und MacOs pflegen.

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