Entwicklungsprozess - Schritt 5
Embedded Software Entwicklung

Embedded Software smarte Funktionen

Entwicklungsschritt 5

Die embedded Softwareentwickler der pironex sind Spezialisten auf dem Gebiet der embedded Softwareentwicklung für Mikrocontroller, embedded Prozessoren und Linux Systeme.

Embedded Systems Engineering heißt für uns: Hardware aus der Abteilung, Elektronikentwicklung und Firmware kommen aus einer Hand und werden als Einheit betrachtet. Mit dieser übergreifenden Herangehensweise stellen wir sicher, dass die Systemanforderungen des smarten Zielproduktes jederzeit erfüllt werden.
Im Bereich Informatik im Fachgebiet der embedded Systeme sind Informatiker mit technischem Hintergrund beschäftigt. Das heißt, dass die Softwareentwickler elektronischen Schaltungen, Komponenten und Schnittstellen verstehen und programmieren können. 

Embedded Linux

Linux Geräte und IPC-Systeme verwenden angepasste Linux Distributionen als Basis der Entwicklung der funktionalen Entwicklung. Das sind speziell für den embedded Bereich entwickelte Distributionen, die selbst auf dem weitverbreiteten Yocto Project und Open Embedded Build System basieren. Viele Softwaremodule lehnen sich dabei an den von Desktop-Systemen bekannten Debian-Derivaten an. Grundsätzlich liefert pironex Systeme mit einem angepassten Linux-Image aus. Dieses bedient alle vorhandenen Hardwareschnittstellen und enthält die wichtigsten Bibliotheken, u. a. QT und einer Toolchain zum Cross-Compiler für das ARM-System auf einem Linux-PC.

Der Einsatz von Linux als Betriebssystem ist gelebte Praxis.  Linux bringt eine Vielzahl von sofort nutzbaren Funktionalitäten mit:

  • FTP-Server für den Datenaustausch
  • Web-Interface für GUI
  • Dateisystem auf internen und externen Speichermedien
  • Bereitstellungen von Updates im Betrieb und Feld
FPGA / CPLD

FPGA-Programmierung

Bei der FPGA-Programmierung erzeugt pironex eine Beschreibung der Hardwarestruktur, die dann mithilfe von Synthese und Routingwerkzeugen auf den eigentlichen FPGA-Chip übertragen werden. Diese Hardwarebeschreibung findet typischerweise in speziellen Sprachen wie VHDL oder Verilog statt. FPGA Entwicklung in der Hochsprache VHDL kommt bei der Implementierung zeitkritischer Prozesse auch bei der parallelen Verarbeitung von großen Datenmengen zum Einsatz.

Die Hardwareentwicklung integriert FPGA- und CPLD Bausteine verschiedenster Hersteller (Xilinx, Altera, Lattice):

  • Core-Entwicklung in FPGA Schematik, Abel und VHDL
  • VHDL-Core-Entwicklung von seriellen und parallelen Schnittstellen sowie DSP-Funktionen (ISA-, PCI-, PCIe-, MiniPCI-, PCMCIA und CardBus-Cores)
  • Lattice (ECP2, ECP3, ECP2M, XP2, MACHXO, MACHXO2, SC)

FPGA-Programmierung für nachfolgende Einsatzgebiete:

  • Steuerung von Geräten aus dem Bereich Medizintechnik
  • Steuerung und Regelung von Schritt- und DC-Motoren
  • Bild- und Signalverarbeitung
  • Applikationen von Bussystem wie ISA, PCI und PCI-Express (PCIe)
  • Multiprozessorsysteme für die Industrie und Medizin