Forum: Mikrocontroller und Digitale Elektronik Atmel SAM4L Xplained Pro Starter Kit ATSAM4L-XSTK - zum lernen?


von Dome A. (kopfii)


Lesenswert?

Hallo Community,

ich bin im Moment auf der Suche nach einem Bausatz, um das Programmieren
von Hardware zu lernen. Ich mache eine Ausbildung zum Fachinformatiker
Anwendungsentwicklung. Von den technischen Daten her gefällt mir das
oben genannte Kit sehr gut. Der Cortex M4 hat da schon eine etwas höhere
Leistung als das Adruino Kit mit dem ATMega328. Wobei ich hier des
öfteren schon gelesen habe, dass die Programmierung bei dem StarterKit
von Atmel mit dem Cortex M4 wesentlich schwieriger ausfalle, als die
Programmierung vom Adruino. Meine Frage wäre jetzt, womit kann man denn
besser lernen? Hat jemand da Erfahrungen mit? Eventuell ist selbst
jemand damit eingestiegen? Mich würde das StarterKit von Atmel wirklich
reizen. Ich lasse mich jedoch gerne überzeugen. Da ich im laufe meiner
Ausbildung(ich denke 3. Lehrjahr) in das aktive Geschäft mit eingebunden
werde, werde ich dort auch Firmware schreiben. Weshalb ich denke, dass
auf lange Zeit gesehen, der Cortex M4 kein Problem sein wird und es eine
reine Übungssache ist. Ich will mich dafür eben jetzt schon
einlesen/lernen und denke ich bin ich hier genau richtig mit meiner
Frage.

Hier das Kit von Atmel:

http://www.voelkner.de/products/586470/Atmel-SAM4L-Xplained-Pro-Starter-Kit-ATSAM4L-XSTK.html

Hier das Kit von Adruino:

http://www.reichelt.de/ARDUINO-STARTER/3/index.html?&ACTION=3&LA=446&ARTICLE=130167&artnr=ARDUINO+STARTER&SEARCH=Adruino


viele Grüße & einen schönen Montag
Kopfii

von Markus H. (dasrotemopped)


Lesenswert?

wenn du Azubi im ersten LJ bist :
http://www.voelkner.de/products/586471/Atmel-SAM4L-Xplained-Pro-Evaluation-Kit-ATSAM4L-XPRO.html?ref=43&products_model=D42533&gclid=CI-SvZaohsECFQcewwodZGgArQ
dazu etwas Lochraster, Silberdraht, ein paar Bauteile, viel Geduld und 
Ausdauer. Nach der Ausbildung kannst du mit ARM und embedded C 
Kenntnissen besser Punkten als mit Arduino ...

nur mein Senf,

dasrotemopped.

von Dome A. (kopfii)


Lesenswert?

Hallo und vielen Dank für dein Rat. Ich habe hier bei uns auch etwas 
nachgefragt auf der Arbeit. Ich bin im 2. Lehrjahr. Mir wurde gesagt, 
dass ich mit Adruino anfangen solle um erst mal überhaupt einen einblick 
in die embedded Welt zu bekommen. Dein Aspekt bezüglich der ARM 
Programmierung ist allerdings auch bei mir ein großer Faktor, welcher 
mich eher zu Atmel hin schweift. Mein oben genanntes Kit wurde mir auch 
abgeraten. Zufällig wurde mir, wenn ich schon was von Atmel will zu dem, 
welches du mir genannt hast empfohlen. Wobei ich eher an sowas denke:

http://store.atmel.com/PartDetail.aspx?q=p:10500255;c:100113#tc:description

Den Bildschirm muss ich ja nicht direkt ansteuern. Aber wenn ich soweit 
bin ist er eben da. Deine Meinung fände ich zu dem Board sehr nett oder 
eure.


viele Grüße
Kopfii

von Jan B. (berge)


Lesenswert?

Hi,

