Forum: Mikrocontroller und Digitale Elektronik Programmierkurs in C für ARM


von Ma B. (drumstick)


Lesenswert?

Hallo!

Ich möchte einen Programmierkurs besuchen, in dem man spezifisch ARM uP 
programmiert. Gibt es solche Schulungen??

Vielen Dank und freundliche Grüsse!

M.B.

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Hmmm ...

du bräuchtest erst nen C Kurs,
dann nen ARM Kurs (ARM7, 9, ..., bzw. Cortex), um etwas über den 
Prozessor zu lernen, und die Fallstricke verschiedener 
Implementierungen, wie z.B. Clock Trees, Peripheral Enable usw...).

www.doulos.com in Hannover macht ARM Kurse auch für Microcontroller. 
Dort werden sehr detailliert die Grundlagen des jeweiligen ARM 
Prozessors erklärt, in den Kursen kann ein µC programmiert werden.

Microconsult (München) macht ebenfalls solche Kurse, aber da war ich 
noch nie :-) Vielleicht war ein anderer Forenleser mal dort auf einem 
Kurs?


Wie bei jedem Kurs stellt sich erst mal die Frage: Was weisst du bereits 
und was möchtest du lernen?

von Kai S. (zigzeg)


Lesenswert?

> 2)uC Programmierung allg. und dabei fängt man NICHT mit ARM an!

Aha, und warum nicht ?
Ich finde so'n ARM eher einfacher und geradliniger als andere uCs. Muss 
ja nicht gleich ein Cortex-A9 sein mit MMU und Caches. Wobei auch der 
wuerde funktionieren, keiner zwingt einen MMU, Caches etc. wirklich 
einzuschalten.

ZigZeg

von Decius (Gast)


Lesenswert?

Einfach weil die Dokumentationen im Verhältnis zu den komplett 
hauseigenen Mikrocontrollern einfach grotten schlecht sind. Ok, wird 
etwas durch die Community ausgeglichen, aber wenn man alles aus einer 
Hand findet ist es eben einfacher.

von Dipl.-Ing. (Gast)


Lesenswert?

Alex schrieb im Beitrag #2357228:
> Ein Kurs allein bringt dir gar nichts!
>
> 1)Erstmal die Programmiersprache C lernen -> BÜCHER + Programmbeispiele
> aus  Büchern am PC selbst durcharbeiten!
>
> 2)uC Programmierung allg. und dabei fängt man NICHT mit ARM an!

zu 1.) war nicht seine Frage

zu 2.) war auch nicht seine Frage

Alex schrieb im Beitrag #2357249:
> Unsinn! Sagt jeder, der schon beides kann!

3.) kann man auch einen höflicheren Ton anschlagen

von Dipl.-Ing. (Gast)


Lesenswert?

Alex schrieb im Beitrag #2357279:
> Außerdem kann nur sehr selten jmd. behaupten, dass er mit ARM in die uC
> Programmierung eingestiegen war, deshalb auch Unsinn.

Tja, nur wo steht was von "Einstieg"?

Und bekommst du einen guten Kurs, kannst du sogar auf dem ARM das 
Schwimmen lernen. Nimmst du eben einen 7er mit Beispielcode und fängst 
klein an. Sehe ich kein Problem.

von ET-Tutorials (Gast)


Lesenswert?

Zum C lernen ist vielleicht der erste Teil meines VIDEO-Kurses etwas für 
Dich.
http://ET-Tutorials.de/Mikrocontroller

von Matze T. (gruetzwurschd)


Lesenswert?

Es ist schon komisch wieviel manche leute in sachen hinein 
interpretieren und somit ganze threads versauen.

Erstens hat Drumstick nichts davon gesagt ob er C kann oder nicht. auch 
hat er nicht gesagt ob er schon mit µC gearbeitet hat.

Er hat lediglich gefragt ob jemand einen guten kurs für Arm's mit C 
kennt.

