Guten Abend, kommenden Februar soll ich intern auf eine Stelle in der hardwarenahen Entwicklung wechseln. Ich habe einen M.Sc. in Informatik und bin bereits 2 Jahre in der C/C++ Entwicklung tätig, auch relativ tiefgehend mit Multithreading, SIMD und Just In Time Compilation, jedoch ohne direkten Hardwarebezug. Ich habe nur privat etwas mit einem Arduino und Raspberry Pi hantiert und dort (erfolgreich) ein paar Spielereien mit LEDs/Displays gemacht, ansonsten aber noch keine beruflichen Berührungspunkte mit der Embedded-Entwicklung gehabt, weshalb ich ein wenig "Respekt" davor habe. Der Chef meinte, es könne nicht schaden mich schon mal ein wenig vorzubereiten. Konkret geht es um Firmware für Interfaces von Produktionsmaschinen, die zum Teil mit der Qt-Bibliothek realisiert wird. Was denkt ihr, wie schwer wird die Umstellung von reiner Software-Entwicklung für mich werden und wie kann ich mich am besten vorbereiten? Gruß, Stellenwechsler
Seit wann ist C/C++ eine interpretierte Sprache mit JIT Compiler? Ansonsten, das Thema Laufzeit und Footprint (RAM/ROM) hat in der Embedded Welt eine höhere Bedeutung, ebenso das Zeitverhalten.
Raspberry PI ist im Grunde nichts anderes, als Desktop Programmierung für einen normalen PC. Lediglich, dass dir dir die Möglichkeit gegeben wird, irgendeine Hardware, z.B. i²c oder SPI zusätzlich direkt anzusprechen. Dort wirst du genauso Qt nutzen können mitsamt des GUI Frameworks etc. Das wird sich kaum anders anfühlen. Wenn du hingegen bare metal ARM Mikrocontroller ohne Betriebssystem programmieren musst, dann wirst du deine Denke geringfügig umstellen müssen. Dort kannst du eben kein großes Framework nutzen und hast auch kein Os auf dem du sitzt. C++ ist auch nur äußerst begrenzt sinnvoll (aber das was sinnvoll ist erweitert das klassische C für Mikrocontroller sehr sehr gut). Am Ende ist aber Embedded vielfach leichter, da weniger umfangreich als Desktop Programmierung. So ergeht es mir zumindest. Man muss weniger Umfang bessser/effizienter einsetzen.
Beitrag #6057796 wurde von einem Moderator gelöscht.
Macht die Story Sinn? schrieb: > Seit wann ist C/C++ eine interpretierte Sprache mit JIT Compiler? Ich habe mit C++ und LLVM Code performancekritischen Code generiert. Vorhautsurfer23 schrieb: > Raspberry PI ist im Grunde nichts anderes, als Desktop Programmierung > für einen normalen PC. Lediglich, dass dir dir die Möglichkeit gegeben > wird, irgendeine Hardware, z.B. i²c oder SPI zusätzlich direkt > anzusprechen. Das Raspberry Pi habe ich nur privat benutzt, auf Arbeit werde ich soweit ich informiert bin, sowohl mit Embedded Linux als auch mit Mikrocontrollern arbeiten. Vorhautsurfer23 schrieb: > Am Ende ist aber Embedded vielfach leichter, da weniger umfangreich als > Desktop Programmierung. So ergeht es mir zumindest. Man muss weniger > Umfang bessser/effizienter einsetzen. Das klingt sehr interessant und gut. Danke für die Antworten. Gruß, der echte Stellenwechsler, nicht der unfreundliche Typ über mir.
Beitrag #6057813 wurde von einem Moderator gelöscht.
Ohne tiefergehende Hardware Kenntnisse wird das ehrlich gesagt in die Hose gehen
Beitrag #6057820 wurde von einem Moderator gelöscht.
Solang du keine Hardware selbst entwickeln musst wird sich da nicht viel für dich ändern. Du wirst dann vermutlich eine C Schnittstelle mit entsprechender Dokumentation bekommen. vielleicht musst du auch ein wenig serielle Kommunikation machen aber wenn du schon mit Netzwerken programmiert hast sollte das kein Problem sein.
Stellenwechsler schrieb: > @Wende 2.0 > > Lohnt sich ein Wechsel bei 40k€/a? Wenn es eine Teilzeitstelle ist, dann schon.
Beitrag #6057877 wurde von einem Moderator gelöscht.
Spätestens wenn mal eine Teil von Geräten wegen luschiger
Programmierung zurückgerufen werden muss, wird dich dein
Chef fristlos feuern!
> Arduino und Raspberry Pi
tragen genau gar nichts zu einem Programmierstil bei, der
bei Embedded Systemen nötig ist.
Beitrag #6057996 wurde von einem Moderator gelöscht.
Stellenwechsler schrieb: > Was denkt ihr, wie schwer wird die Umstellung von reiner > Software-Entwicklung für mich werden und wie kann ich mich am besten > vorbereiten? Gar nicht schwierig. Ein halbes Jahr vielleicht etwas mehr Aufwand, aber dann sitzt das. Hardware ist eine echte Herausforderung fuer Softwerker, aber du machst dann ja bloss andere Software.
AffeMitWaffe schrieb: > Gar nicht schwierig. Ein halbes Jahr vielleicht etwas mehr Aufwand, aber > dann sitzt das. Hardware ist eine echte Herausforderung fuer Softwerker, > aber du machst dann ja bloss andere Software. Und wenn er plötzlich Stromlaufpläne lesen können muss und sich mit Bauteilen und deren Hardware-Ansteuerung auseinander setzen darf? Dann werden ihm die elektronischen Kenntnisse fehlen, und die hat man nicht mal eben in ein paar Wochen nebenbei gelernt.
Doch, genau genommen lernt man in 4 Wochen genug, um solche Pläne zu lesen. Man braucht nur jemanden, der es gut erklärt.
Video schrieb: > Doch, genau genommen lernt man in 4 Wochen genug, um solche Pläne > zu lesen. > Man braucht nur jemanden, der es gut erklärt. Na dann ist ja alles easy, wozu überhaupt noch Elektrotechnik studieren?
Beitrag #6058233 wurde von einem Moderator gelöscht.
Hört sich so an, als wenn ein Chef mal wieder einen Dummen gefunden hat, sein Personalproblem zu lösen. Wird nur nicht funktionieren, weil E-Technik ja eine Wissenschaft für sich ist. Stellenwechsler schrieb: > Lohnt sich ein Wechsel bei 40k€/a? Bestandsgehalt oder Zielgehalt? 40k€/a soll wohl ein Witz sein? Das ist Gesellenniveau, aber die haben wenigstens eine Berufsaus- bildung und Praxiserfahrung.
Es geht ganz klar um hardwarenahe Softwareentwicklung. Ich muss weder Schaltpläne lesen noch Hardware selbst entwerfen/bauen, das wurde mir auf Nachfrage bestätigt. Der Post mit den 40k war nicht von mir. Der Wechsel ist nicht wegen Geld. Ich verdiene derzeit 59k all inclusive und bin sehr zufrieden damit.
Stellenwechsler schrieb: > Ich verdiene derzeit 59k all inclusive und bin sehr zufrieden damit. Wohnst du demnach in einer sehr günstigen Region in Deutschland?
Geht so, ca. 900€ Warmmiete im Stuttgarter Speckgürtel. Habe trotzdem keine Geldprobleme.
Dr.Who schrieb: > Hört sich so an, als wenn ein Chef mal wieder einen Dummen gefunden > hat, sein Personalproblem zu lösen. Das ist wieder mal der helle Wahnsinn, was du da von dir gibst. Der TO sieht das als geniale Chance, sich weiterzuentwickeln. Die meisten anderen würden genauso denken. Du siehst jedoch in allem, was Arbeitgeber und Frauen vorschlagen, eine hinterhältige Niedertracht, die es um jeden Preis zu verhindern gilt. So ist natürlich unmöglich, irgendeine Arbeit anzunehmen. Aber was soll ich dir, Michael, da noch erzählen?
Stellenwechsler schrieb: > Geht so, ca. 900€ Warmmiete im Stuttgarter Speckgürtel. Habe > trotzdem > keine Geldprobleme. Angenommen, du hast Steuerklasse I, dann bleiben dir ohne Warmmiete im Durchschnitt gerade einmal 2k € im Monat zur Verfügung. Das ist zwar "ganz okay", aber ich würde mich an deiner Stelle nach lukrativeren Angeboten umschauen, da sollte im Raum Stuttgart deutlich mehr gehen.
Es kommt hier denke ich auf die Größe der Firma an. Bei einer großen Firma bekommt man alles getestet vom Vorgänger inklusive Setup für das Kompilieren. Da hat man nichts direkt mit der Hardware zu tun, da ist der Unterschied zur reinen Softwareentwicklung recht gering. Bei kleineren Firmen ist das komplizierter, da der Hardwareentwickler eng mit dem Firmwareentwickler zusammenarbeiten muss, da kann es sein dass entweder die die Platine einen Fehler hat oder drin Code. Vielleicht ist auch die Pinbelegung etwas anders geroutet worden (bei IOs vom Mikrocontroller ist das oft beliebig und kann angepasst werden, so dass das Routen zu einem Stecker einfacher/besser/schöner wird), und in der Dokumentation verloren gegangen. Da ist es hilfreich wenn man den Schaltplan lesen kann. Dort ist eher das Fehlersuchen das, was nicht so einfach ist. Oft ist auch die Software an sich das kleinere Problem, oft muss man über Schnittstellen andere Mikrocontroller oder Flashs o.ä. programmieren, damit das in der Fertigung auch hergestellt werden kann. Das wichtigste ist meist eh das Timing, hieran scheitert es im Vergleich zur PC-Software gefühlt am meisten.
Qwertz schrieb: > Angenommen, du hast Steuerklasse I, dann bleiben dir ohne Warmmiete im > Durchschnitt gerade einmal 2k € im Monat zur Verfügung. Das ist zwar > "ganz okay", aber ich würde mich an deiner Stelle nach lukrativeren > Angeboten umschauen, da sollte im Raum Stuttgart deutlich mehr gehen. Ich hab hier einen IGM-Vertrag außerhalb der Automobilbranche, 3 Monate Kündigungsfrist und jetzt noch die Chance Erfahrung im Bereich Embedded zu sammeln. Zudem steht nächstes Jahr eine Gehaltserhöhung bevor und ich verstehe mich super mit allen Kollegen. In solch unsicheren Zeiten sehr viel wert, daher kommt kündigen derzeit für mich nicht in Frage, zumal ich nicht glaube mit meinem Profil erheblich mehr verdienen zu können.
Stellenwechsler schrieb: > Ich hab hier einen IGM-Vertrag außerhalb der Automobilbranche, 3 Monate > Kündigungsfrist und jetzt noch die Chance Erfahrung im Bereich Embedded > zu sammeln. Zudem steht nächstes Jahr eine Gehaltserhöhung bevor und ich > verstehe mich super mit allen Kollegen. In solch unsicheren Zeiten sehr > viel wert, daher kommt kündigen derzeit für mich nicht in Frage, zumal > ich nicht glaube mit meinem Profil erheblich mehr verdienen zu können. Das geht schon in Ordnung, wenn du damit zufrieden bist. Ich wäre es nicht, aber da ist ja jeder anders. Auch wenn es abgedroschen klingt: Geld ist natürlich nicht alles im Leben. Außerdem kenne ich dein Profil und deinen Lebenslauf natürlich nicht, vielleicht geht da wirklich nicht viel mehr. Aber man liest hier immer wieder, dass insbesondere Wechsel zu anderen Unternehmen die höchsten Steigerungen im Gehalt gebracht haben.
Kriseninterventionsspezialist schrieb: >> Arduino und Raspberry Pi > tragen genau gar nichts zu einem Programmierstil bei, der > bei Embedded Systemen nötig ist. Genau so ist es. Eigentlich erschreckend, dass Viele denken, dass "Embedded" nix weiter ist als PC-Programmierung auf Microcontrollern, bloss "ohne Maus". Passt sicher für einen relativ grossen Teil der heutigen Anwendungen. Allerdings werden heutzutage solche Systeme auch oft in extrem unkritischen Anwendungen eingesetzt, bei denen es vor wenigen Jahren entweder zu teuer gewesen wäre oder die Performance damaliger Controller nicht gereicht hätte. Dann wirds natürlich relativ schnell relativ einfach. Das ändert aber nichts an der Tatsache dass im Embeddedbereich diverse Programmiertechniken existieren (und auch, wenn nötig, benutzt werden), die in der "normalen" PC-Programmierung praktisch unbekannt sind. Wie oft muss man den (auch beim Raspi et. al.) nachweisen(!!!) dass das Programm IMMER bestimmte Requirements einhält? Wenn sich auf dem PC/Raspi der Speicher nach 2 Monaten "zugesottet" hat, dann wird die Kiste neu gebootet, notfalls per WD-Reset. Who cares... Das kann bei Reglern in der Verfahrenstechnik aber "interessante" Effekte haben. Ok, das fällt den meisten SW Entwicklern sowieso nicht auf da sie ja meist keine Ahnung von Regelungstechnik haben... Aber eine Produktionsstrasse kann man oft nicht mal einfach für 10 Minuten anhalten... Lass Dir am besten von Deinem Chef mal skizzieren was da genau an Anforderungen auf Dich zukommt und informiere Dich bei zukünftigen Kollegen. Gekocht wird da auch nur mit Wasser. Aber kochen können musst Du trotzdem ;) /regards
Ich als Embedded-SW und auch HW-Entwickler muss bei der Firmware-Entwicklung auch gleich meine HW nachoptimieren. So kann es sein, dass beim differentiellen routen nicht die erforderliche Datenrate erreicht wird, um einen SD-RAM-Bausteine oder sogar DDR4-RAM damit zu betreiben - das Memory-Interface funktioniert gar nicht. Wenn ich jetzt ein reiner SW-Entwickler wäre, würde ich mir einen Wolf suchen, wieso das Programm aufgrund des Speicher-Problems immer wieder einfriert. Ein reiner SW-Entwickler kann daher nur auf erprobter HW programmieren, wo die Treiber und Low-Level-Routinen schon bereit stehen. Aber dann ist er nur ein halber Embedded-SW-Entwickler.
Oft muss man auch die Schwächen der Board-Hardware und deren Anbindungen, die nicht perfekt nach der Theorie funktionieren, in SW ausgleichen. Die VW-Ingenieure die erst den Diesel manipuliert haben und ihn dann wieder per SW in einen Zustand versetzt haben, der der Betriebserlaubnis entspricht, mussten schon gute Kenntnisse in HW und sogar Regelung und Maschinenbau haben.
Beitrag #6058650 wurde von einem Moderator gelöscht.
Beitrag #6058669 wurde von einem Moderator gelöscht.
Beitrag #6058811 wurde von einem Moderator gelöscht.
Ohne Hardware Erfahrung wird das in die Hose gehen, lass es bleiben. Da muss ein gestandener Ingenieure ran, sonst wird das nichts.
Beitrag #6058846 wurde von einem Moderator gelöscht.
Beitrag #6058859 wurde von einem Moderator gelöscht.
Beitrag #6058861 wurde von einem Moderator gelöscht.
Beitrag #6058868 wurde von einem Moderator gelöscht.
Beitrag #6058883 wurde von einem Moderator gelöscht.
Beitrag #6058889 wurde von einem Moderator gelöscht.
Beitrag #6059007 wurde von einem Moderator gelöscht.
Beitrag #6059069 wurde von einem Moderator gelöscht.
Beitrag #6059792 wurde von einem Moderator gelöscht.
Beitrag #6059811 wurde von einem Moderator gelöscht.
Beitrag #6059826 wurde von einem Moderator gelöscht.
Stellenwechsler schrieb im Beitrag #6058889: > Der promovierte Shit, der von den Unis kommt, bestimmt nicht! Der Troll verrät sich. Vorhautsurfer23 schrieb: > von Vorhautsurfer23 (Gast) Was geht jemandem durch den Kopf der so einen Nick benutzt? Wende 2.0 schrieb: > Ohne tiefergehende Hardware Kenntnisse wird das ehrlich gesagt in die > Hose gehen Warum? Du laberst hier doch auch völlig kenntnisfrei herum. Der ganze Thread kann echt weg. Schade um die Beiträge der Leute, die auf den Troll hereingefallen sind und das Thema ernst genommen haben.
Qwertz schrieb: > Na dann ist ja alles easy, wozu überhaupt noch Elektrotechnik studieren? Frage ich mich speziell für den Bereich Hardwareentwicklung auch. Gruß,
Beitrag #6059876 wurde von einem Moderator gelöscht.
Beitrag #6059904 wurde von einem Moderator gelöscht.
Beitrag #6059978 wurde von einem Moderator gelöscht.
Beitrag #6059989 wurde von einem Moderator gelöscht.
Beitrag #6060026 wurde von einem Moderator gelöscht.
Beitrag #6060045 wurde von einem Moderator gelöscht.
Nickless schrieb: > Ich als Embedded-SW und auch HW-Entwickler muss bei der > Firmware-Entwicklung auch gleich meine HW nachoptimieren. Ein guter Embedded Softwareentwickler muss beides verstehen. SW und HW. Er muss wissen welche Teile des Embedded Systems in HW und welches in SW zu "Gießen" sind. Komplexes in SW, zeitkritisches in HW abbilden. Auf den richtigen Schnitt kommt es an. Fazit, ein guter Embedded SW Entwickler muss ein guter Embedded Sostemdesigner sein.
Beitrag #6060141 wurde von einem Moderator gelöscht.
GEKU schrieb: > Fazit, ein guter Embedded SW Entwickler muss ein guter Embedded > Sostemdesigner sein. Hier wurde aber behauptet, dass man sich die paar elektrotechnischen Kenntnisse für einen Embedded Entwicklungsingenieur in ein paar Wochen nebenbei reinziehen kann, also genügt wohl auch ein Programmierkurs von der Volkshochschule, vielleicht gibt es das ja auch als Telekolleg-Kurs.
Beitrag #6060524 wurde von einem Moderator gelöscht.
Beitrag #6060530 wurde von einem Moderator gelöscht.
Vorhautsurfer23 schrieb: > Am Ende ist aber Embedded vielfach leichter, da weniger umfangreich als > Desktop Programmierung. So ergeht es mir zumindest. Man muss weniger > Umfang bessser/effizienter einsetzen. Aha. Also unsere Kunden wollen das der kleine CM4 genau die selbe Performance erreicht wie ihr Desktop-PC und. Kann ja nicht sein das der nicht 100MBit Datenrate für das Kundenprotokoll schafft - der PC kann das doch auch. Dazu parallel natürlich noch die Echtzeitanforderungen an die eigentliche Aufgabe des Systems, Zykluszeiten im 250µs Bereich, Jitter < 10µs. Das können normale PC Betriebssysteme gar nicht leisten, die meiste PC Hardware auch nicht. (Ich sag nur SMI...) Neben der Hauptaufgabe (Industriekommunikation) müssen natürlich Webserver, SSL, Zertifikatverwaltung, diverse Diagnoseschnittstellen, Virtuelle Netzwerkschnittstellen mal eben so mit abgefrühstückt werden. Achja, mehr als 10 Euro darf es pro Stück natürlich auch nicht kosten. In solchen spezialisierten Systemen kann eine einzige falsche Codezeile, z.B. ein unbedachter Mutex oder ein unbedachter Hardwareregisterzugriff zu Auswirkungen in ganz anderen Teilen der Gesamtsoftware führen. Die Kernspezifikation des Protokolls mit dem ich mich beschäftige hat übrigens über 3000 Seiten. Dazu kommen noch diverse andere IEC Normen, RFCs und Anwendungsprofile die es zu beachten gibt. Ich tue mich daher schwer damit Embedded-Entwicklung als "Einfacher" und "Überschaubarer" als Desktop-Entwicklung zu bezeichnen. Nickless schrieb: > Oft muss man auch die Schwächen der Board-Hardware und deren > Anbindungen, die nicht perfekt nach der Theorie funktionieren, in SW > ausgleichen. Ja das kenne ich auch.
Beitrag #6060823 wurde von einem Moderator gelöscht.
Beitrag #6060858 wurde von einem Moderator gelöscht.
Embedded wie den den Raspberry Pi programmiere ich zum Frühstück
Leute niemand hat was von Entwicklungsingenieur gesagt. Es geht um Software, die Hardware anspricht, nicht mehr, nicht weniger.
Stellenwechsler schrieb: > Es geht ganz klar um hardwarenahe Softwareentwicklung. Nach meiner Erfahrung tun sich klassische SW-Entwickler mit einem grundsätzlichen Unterschied schwer: Wenn eine Desktop-Anwendung einen Bug hat, spielt man übers Netz ein Update ein und gut ist es. Bei einem embedded System kann es durchaus sein, daß es keine Möglichkeit eines Updates gibt. Dann muss die Software funktionieren. Immer. > Ich muss weder > Schaltpläne lesen noch Hardware selbst entwerfen/bauen, das wurde mir > auf Nachfrage bestätigt. Wenn da nicht so Dinge passieren wie "Relais 1 ist an GPIOxyz" und Du nicht weisst, ob das Relais bei "0" oder "1" schaltet, der PWM-Ausgang invertiert wurde, etc. kann das klappen. Aber sobald mal etwas nicht funktioniert, kann es extrem hilfreich sein, einen Schaltplan lesen zu können. Da war mal diese "Netzspannung ist an" mit Optokoppler an GPIO-Eingang, der mit ~50Hz abgetastet wurde. Der GPIO zeigte dann auch mal eine Weile "Aus" an, obwohl Netzspannung da war, wenn zufällig der Abtastzeitpunkt nahe dem Nulldurchgang lag. Oder der UART-TX, der mit dem Treiber-RX verbunden war, wobei der Hersteller mit "RX" meinte, "mit dem RX des µC zu verbinden". Ohne Schaltplan und Datenblätter hätte ich nicht Stunden sondern Tage mit diesen Fehlern zugebracht... Es ist teilweise eine andere Welt, ich sage gerne "SW-Entwicklung für echte Kerle" ;-) Gruß, Falk
Falk W. schrieb: > Wenn da nicht so Dinge passieren wie "Relais 1 ist an GPIOxyz" und Du > nicht weisst, ob das Relais bei "0" oder "1" schaltet, Relais: In meinem alten NiCd-Lader ist die mechanische Zeitschaltuhr gestorben und ich habe keinen Ersatz. Ich habe dann einen µC samt Relais reingestrickt, Einstellung per Drehencoder, Anzeige mit LEDs. Alles getestet, Gerät fertig - und Monate später gab es einen kurzen Netzausfall während des Ablaufs. Ja, Dauerladen mit Vollgas, diese Kleinigkeit hatte ich übersehen :-(
Ich habe den Wechsel damals gemacht und entgegen aller Schwarzmalerei hier ist alles gut gegangen. Habe inzwischen solide Hardware-Kenntnisse. Also: Mut zur Lücke, Leute!
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.