Embedded Software Engineering
In zunehmendem Maße werden bestehende Funktionalitäten von Geräten auf eingebettete Computersysteme ausgelagert. Dies gilt besonders in Bereichen wie Automotive, Medizintechnik, Luft-/Raumfahrt und der Unterhaltungselektronik. Es gelten hohe Anforderungen an Effizienz und Zuverlässigkeit, wobei die Komplexität solcher Systeme - und deren Entwicklung - stark ansteigt. Die dort vorherrschenden Entwicklungsmethoden stammen eher aus den traditionellen Ingenieurwissenschaften.
Wir von reCoin bringen unser Methoden-Wissen und unsere Erfahrung mit agiler Softwareentwicklung ein, um so die Softwareentwicklung für Embedded Systems neu zu prägen. Wir wollen Komplexität beherrschbar machen, ohne dabei auf hervorragende Qualität zu verzichten. Wir wollen Entwicklungsteams wieder motivieren, gute Arbeit zu leisten. Wir legen den Fokus auf flache Hierarchien und die Nutzung des gesunden Menschenverstandes, anstatt auf unnötig komplexe Prozesse und die damit verbundenen Tools.
- Softwareentwicklung in C, C++ und Java für Microcontroller und Embedded PC
- Programmierung von FPGAs mit VHDL oder C
- Automatisierte Softwaretests auf der Zielplattform
- Vorgehensweise nach agilen Methoden wie z.B. Scrum, Kanban, XP
- Praktiken wie Test Driven Development, Pair Programming, häufiges Refactoring und Daily Standups
- Ergänzt durch Wissen um Automotive SPICE, funktionale Sicherheit (ICE 61508 / ISO 26262), Qualitätssicherung und das V-Modell
Dadurch wird der Entwicklungsprozess wieder flexibel, so dass besser auf neue oder geänderte Anforderungen reagiert werden kann. Die Motivation des Entwicklungsteams steigt, das Interesse an der Arbeit nimmt zu. Dies erhöht insgesamt die Qualität der entstandenen Software.
- Embedded Bus-Technologien wie CAN, LIN, SPI, I²C
- Echtzeit-Betriebssysteme (RTOS)
- Baremetal Scheduling und minimal OS Lösungen zur Inbetriebnahme von neuen Platinendesigns
- Linux und Anwendungsentwicklung für Windows CE
- Verschiedene Funk-Standards wie GSM, WLAN, GPRS
- Protokoll-Stacks für Embedded Systems (z.B.: IP, DHCP, USB)