mein Tipp: Guck dir die Libraries für die von dir gewählte Hardware an. 
Die Arduino Libraries abstrahieren natürlich direkt sehr von der 
Hardware. Der Einstieg ist daher recht einfach. Wenn du dann etwas 
machen willst, das nicht in den vorhandenen Libraries vorgesehen ist, 
wird es aber dann recht komplex, falls nicht Libraries da sind, die dich 
für die Schicht darunter unterstützen.

Guck deswegen auch ruhig mal bei verschiedenen Herstellern (Atmel, TI, 
ST...). Da kocht jeder ein anderes Süppchen. Und: Guck auch mal, was im 
Forum so benutzt wird. Da ist viel ST unterwegs, da die Development Kits 
spottbillig sind (ab 8€ inkl. Programmieradapter).

Liebe Grüße,

Jan

von Dome A. (kopfii)


Lesenswert?

Was kann ich denn unter ST verstehen? Ich tippe mal auf einen 
Hersteller... :/

von Jan B. (berge)


Lesenswert?

ST Microelectronics: http://www.st.com/web/en/catalog/mmc/FM141/SC1169
Die Evaluation Boards heißen Discovery Boards.

von Markus H. (dasrotemopped)


Lesenswert?

Zum Einstieg in die Embedded Programmierung ist ein uC Board ohne 
Peripherie besser, weil billiger und man kommt nicht in die Versuchung, 
seine Zeit mit vorprogrammierten Beispielen zu verschwenden.
Ich erarbeite mir gerade auch die ARM Welt, komme aus der Atmega/Attiny 
Zone und habe als ARM natürlich auch einen Atmel gewählt, den SAMD20J, 
klein, billig, aber genug zum Lernen und entdecken. Das Board dazu sieht 
so aus :
http://www.dasrotemopped.de/bilder/ATSAMD20J_DIN41617.jpg
Du brauchst Programmierschnittstelle, Reset Taste, externer Quarz und 
alle IOs auf Pfostenleiste, mehr nicht.
Auch wenn Arduino sehr populär ist würde ich das als Einstieg nicht 
wählen.
ARM, CMSIS und C Compiler würde ich heute jedem Einsteiger raten. Der 
Code ist nicht komplexer als 8-bit uCs, es gibt leider nur wenig 
Literatur, die didaktisch gut aufgebaut ist, besonders für Einsteiger. 
Auf deutsch gibt es noch weniger. Ein Tutor / Ausbilder, der bei 
Problemen zur Seite steht und erklären kann ist extrem wichtig, doch die 
arbeiten meisst bei Schulungsinstituten.

Gruß,

dasrotemopped.

von Dome A. (kopfii)


Lesenswert?

Hallo,

vielen Dank für eure Ratschläge. Ich bin am überlegen, ob ich mir das 
ATmel STK500 hole. Es wird im Tutorial empfohlen und ist wirklich nur 
das reine Board ohne groß schnickschnack. Dadurch würde ich natürlich 
Kostengünstiger und wie Du meintest "selbstständig" programmieren und 
keine Beispielprogramme nehmen. Damit würde ich mir dann das Tutorial 
von hier vornehmen und durch arbeiten. Wenn es sein muss mehrmals. Bis 
ich es verstanden habe und dann überlegen, was mein 1. Projekt werden 
könnte :) Ich bräuchte allerdings ein extra Netzteil und wie siehts mit 
einem Debugger aus? Könnt ihr mir da zu was raten?

EDIT

Wobei mir das STK500 schon etwas alt wirkt. Erschlagt mich bitte nicht, 
wenn ich damit falsch liege.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dome A. schrieb:
> Wobei mir das STK500 schon etwas alt wirkt.

Ja, ist so.

Debugger: Atmel-ICE.  Dann hast du neben den AVRs zumindest die
Perspektive, damit auch Atmel-ARMs debuggen zu können.

