Forum: Ausbildung, Studium & Beruf C++ schulung für embedded


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von DanielBerlin (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Hallo alle zusammen,

mein Arbeitsgeber möchte mir eine Programmierkurs für Embedded C++ 
bezahlen, aber ich soll mir selbst eins finden.
Zu meinem Person:
Dip Ing ET aber hauptsächlich fast nur Java ,Qt, C++ (Visual Studio 
2008-2015) und Labview.
In Embedded Bereich habe ich nur kleine Projekte (Pic 8 Bit oder AVR 8 
Bit) gemachte. Dazu habe ich auch meinem Diplomarbeit in Emebedded 
Bereich gemacht(Es ist schon lange her (2008)).
In Embedded habe ich mich ne wirklich 100% sicher gefühlt deswegen suche 
ich mir auch eine Schulung in diesem Bereich.

Die Frage: Warum den C++ (Embedded)?
In C++ bin ich seit Jahren und fühle ich mich auch sicher und ich denke 
was man mit C programmieren kann, könnte es auch in C++ gemacht werden.
C++ lässt sich besser warten und erweitern im gegensatz zu C.

Des weiteren möchte ich auch von meinem C++ wissen Nutzen.

Kann mir jemend einen Tipp geben?

Danke
Daniel

: Verschoben durch Moderator
von M.K. B. (mkbit)


Bewertung
1 lesenswert
nicht lesenswert
Hallo DanielBerlin,

ich bin selbst C++ Entwickler, wobei ich beruflich nicht auf Embedded 
Systemen arbeite, aber trotzdem Performance kritische Anwendungen habe. 
Privat habe ich schon an Atmega und ARM gebastelt und erfolgreich C++ 
verwendet.

Ich bin auch deiner Meinung, dass wenn man C++ kann, es auch im Embedded 
Bereich gut anwenden kann. Allerdings kann es sein, dass ein Embedded 
Compiler kein C++ unterstützt oder der Startup Code nicht C++ konform 
ist. Dann kann es passieren, dass Konstruktoren von statischen Variablen 
nicht aufgerufen werden (die Suche macht dann richtig Spaß).

Zu dem Thema hatte ich in München die Schulung "Design Patterns Schulung 
(nicht nur) für Embedded-Systeme" bei MicroConsult. In der Schulung 
wurde besonders auf die Kosten für Speicher und Laufzeit eingegangen, 
also im Prinzip das was bei C++ unter der Haube passiert.
Im Prinzip erklärt die Schulung aber nur, was Patterns in Embedded 
kosten und man kann dann selbst entscheiden, ob es das einem Wert ist. 
Wenn du allerdings eine Schulung suchst, die dir sagt, wie man C++ auf 
einen Mikrocontroller bringt, dann ist die Schulung die falsche.

Grüße
MKB

von S. R. (svenska)


Bewertung
2 lesenswert
nicht lesenswert
@Daniel: Deine Rechtschreibung ist... interessant und lässt auf 
mangelnde Sorgfalt beim Schreiben schließen. Nur so als Hinweis.

M.K. B. schrieb:
> Wenn du allerdings eine Schulung suchst, die dir sagt, wie man C++ auf
> einen Mikrocontroller bringt, dann ist die Schulung die falsche.

Naja, Daniel sagt ja, er könne schon C++. Viel wichtiger wäre da 
vermutlich eine Schulung, die vermittelt, wie man C++ auf einem 
Mikrocontroller nicht macht (und warum). An "den einen richtigen Weg" 
glaube ich nicht.

von Mark B. (markbrandis)


Bewertung
0 lesenswert
nicht lesenswert
DanielBerlin schrieb:
> mein Arbeitsgeber möchte mir eine Programmierkurs für Embedded C++
> bezahlen, aber ich soll mir selbst eins finden.

> Kann mir jemend einen Tipp geben?

Guckst Du hier:

http://www.hilf.de/schulung.aspx

von Volle (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von DanielBerlin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
@Volle

Das klingt sehr interessant.
Ist das nicht für fortgeschrittene Entwickler?

Hast du vielleicht dieses Kurs besucht?


Danke

von J.R.B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
ich hab da eine Veranstaltung in Löbau besucht (Geheimtipp)... da gibt's 
ne Durchführungsgaranie LOL ... wir waren damals zwei, das war praktisch 
ne Individualschulung :-o ... alles in C++ und dann auch direkt mit UML 
programmieren wenn gewünscht


http://shop.mymcu.de/?sp=schulungen.sp.php



LG

von DanielBerlin (Gast)


Bewertung
0 lesenswert
nicht lesenswert
und wie ist dein Feadback?

von Cyblord -. (cyblord)


Bewertung
-3 lesenswert
nicht lesenswert
DanielBerlin schrieb:
> und wie ist dein Feadback?

Er kann jetzt mit UML programmieren....

von Nop (Gast)


Bewertung
1 lesenswert
nicht lesenswert
DanielBerlin schrieb:
> In Embedded habe ich mich ne wirklich 100% sicher gefühlt deswegen suche
> ich mir auch eine Schulung in diesem Bereich.

Es gibt halt etliche Dinge, die man embedded vermeiden sollte, darunter 
ist im Normalfall auch alles, was mit dynamischer Speicherverwaltung zu 
tun hat. Initialisierung bei Allokation kann auch Probleme machen. 
Exceptions sind auch nicht sonderlich beliebt.

Zudem kann man nicht erwarten, daß jeder Compiler den neusten Standard 
unterstützt - schon deswegen nicht, weil man oftmals uralte Compiler 
einsetzt, deren Code aber praxiserprobt ist.

Da C++ als Konzept hat, eine Menge compilermagic zu veranstalten (nichts 
anderes ist die höhere Abstraktion ja), muß man eben diesen ganzen 
Abstraktionsweg zu Fuß nachvollziehen und eben nicht nur wissen, wie man 
was macht, sondern auch, was genau am Ende der Kette wie umgesetzt wird 
und was das kostet. API-Kleber-Entwicklungsstil reicht da nicht. Und wie 
man Dinge, die man auf dem PC so machen würde, aus Ressourcengründen auf 
einem Controller anders macht.

Angesichts des Grundprinzips von C++, daß man nicht bezahlt, was man 
nicht benutzt (bis dahin, daß man sich auf C beschränken kann), läuft es 
vor allem darauf hinaus, daß man weiß, was man meiden sollte. 
Normalerweise ist embedded C++ nicht allzuviel mehr als "C mit Klassen".

Andererseits gibt's ja embedded auch Systeme etwa mit Cortex-A, wo ein 
ausgewachsenes Linux drauf läuft, da gelten solche Beschränkungen dann 
nicht mehr so.

Zudem könnte ein embedded-Seminar auch noch Sachen vorstellen wie IO, 
Interrupts (mitsamt Datenhandling zwischen Interrupts und Applikation), 
Linkerscripte für die Speicherzuteilung und so. Anders als beim PC hat 
man oftmals nicht einen linearen Adreßraum, sondern muß selber Variablen 
und u.U. sogar Code platzieren.

von Wilhelm M. (wimalopaan)


Bewertung
1 lesenswert
nicht lesenswert
Ich denke, man muss sich schon die potentielle Schulung genau ansehen, 
denn mit C++17 hat man doch einige wichtige features für Embedded-C++ 
bekommen. Und das ist in so mancher Schulung einfach noch nicht drin. 
Ein Kurs mit dem alten EC++ scheidet deswegen schon mal aus (das war 
oben wohl mal erwähnt worden)

Wer jedoch von sich meint, er könne C++ (und das schließt jetzt hier 
extensive C++-Template-Meta-Programmierung ein), der kann sich auch 
anhand einiger guter Online-Beiträge die notwendigen Ideen und Tipps 
holen. Es ist mit einem fundierten C++-Wissen nicht so schwer, ggf. nur 
ungewohnt.

Schwieriger finde ich die Frage, ob man alles selbst erstellt oder auf 
irgendeiner bestehen Bibliothek aufsetzt. Das hängt aber auch sehr von 
der/den Zielplattform/en ab.

Man muss aber nicht alles komplett auf den Kopf stellen: hier im Forum 
sieht man immer wieder Beiträge der Programmierung in C, in denen Leute 
Probleme haben, die sie in C++ einfach nicht hätten (oft betrifft es den 
Umgang mit Arrays und Strings, aber auch Code-Struktur und 
Wiederverwendbarkeit).

Summa summarum: in meinen Augen lohnt der Umstieg auf jeden Fall, auch 
wenn es kein radikaler sondern ein schrittweiser ist ...

von J.R.B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Feedback? ... ich hab da leider keine Vergleichsmöglichkeit aber die 
Jungs machten einen kompetenten Eindruck und sind sehr bereitwillig auf 
individuelle Fragen und Problemstellungen eingegangen... Ich hatte meine 
eigene Schaltung mit und flups hat der Dozent noch einen Kollegen (war 
wohl mehr der Elektroniker) ran geholt und wir haben zu dritt drüber 
geschaut was da los ist... Der erste Tag waren Grundlagen in C wie die 
hier auch in den Tutorials beschrieben sind. Vorteil ist meiner Meinung 
nach, dass man in einer Schulung jemanden hat der einem über die kleinen 
Denkblockaden weg hilft ;-) Leider werden "dumme" Fragen im Netz all zu 
oft mit dem Wegweiser ins Tut beantwortet aus dem man ja gerade mit der 
Frage kam :-/ Jemanden an der Seite zu haben der einem das plausibel 
erklärt beschleunigt die Lernkurve enorm. Der zweite Tag war dann die 
objektorientierte Geschichte vor allem mit UML. Ehrlich gesagt ist das 
schon beeindruckend was man mit dieser Vorgehensweise in kurzer Zeit 
schaffen kann. Was den Ressourcenverbrauch betrifft gilt das oben 
geschriebene, man muss halt wissen was man tut und wenn man den Komfort 
eine String-Klassen nutzen möchte sollte einem klar sein dass man sich 
da memalloc mit einhandelt LOL ...  Also ich bin mit positiven Gefühlen 
in meinen Zug zurück gen Westen gestiegen :-D

LG

von Melih Alkan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
I am working in Germany since 6 months. I would like to attend an 
Embedded Programming Training. Since my German language skills have not 
developped enough to follow a technical training in German language, I 
am looking for such a course in English.

Therefore could you please advice to me any Embedded Programming 
Training in English given in Germany (much better) or in other European 
country. Unfortunately, up to know I have not come across any.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.