Ob er nun schon quadcore Prozessoren in assembler programmiert hat oder 
8-bitter in JAVA ( das ist jetzt rein fiktiv und überspitzt dargestellt) 
ergibt sich dem Leser aus der Frage, die er gestellt hat nicht.

Und eine anständige Antwort auf SEINE Frage hätte mich auch 
interessiert!

von Dipl.-Ing. (Gast)


Lesenswert?

Alex schrieb im Beitrag #2357309:
> Alles sinnlos, was wir hier schreiben, solange der Threadsteller nicht
> seine schon vorhandene Kenntnisse rausrückt.

Wir?

Einfach auf seine Frage antworten, dazu muss er seinen Kenntnisstand 
nicht offenbaren.

von Dipl.-Ing. (Gast)


Lesenswert?

Tarkan D. schrieb:
> Es ist schon komisch wieviel manche leute in sachen hinein
> interpretieren und somit ganze threads versauen.
>
> Erstens hat Drumstick nichts davon gesagt ob er C kann oder nicht. auch
> hat er nicht gesagt ob er schon mit µC gearbeitet hat.
>
> Er hat lediglich gefragt ob jemand einen guten kurs für Arm's mit C
> kennt.
>
> Ob er nun schon quadcore Prozessoren in assembler programmiert hat oder
> 8-bitter in JAVA ( das ist jetzt rein fiktiv und überspitzt dargestellt)
> ergibt sich dem Leser aus der Frage, die er gestellt hat nicht.
>
> Und eine anständige Antwort auf SEINE Frage hätte mich auch
> interessiert!

Full ACK.

von Ma B. (drumstick)


Lesenswert?

C-programmieren kann ich eigentlich schon. Habe vor einiger Zeit mit dem 
PIC18F240 gearbeitet. Dann war ich 3 Jahre weg und nun heisst der 
aktuelle Prozessor STM32F103. Ausserdem bin ich extrem bissig im Lernen, 
wenn ich etwas möchte erreiche ich es meistens auch. Nur mit 
Selbststudium schaff ich es allerdings nicht. Möchte auch eine gewisse 
Qualität erreichen. Aber das ist für euch nicht von Bedeutung. Arbeitet 
Ihr eigentlich beruflich auch auf diesem Gebiet??

Habe mir die Links angeschaut, vielen Dank!

Gruss!

M.B.

von Dipl.-Ing. (Gast)


Lesenswert?

M. B. schrieb:
> Nur mit
> Selbststudium schaff ich es allerdings nicht

Es ist noch kein Meister vom Himmel gefallen. Kurse für 32-Bitter sind 
i.d.R. seltener als für 8-Bitter, die Anbieter gehen bei letzteren von 
Einsteigern in µC-Programmierung aus, weshalb sie eben zahlreicher 
vorhanden sind.

Kurse für 32-Bitter habe ich irgendwo schon einmal in Online-Portalen 
von Fachzeitschriften der Industrie entdeckt. Der Kollege oben hat dir 
ja Links genannt. Schau auch mal bei elektroniknet.de vorbei.

Alex dummen Kommentar solltest du überlesen, ist nicht der erste, der 
von ihm kommt. Merke: wer nichts kann, tobt sich in der Anonymität mit 
unsachgemäßen Kommentaren aus - und offenbart die eigenen Schwächen.

Kurse sind auch für erfahrene Leute sinnvoll, wenn ein Schnelleinstieg 
in andere Bereiche nötig ist und der Mehraufwand an Zeit das 
Selbststudium nur begrenzt zulässt.

Also,
schönes WE.

von Martin M. (capiman)


Lesenswert?

Vielleicht wäre auch eine Art Einzel-Unterricht eine sinnvolle Sache.
Ja nach Lust, Laune und Vorkenntnisse könntest Du mit dem Selbst-Studium
loslegen, hast aber immer jemand an der Hand, wenn Du auf Probleme
oder unverständliche Bereiche triffst. Oder auch wenn du erst einmal
eine grobe Einführung benötigst...

