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 User
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
@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.
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
@Volle Das klingt sehr interessant. Ist das nicht für fortgeschrittene Entwickler? Hast du vielleicht dieses Kurs besucht? Danke
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
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.
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 ...
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.