STK500 nur, wenn es einigermaßen günstig ist.  Einen Hunderter will
man für das alte Ding nicht mehr hinblättern.  Am besten natürlich
geschenkt. ;-)

von Andi K. (fry12)


Lesenswert?

Wenn du direkt mit ARM in die Mikrocontroller-Welt einsteigen willst, 
würde ich dir definitiv zu einem ST Board raten. Ich selbst habe mit dem 
Atmel SAM µC begonnen, was kein Zuckerschlecken war (trotz meiner 
Erfahrung mit AVR/Arduino).

Die ARM Cortex-M3/4 sind im Vergleich zu Atmegas schon sehr mächtig, da 
ist viel Eigeninitiative gefragt. Atmel liefert viele Libraries in Form 
des Atmel Software Frameworks (ASF) mit, anhand derer man sich bspw. ein 
wenig die Peripherie-Ansteuerung abschauen kann. Das kann mitunter aber 
auch sehr verwirrend werden, da die ASF Module meistens für eine ganze 
Mikrocontroller-Familie geschrieben sind und da dementsprechend sehr 
viel unnützer Code mitgeschleppt wird, nur um dann per Präprozessor 
rausgeschmissen zu werden.

Trotz des ASF würde ich an deiner Stelle mit einem ST Discovery Board 
beginnen. Das liegt zum einen am günstigeren Preis für die Boards, zum 
anderen aber (und das ist der wichtigste Grund!) sind die ARM 
Mikrocontroller von ST deutlich beliebter und verbreiteter, d.h. du 
kannst viel leichter an Hilfe und Unterstützung kommen, wenn es mal 
hakt.

Ich vermute mal, dass ST, ähnlich wie Atmel, Libraries mitliefert, die 
den Einstieg erleichtern können. Konkret kann ich dazu nichts sagen, da 
ich noch keine ARM Mikrocontroller von ST verwendet habe.

: Bearbeitet durch User
von Dome A. (kopfii)


Lesenswert?

Andi K. schrieb:
> Trotz des ASF würde ich an deiner Stelle mit einem ST Discovery Board
> beginnen. Das liegt zum einen am günstigeren Preis für die Boards, zum
> anderen aber (und das ist der wichtigste Grund!) sind die ARM
> Mikrocontroller von ST deutlich beliebter und verbreiteter, d.h. du
> kannst viel leichter an Hilfe und Unterstützung kommen, wenn es mal
> hakt.

Die nuten doch im prinzip auch den Cortex M3 von Atmel wieso ist da so 
ein unterschied? Nehme ich jetzt zum Beispiel ein STM32. Dann könnte ich 
genauso doch das Paket von Atmel nehmen.

http://store.atmel.com/PartDetail.aspx?q=p:10500343;c:100114#tc:description

Oder eben das STK500. Wobei dieses ja veraltet ist und wie oben schon 
geschrieben worden ist der Preis für das alter ziemlich happig ist.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dome A. schrieb:
> Die nuten doch im prinzip auch den Cortex M3 von Atmel wieso ist da so
> ein unterschied?

Da verwürfelst du was: Cortex-M* ist nicht von Atmel, sondern von
ARM.  Das ist eine Firma, die zwar vor 25 Jahren mal einen PC bauen
wollte, aber mittlerweile rein ihre CPU-Designs verkauft.

Kunden von ARM sind einige Halbleiterhersteller, STM halt, Atmel auch,
diverse andere.  Die Welt splittert sich da ziemlich auf, weshalb du
nicht die geballte User-Support-Macht für ein Derivat erleben wirst,
wie es sie für AVRs hier in diesem Forum gibt.

Mit welchem du davon einsteigst, ist aber am Ende ziemlich egal: der
CPU-Kern ist gleich, und für die Peripherie musst du dich ohnehin
jeweils ins Datenblatt einlesen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dome A. schrieb:
> STK500... der Preis für das alter ziemlich happig ist.