Wo benötigst Du die Hilfe örtlich ? Oder reicht Dir Hilfe per Email,
Telefon, Videokonferenz / Skype o.ä. ?
Soll die Hilfe z.B. in 3 Tage durchgezogen sein oder
wäre Dir es Dir z.B. lieber, wenn Du jede Woche x Stunden dafür 
aufwenden
kannst, weil der sonstige Job es nicht anders zulässt ?
Wärst Du (oder deine Firma) bereit, Geld dafür auszugeben
oder erwartest Du kostenlose Hilfe ?

Ich könnte mir (je nach Randbedingungen) durchaus vorstellen,
dass ich Dir weiterhelfen kann, schreib mir eine Nachricht,
dann können wir Details klären.

von Ma B. (drumstick)


Lesenswert?

Hey nicht streiten!! Es sollte Möglichst schnell gehen. Nicht 
unrealistisch, aber doch bis im März oder mitte Jahr! Dies sollte 
Möglich sein?! Danke für die Tipps!

von Mark B. (markbrandis)


Lesenswert?

M. B. schrieb:
> C-programmieren kann ich eigentlich schon.

Eigentlich? ;)

Also wenn Du keine Probleme damit hast, C-Code von anderen zu lesen und 
zu verstehen und selbst auch schon diverse tausend Zeilen Code 
geschrieben hast, sehe ich da von der Programmiersprache her schon mal 
kein größeres Problem.

> Habe vor einiger Zeit mit dem
> PIC18F240 gearbeitet. Dann war ich 3 Jahre weg und nun heisst der
> aktuelle Prozessor STM32F103. Ausserdem bin ich extrem bissig im Lernen,
> wenn ich etwas möchte erreiche ich es meistens auch. Nur mit
> Selbststudium schaff ich es allerdings nicht.

Warum nicht? Es gibt doch auch ARM Tutorials im Web. Oder ist das 
Projekt so anspruchsvoll und Du sollst aus der Hardware das Letzte 
herausholen - dann kann auch eine teure (sind sie meistens) Schulung 
sich entsprechend lohnen.

von Dipl.-Ing. (Gast)


Lesenswert?

M. B. schrieb:
> Hey nicht streiten!! Es sollte Möglichst schnell gehen. Nicht
> unrealistisch, aber doch bis im März oder mitte Jahr! Dies sollte
> Möglich sein?! Danke für die Tipps!

Nein, nicht streiten. Alex' Kommentare sind wie in allen anderen Threads 
im Ton daneben und an der Fragestellung vorbei. Trolle, die mit 
unsachgemäßen Beiträgen, die jeden Thread versauen. Einfach ignorieren.

Egal,

bis März, nun ja, das hängt davon ab, was du mit dem ARM machen willst. 
Ein Kurs kann dir zwar den Einstieg erleichtern, du kannst auch Fragen 
stellen und dich mit anderen austauschen, aber irgendwo sind da 
natürlich Grenzen gesetzt, ab denen du selbst schwimmen musst.

Soll das Projekt mit oder ohne OS laufen? Das ist ein entscheidender 
Unterschied, denn die Implementierung mit OS ist etwas ganz anderes als 
ohne, wo du die Peripherie des Controllers direkt anprogrammierst. Mit 
OS sollte es schon ein ARM mit MMU sein, z.B. ARM9, wo du dann auf der 
einen Seite das OS kennen musst, auf der anderen Seite aber auch die 
Schnittstellen zur Controller-spezifischen Hardware. Für den Einstieg 
mit ARM wäre das viel Stoff auf einmal.

