Entwicklungsprozess - Schritt 5
Embedded Software strukturieren

Wir sind Spezialisten auf dem Gebiet der Softwareentwicklung fĂŒr Mikrocontroller, embedded Prozessoren und Linux Systeme.
Embedded Systems Engineering heiĂt fĂŒr uns: Hardware und Firmware kommen aus einer Hand und werden als Einheit betrachtet. Mit dieser ĂŒbergreifenden Herangehensweise stellen wir sicher, dass die Systemanforderungen des Zielproduktes jederzeit erfĂŒllt werden.
Mikrocontroller
Entwicklungen und Produkte bilden die Schnittstelle zwischen den Messsignalen und den höheren Softwareschichten. Auf Basis der Kundenanforderungen werden Hardwareabstraktionen erstellt, welche der Software definierte Schnittstellen zur Ansteuerung der Hardware zur VerfĂŒgung stellen. Die Informatiker strukturieren die Software entsprechend gĂ€ngiger Designrichtlinien.

- Echtzeit-Betriebssysteme
- Software-Entwicklung in Assemblercode
- Bootloader fĂŒr Software-Updates
- Messdatenaufbereitung
- Filterfunktionen
- Signalauswertung
- Digitale Signalverarbeitung
- Entwicklung und Implementierung kundenspezifischer Algorithmen, Funktionen und AblÀufe
Embedded Linux
Linux Systeme verwenden angepasste Linux Distributionen als Basis. Das sind speziell fĂŒr den embedded Bereich entwickelte Distributionen, die selbst auf dem weitverbreiteten Yocto Project und Open Embedded Build System basieren. Viele Teile lehnen sich dabei an den von Desktop-Systemen bekannten Debian-Derivaten an. GrundsĂ€tzlich liefern wir die Systeme mit einem angepassten Linux-Image. Dieses bedient alle vorhandenen Hardwareschnittstellen und enthĂ€lt die wichtigsten Bibliotheken, u. a. QT und einer Toolchain zum Cross-Compiling fĂŒr das ARM-System auf einem Linux-PC.
Der Einsatz von Linux als Betriebssystem ist bei uns gelebte Praxis. Linux bringt eine Vielzahl von sofort nutzbaren FunktionalitÀten mit:
- FTP-Server
- Web-Interface
- Dateisystem
- Updatebarkeit

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 wird. 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.
Unsere Bausteine
Wir integrieren FPGA- und CPLD-Bausteinen verschiedenster Hersteller (Xilinx, Altera, Lattice):
- Core-Entwicklung in FPGA-Schematic, Abel und VHDL
- VHDL-Core-Entwicklung von seriellen und parallelen PC-Schnittstellen sowie DSP-Funktionen (ISA-, PCI-, PCIe-, MiniPCI-, PCMCIA und CardBus-Cores)
- Lattice (ECP2, ECP3, ECP2M, XP2, MACHXO, MACHXO2, SC)
Unsere Kompetenzen
FPGA-Programmierung fĂŒr:
- 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)