Nee, also neu kaufen auf keinen Fall.

von Dome A. (kopfii)


Lesenswert?

Jörg Wunsch schrieb:
> Mit welchem du davon einsteigst, ist aber am Ende ziemlich egal: der
> CPU-Kern ist gleich, und für die Peripherie musst du dich ohnehin
> jeweils ins Datenblatt einlesen.

Also im Prinzip wurscht ob Atmel oder ST?

von Markus H. (dasrotemopped)


Angehängte Dateien:

Lesenswert?

wie schon gesagt wurde,
Atmel-ICE kaufen oder Segger J-Link EDU Version,
aber kein STK-x00, der Atmel ICE kann Atmega und SAMDxx,
da ist man besser dran, kostet das selbe. Und die ATmel IDE
ist aus einem Guss, kein Umdenken beim CPU Wechsel auf
der Software Seite. Zum Einstieg ein Cortex-M0+ oder ein
Atmega ist dann egal, obwohl ein Cortex M0+ wie der SAMD20
die bessere Wahl ist.

Hier mal ein getestetes LED Blink für SAMD20.
Ist das schwerer als Atmega ? Kein ASF oder so,
nur CMSIS und Register beschreiben.

Gruß,

dasrotemopped.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Markus Horbach schrieb:
> aber kein STK-x00, der Atmel ICE kann Atmega und SAMDxx,
> da ist man besser dran, kostet das selbe.

Sind aber zwei Paar Schuhe: STK500 ist ein Experimentierbrett für
AVR, das ICE eine Debughilfe.  Einzige Überschneidung zwischen beiden
ist, dass beide programmieren können.

Wenn aber gar kein 8-bit-AVR mehr auf dem Plan ist, hat ein STK500
natürlich keinen Sinn.  Wenn's ums reine Lernen von Controllern geht,
kann aber 8-bit-AVR durchaus noch Sinn haben: ist doch noch ein Stück
übersichtlicher als ARMs (sofern man nicht gerade mit dem Xmega
anfängt, der steht in der Komplexität den üblichen Cortex-M-Devices
kaum nach), und viele Grundkonzepte kann man am kleineren Controller
durchaus auch lernen.

von Markus H. (dasrotemopped)


Lesenswert?

was ist die erste Frage von einem Noob beim Atmega ?
Habe den uC verfused, wer kann helfen.

Wer mit 8 Bit anfängt, bleibt bei dem System, das er am besten kennt.
Dann lieber bei etwas hängen bleiben, das mehr bietet.

Zum Lernen reicht auch ein MOS6502, aber so sehr wie ARM sich breit 
macht, ist das ein Argument für einfachere Systeme ?

Gruß,

dasrotemopped.

von Dome A. (kopfii)


Lesenswert?

Markus Horbach schrieb:
> SAMDxx,
> da ist man besser dran, kostet das selbe. Und die ATmel IDE
> ist aus einem Guss, kein Umdenken beim CPU Wechsel auf
> der Software Seite. Zum Einstieg ein Cortex-M0+ oder ein
> Atmega ist dann egal, obwohl ein Cortex M0+ wie der SAMD20
> die bessere Wahl ist.