Ich nutze den ARM7 mit YAGARTO und JTAG-Anbindung. Zugang durch 
Selbststudium vor einigen Jahren. Denke, da hat Mark recht, es ist nicht 
so schwer, dass du es nicht selbst schaffen könntest. Einen Kurs kannst 
du ja noch parallel laufen lassen, oder nachholen, wenn du überhaupt 
nicht klarkommst. Denn die Hardware ist nicht so teuer, dass du groß 
Geld in den Sand setzt, das teuerste wird der Kurs sein.
Die Schwierigkeit liegt am Anfang eher im Zusammenstellen der Toolchain 
und die Anpassung an das spezifische ARM-Derivat. Wenn's dann mal läuft, 
ist die Arbeit mit ARM auch keine heilige Kuh. Außerdem kannst du dir 
über das Embedded Journal auch manches Tips holen.
Hilfe bekommst du hier ja auch noch, von Trollerei mal abgesehen.

Lass dir Mark's Überlegung mal durch den Kopf gehen, den Kurs kannst du 
ja ebenfalls belegen. Vielleicht ist die Kombination aus beidem für dich 
der optimale Zugang?!

Gruß

von W.S. (Gast)


Lesenswert?

M. B. schrieb:
> Hey nicht streiten!! Es sollte Möglichst schnell gehen.

Dann drucke dir die Beschreibung des ARM7-Prozessors von ARM und die 
User-manuals einiger einschlägiger kleinerer ARM-Controller aus und zieh 
sie dir rein - abends bei ner kleinen (!) Flasche Rotwein. Selber lernen 
macht klug.

Ich lebe so ähnlich schon seit Jahrzehnten, als Entwickler ist man eben 
sowas wie Robinson - nämlich mit seinen Problemen allein auf der Insel. 
Und wenn man sich nicht abends selbst 'beschläut' und durchbeißt, dann 
wird nix.

Soll mir bloß keiner kommen und sagen, Schulungen seien das große 
Heilmittel. Vielleicht helfen sie ja hie und da, wenn eigentlich schon 
ein Grundstock an eigenem Können da ist, aber allzu oft sind sie nur ne 
andere Art Dienstreiseurlaub.

W.S.

von (prx) A. K. (prx)


Lesenswert?

W.S. schrieb:

> Soll mir bloß keiner kommen und sagen, Schulungen seien das große
> Heilmittel. Vielleicht helfen sie ja hie und da, wenn eigentlich schon
> ein Grundstock an eigenem Können da ist, aber allzu oft sind sie nur ne
> andere Art Dienstreiseurlaub.

Wenn man jemanden, der schon etliche Architekturen gut kennt, in eine 
Schulung einer weiteren Architektur steckt, dann ist wahlweise dieser 
genervt, weil er beim Teil "ab Adam und Eva" einschläft, oder er nervt 
die übrigen Anwesenden mit für diese unverständlichen 
"Privat"-Diskussionen mit dem Vortragenden (um nicht einzuschlafen). So 
jemand ist besser beraten, den Kram selbst mal durchzuarbeiten. Vieles 
kennt er irgendwie schon unterer anderem Namen und etwas anders gemixt.

Anders sieht es aus, wenn die Schulung an den Grad der Vorkenntnisse 
angepasst ist. Was typischerweise dann zutrifft, wenn davon eher wenig 
vorhanden sind, da Schulungen, die in grösserer Runde stattfinden, oft 
eben davon ausgehen. Banal: Von dieser Art Kundschaft gibts halt mehr. 
Und von den dafür "geeigneten" Schulungskräften auch.

von W.S. (Gast)


Lesenswert?

Mich erinnert das an einen Ausspruch eines ehemaligen Mitarbeiters: "Tut 
mir leid, aber darauf bin ich nicht geschult worden" - und das in der 
Entwicklung.

Also.. Ich bin ja eigentlich nicht abgeneigt, mir auch mal nen bunten 
Tag zu gönnen mit belegten Brötchen und lauwarmen Wienerle in der Pause, 
aber es ist mir zu doof, irgendwelchen PC-Kindern auf'm Beamer 
zuzugucken, wie sie in der IDE auf den Make-Knopf drücken und 
anschließend stolz vortragen, daß jetzt nun das vorbereitete Demoprojekt 
fertig sei. So vor Jahren gesehen bei Renesas - danke, dafür ist mir 
meine Zeit zu schade.

Und.. der Urheber dieses Threads würde bei SOWAS auch bloß nix an 
geistigem Zugewinn mit nach Hause nehmen. Bloß sein Chef darf 299,- plus 
MwSt für die o.g. Brötchen berappen. (ach ja und für die Wienerle)

W.S.

von Frank K. (fchk)


Lesenswert?

M. B. schrieb:
> C-programmieren kann ich eigentlich schon. Habe vor einiger Zeit mit dem
> PIC18F240 gearbeitet. Dann war ich 3 Jahre weg und nun heisst der
> aktuelle Prozessor STM32F103. Ausserdem bin ich extrem bissig im Lernen,
> wenn ich etwas möchte erreiche ich es meistens auch. Nur mit
> Selbststudium schaff ich es allerdings nicht. Möchte auch eine gewisse
> Qualität erreichen. Aber das ist für euch nicht von Bedeutung. Arbeitet
> Ihr eigentlich beruflich auch auf diesem Gebiet??

Die Frage dabei ist: Wo liegt Dein Problem?
- Die Sprache C an sich? Wohl eher nicht, wenn ich das so sehe.
- Die Entwicklungsumgebung? Ja, da gibts viele.
- Der CPU-Kern? Der ist bei C-Programmierung relativ unwichtig. Ob Du 
jetzt nun einen ARM oder einen MIPS oder einen PPC-Kern vor Dir hast, 
wirst Du beim C-Programmieren nicht merken.
- Die Peripherie, Interrupts,...? Ja das ist ohnehin bei jedem ARM 
komplett unterschiedlich. Wenn Du einen STM32 hast, wird Dir ein 
ARM-Kurs mit NXP-Chips nix nützen, weil das dort mit den IO-Ports, 
Timern, UARTs etc wieder ganz anders geregelt ist.

So, wo genau ist jetzt Dein Problem?

fchk

von Ma B. (drumstick)


Lesenswert?

Morgen!


@ Frank K.

Das Problem ist die Peripherie, Interrupts und so weiter! Ich kenne die 
ARM STM32F103 / STM32F107 Periepherie noch nicht so gut.


@Alex

Ich habe gesagt, dass es nur mit Selbststudium in der der Zeit, in der 
ich den Einstig schaffen muss, nicht reitcht. Ich habe niergends 
erwähnt, dass ich nichts selber machen möchte. Auf Deine Kommentare 
können wir wirklich verzichten. Ich meine schön, wenn Du ein super 
schlauer Fuchs bist, der alles begreift und sich alles selber 
beigebracht hat. Aber jeder Mensch ist verschieden und sucht sich sein 
eigener Weg. Manchmal holt man sich eben Tipps von anderen, um zu 
erfahren welche Wege es gibt. Schön, dass Du dein Weg gefunden hast.


@All

Ich bin mir sicher, dass nichts falsch daran ist, wenn ich interesse 
habe,etwas Neues zu lernen und dies seriös mit einer Schulung UND 
Selbststudiu machen möchte. Das ist definitive mein Anspruchvollstes 
Projekt und ich bin auch bereit viel dafür zu tun. ich bin aber auch 
intelligent genug, um sagen zu können, wenn ich Hilfe benötige. Nicht 
alle begreifen Alles gleich schnell.

Ich danke für die Hilfe, Links und Ratschläge. Ich habe zwei Kurse, die 
ich mir genauer anschaue. Und jetzt ist wieder Zeit fürs Selbststudium 
:-)

Danke und Gruss!

von Dipl.-Ing. (Gast)


Lesenswert?

Guten Morgen,

M. B. schrieb:
> Ich bin mir sicher, dass nichts falsch daran ist, wenn ich interesse
> habe,etwas Neues zu lernen und dies seriös mit einer Schulung UND
> Selbststudiu machen möchte.