Da wüsste ich wiederum nicht, was ich programmieren könnte. Sei es LED 
aus/an oder sonstiges, da dort ja wirklich rein gar keine 
"Ausgabegeräte" dabei sind. Die LEDs sind ja vermutlich vom User 
Wählbar. Das heißt ich bräuchte zum Üben schon mal noch ein paar LEDs 
oder sonstiges. Ich seh vor lauter Bäumen den Wald nicht mehr glaube 
ich. Die Palette ist im Prinzip so groß aber trotzdem muss man schon als 
Einsteiger extrem aufpassen, was man kauft. Eure Argumentation finde ich 
Klasse. Klar sollte man nicht direkt das "Größte" nehmen, da die 
Verlockung dann größer ist irgendwelche Example Projekte zu nehmen. Dann 
gibt es eben Boards, welche im Prinzip wirklich nur mit Controller 
kommen. Mich würde es reizen für meinen Schreibtisch ein LED-Spiel zu 
programmieren später. Sobald ich erst mal die Basics auf dem Kasten 
habe. Wobei ich aber nicht weiß, welches Starterkit man nimmt zum 
Einstieg. Und ob die StarterKits nicht doch eher reine Anlockung ist und 
man direkt ein günstiges Evaluation Board nehmen sollte. Bin etwas 
verwirrt diesbezüglich. Ich seh mir z.Z. jeden Tag Boards an aber jedes 
ist auf seine Weise gut und schlecht... Das Atmel SAM D20 Xplained Pro 
Evaluation Kit ist halt echt zu leer. Wenig LEDs die man ansteuern kann 
Knöpfe für irgendwelche Funktionen(die man selbst zuweisen kann)gibt es 
nicht. Also ich finde LEDs und Knöpfe sollten schon dabei sein... Ein 
Display ist ja auch noch Erweiterbar. Falls man jetzt auf mein in weiter 
ferne liegendes Projekt denkt. Würde ich z.B. sagen, ich nehme 
verschiedene Modis die die LEDs an meinem Schreibtisch leuchten, fände 
ich einen Bildschirm, welcher den aktuellen Modus anzeigt nicht 
schlecht. Aber das ist noch Zukunftsmusik. Erst mal ein geeignetes 
Equipment finden und loslegen wäre jetzt erst mal angesagt... Dabei wäre 
Hilfe echt super :/

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Markus Horbach schrieb:
> was ist die erste Frage von einem Noob beim Atmega ?
> Habe den uC verfused, wer kann helfen.

Ach, komm.  Nur, weil es ein paar nicht raffen, muss man das nun nicht
zum Standardfehler hochstilisieren.  Im Vergleich zu den Tausenden,
die die Dinger problemlos nutzen, ist das Rauschen, und wenn er sich
wirklich einen STK500 zulegt, ohnehin gegenstandslos, denn damit
bekommt man sie alle wieder zurück.

Dafür bekommt man beim AVR die LED mit 20 CPU-Befehlen zum Blinken,
so einfach und überschaubar ist er, da kann man noch wie seinerzeit
beim Z80 oder 6502 jedes Bit verstehen.

> aber so sehr wie ARM sich breit macht, ist das ein Argument für
> einfachere Systeme ?

Für den Einstieg ist eine einfache Architektur durchaus ein Argument.
Wir reden ja hier weder über einen Z80 noch über einen 6502, sondern
dennoch über eine durchaus zeitgemäße Architektur, auch wenn sie nicht
mehr ganz „hip“ ist.

Wenn man das Grundprinzip eines Controllers verstanden hat, ist es
auch nicht schwer, andere Architekturen zu verstehen.  Nur, weil ich
das Fahrradfahren noch mit einer Rücktrittbremse und einem grässlichen
Seitenläuferdynamo gelernt habe, heißt das doch nicht, dass ich mich
nicht auch auf ein aktuelles Fahrrad mit Scheibenbremse und Nabendynamo
setzen könnte.

von Dome A. (kopfii)


Lesenswert?

Ich verstehe nur die hälfte eurer Diskussion... Könntet ihr mir 
irgendwas empfehlen? Hab ja im letzten Beitrag geschrieben, was ich mir 
vorstelle :/

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dome A. schrieb:
> Könntet ihr mir irgendwas empfehlen?

Naja, du willst einerseits einsteigen, also offenbar von der Pike auf
lernen.  Dafür sollte es (meiner Meinung nach) einfach und überschaubar
sein. Andererseits erwartest du offenbar für den Einstieg einen Rolls
Royce, damit du dann, wenn du alles beherrschst, gleich losflitzen
kannst.