Natürlich nichts Falsches daran.


Ignorier das dumme Gerede einfach, hat eh nichts mit deiner 
Ausgangsfrage zu tun.

Und eines ist wohl selbstverständlich: eine Schulung ist und bleibt eben 
immer nur eine Schulung, gehen muss man immer alleine, und dazu war und 
ist schon immer selbstständiges Arbeiten erforderlich bzw. gewesen.

Ich habe mich in den letzten 30 Jahren bis heute immer selbstständig in 
diverse Prozessoren bzw. Controller und DSPs eingearbeitet. Was immer 
eine wichtige Rolle spielte, war die Zeit, die dazu zur Verfügung 
stand/steht. Brauchst du schnellen Zugang, kann eine Schulung als 
Beschleuniger hilfreich sein, mehr ist sie auch nicht.

Damals im Automotive brauchten meine Kollegen LABVIEW zur Ansteuerung 
unserer Testumgebung, die über die Jahre sehr umfangreich geworden war. 
Um bei allen Kollegen die gleiche Basis zum späteren Wissensaufbau zu 
garantieren, wurde inhouse eine 3-wöchige Schulung abgehalten.

Unterlagen zum späteren Nachschlagen, ein Tutor, dem man Fragen stellen 
konnte und Kollegen, die ja anschließend ebenfalls über Fachwissen 
verfügten, sind Gründe, die neben dem zeitlichen Aspekt sehr wohl für 
eine Schulung sprechen. Das man danach selbstständig weitermachen muss, 
sollte hier erst gar nicht zur Diskussion stehen.

Deshalb sind eben Kommentare wie "Gute Nacht" usw., weil man nicht 
alleine von Anfang an startet, einfach nur dumm und zeugen von wenig 
Praxiserfahrung.

Der Eine so, der Andere eben anders, also alles keine Problem.

von Frank K. (fchk)


Lesenswert?

M. B. schrieb:

> @ Frank K.
>
> Das Problem ist die Peripherie, Interrupts und so weiter! Ich kenne die
> ARM STM32F103 / STM32F107 Periepherie noch nicht so gut.

Die Peripherie hat NIX mit ARM zu tun. ARM ist nur der nackte 
Prozessorkern. Bei ARM7/9/11 ist nicht mal der Interruptcontroller Teil 
der ARM-Architektur. Bei den Cortex-Teilen ist wenigstens der 
Interrupt-Controller und ein Systick-Timer Teil des von ARM lizensierten 
Cores.

Du hast also kein ARM-Problem, sondern ein STM32-Problem.

Du kennst die Peripheriebibliotheken von STM? Die kannst Du Dir 
runterladen und benutzen und hast somit schon alle Treiber für Deine 
Peripherie da. Die Implementation ist nicht immer ganz optimal, deckt 
aber sehr vieles ab. Damit solltest Du schnell zum Ziel kommen.

fchk

von Michael K. (Gast)


Lesenswert?

Random ... schrieb:
> www.doulos.com in Hannover macht ARM Kurse auch für Microcontroller.

Weisst Du näheres über die Kursekosten oder ob die Kurse auf Englisch 
oder auf Deutsch gehalten werden?

Gruß Michi

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

Michael K. schrieb:
>> www.doulos.com in Hannover macht ARM Kurse auch für Microcontroller.
>
> Weisst Du näheres über die Kursekosten oder ob die Kurse auf Englisch
> oder auf Deutsch gehalten werden?

Kurse in DE werden üblicherweise auch auf deutsch gehalten, falls ein 
deutschsprachiger Trainer verfügbar ist. Sollte einer Teilnehmer die 
englische Sprache bevorzugen, dann werden die bereits angemeldeten 
Teilnehmer gefragt ob Sie damit einverstanden sind, dass die Kurssprache 
Englisch ist.

Zu den Kosten, bitte an unseren Vertrieb wenden.

Gruß
Marcus

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.