Finde ich ein Missverhältnis.  Wahrscheinlich könntest du dir das
einfachste Eval-Board bei Pollin kaufen und erstmal damit starten:
wenig finanzielles Risiko, genügend Anleitungen und Tutorials im
Netz.  Wenn du das in- und auswendig kennst (und vielleicht ja auch
doch mal selbst 'ne weitere LED drangeknüppert hast), kannst du das
Ding in die Ecke legen oder hier im „Markt“-Forum gegen Portoerstattung
weitergeben und dich einer Plattform widmen, auf der du dann auch etwas
ernsthaftere Projekte angehen kannst.  Dann weißt du aber vielleicht
auch schon ein bisschen mehr, in welche Richtung dein nächstes Projekt
so gehen soll, was die Auswahl der Hardware dafür wiederum vereinfacht.

Just my EUR 0,02.

von Daniel H. (Firma: keine) (commander)


Lesenswert?

Dome A. schrieb:
> Also im Prinzip wurscht ob Atmel oder ST?

Im Prinzip ja. Ich habe mir vor einigen Monaten Evaluierungsboards für 
Cortex-M0 von beiden gekauft und bin mit beiden gut zurecht gekommen.

http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF253215
http://www.atmel.com/tools/ATSAMD20-XPRO.aspx?tab=overview

Beide haben einen integrierten Debugger und bieten für den Anfang 
genügend Speicher und Rechenleistung um sich auszutoben.

Der Vorteil bei ST ist, dass die Discovery-Evaluierungsboards 
spottbillig sind (~10€). Dafür muss man halt auf eine in sich 
geschlossene Entwicklungsumgebung verzichten und diese mit etwas 
händischer Arbeit einrichten (was sich jedoch schlimmer anhört als es 
ist).

Ein dedizierter Debugger ist in meinen Augen für den Anfang erst einmal 
nicht erforderlich, für das Geld kann man sich dann lieber mehrere 
Evaluierungsboards von verschiedenen Herstellern (Atmel, ST, NXP usw.) 
holen und schauen, welches Ökosystem einem am meisten zusagt.

Viele Grüße
Daniel

Edit: Link zum falschen Discovery korrigiert.

: Bearbeitet durch User
von Dome A. (kopfii)


Lesenswert?

Ok, dann werde ich mir wohl wirklich das SAMD20 holen und mir das 
AVR-GCC Tutorial damit durcharbeiten. und lernen. Bücher hab ich mit 
bekommen gibt es kaum gute? Ich höre jetzt einfach mal auf euch ihr seid 
die "alten Hasen"(hoffe es fühlt sich keiner angegriffen :) ) und habt 
die Ahnung. Ich bedanke mich bei euch und melde mich dann bei Fragen 
bzw. wenn ich meinen "ersten Erfolg" erzielt habe :P

von Markus H. (dasrotemopped)


Lesenswert?

>werde ich mir wohl wirklich das SAMD20 holen
gute Wahl
>und mir das AVR-GCC Tutorial damit durcharbeiten
nichts gegen das AVR-GCC Tutorial, aber du hast ein ARM Board, da passt 
ein AVR Tutorial nicht zu, auch wenn deine CPU von Atmel ist, ist AVR 
die falsche Baustelle
Ich wiederhole noch mal, CMSIS von ARM herunterladen und lesen !
Dann das Datenblatt von "deiner" CPU ( Atmel SAMD20J ) herunterladen und 
lesen !
Atmel Studio ( nicht AVR Studio, beides gibt es von Atmel ) 
herunterladen und installieren und mit dem Programmieren beginnen.

Bücher :
ISBN :978-3-8266-9475-2 , ist sogar in deutsch
der Autor beschreibt schön seine Leiden mit Eclipse, das bestärkt die 
Wahl vom Atmel Studio, er benutzt aber einem Atmel ARM, drum gut 
geeignet zum Einstieg auch für andere ARM Atmels (das die beiden aber 
auch so sehr zum Verwechseln klingen ...)

Gruß,

dasrotemopped.

PS : mein Beispielcode schon mal ausdrucken und unters Kopfkissen legen

von Jan B. (berge)


Lesenswert?

Für die STs (und nicht nur für die) gibt es mit Coocox (CoIDE) eine gute 
Programmierumgebung. Da ist auch die CMSIS und Peripheral Library direkt 
drin. Die Libraries selbst zusammen kopieren zu müssen ist nämlich kein 
Zuckerschlecken.

Noch besser wird das ganze mit den Beispiele von Uwe: 
mikrocontroller.bplaced.net Damit kriegst du einen flotten Einstieg hin 
und kannst dir die Verwendung der Library an Beispielen ansehen.

In jedem Fall: Viel Erfolg!

LG Jan

von Andi K. (fry12)


Lesenswert?

Markus Horbach schrieb:
> Bücher :
> ISBN :978-3-8266-9475-2 , ist sogar in deutsch
> der Autor beschreibt schön seine Leiden mit Eclipse, das bestärkt die
> Wahl vom Atmel Studio, er benutzt aber einem Atmel ARM, drum gut
> geeignet zum Einstieg auch für andere ARM Atmels (das die beiden aber
> auch so sehr zum Verwechseln klingen ...)

Dieses Buch kann ich ebenfalls empfehlen; für den Einstieg gut geeignet, 
es enthält viele Beispiele zur Peripherie-Ansteuerung. Außerdem widmet 
sich das Buch auch der grundlegenden Elektronik um einen Mikrocontroller 
herum, also wie man z.B. mittels Transistoren größere Lasten schalten 
kann etc.

Falls es dann noch etwas mehr sein darf: 
http://www.amazon.de/The-Definitive-Guide-ARM-Cortex-M0/dp/0123854776/ref=sr_1_2?ie=UTF8&qid=1412083127&sr=8-2&keywords=definitive+guide+cortex

Darin wird dann bspw. das Interrupt Handling sehr ausführlich 
dargestellt. Allerdings hier wieder aufpassen: In diesem Buch geht es 
allgemein um die ARM Cortex-M0 Architektur. Wie man jetzt DMA in 
Verbindung mit SPI verwendet, wirst du darin nicht finden, da die 
Peripherie herstellerspezifisch ist (also Atmel-, ST- oder 
HerstellerXYZ-spezifisch ;-)).

von Markus (Gast)


Lesenswert?

Dome A. schrieb:
> Ok, dann werde ich mir wohl wirklich das SAMD20 holen

Gute Wahl, dieses Board hab ich auch. Vor allem keine Panik vor "zu 
wenig Knöpfen und LEDs". Sobald Du den Einstieg gefunden hast und ein 
erstes ernsthaftes Projekt bauen willst, kannst Du Dir verschiedene 
Erweiterungen holen wie z.b. das IO Board mit microSD, TempSensor, Light 
Sensor, oder das OLED1 mit einem OLED Display, oder - das gefällt mir am 
meisten - das ProtoXplained - darauf kann man schön etwas selbst 
zusammenstecken und ausprobieren.
http://www.atmel.com/devices/ATSAMD20J18.aspx?tab=tools

Hier ein schönes Einstiegstutorial in diese MCU:

http://experimentjmcg.wordpress.com/2014/04/21/samd20-blinky-example-from-scratch-a-tutorial/

Es nutzt zwar immer noch das Atmel Software Framework, aber es zeigt 
deutlich die Vorteile dieser Architektur um schnell ein Prototyp zu 
bauen. Du wirst aber nicht darum herum kommen zum Teil den Driver Code 
zu Debuggen um zu verstehen was genau wie gemacht wird. Das gute daran: 
du hast ja etwas was funktioniert und Reverse Engineering ist ja wie 
Learning by Dooing :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.