Firmware Entwicklung

Neben der Softwareentwicklung bietet das Ingenieurbüro Eggersdorf auch die Entwicklung von Firmware an.

Das bedeutet, Sie sind auch bei Programmierungen von Mikrocontrollern und DSP’s (Digitale SignalProzessoren) verschiedenster Bauart von Kleinststeuerungen bis zu Embedded Systems bei uns gut aufgehoben.

Mikrocontroller

Was ist eine Firmware?

Firmware ist der Teil „Software“ der auf den Prozessoren der Leiterplatten externer Geräte laufen.

Also wenn Sie ein Gerät haben, welches kein PC ist, aber auf dem etwas programmiert ist, dann handelt es sich um Firmware.

Warum gibt es die Unterscheidung zwischen Software und Firmware?

Die Anforderungen und der Bllickwinkel sind bei Firmware und Software unterschiedlich.

Bei einer Firmwareentwicklung geht es sehr oft um hardwarenahe Programmierungen – spezielle Schnittstellen, Protokolle und Funktionen werden hardwarenah, also bis zum Prozessorpin herunter abgebildet.

Das würde grob verglichen einer Programmierung eines Schnittstellen-Treibers beim PC entsprechen.

Allerdings sind die Anforderungen an die Firmware noch feiner.

Sehr oft muß man sich auf die speziellen Gegebenheiten des gewählten Prozessors einstellen, um diesen optimal nutzen zu können.

Sehr oft muß mit Strom, Rechenleistung oder Speicherplatz sparsam umgegangen werden.

Sehr oft werden Funktionen in Abläufen und Reihenfolgen abgebildet, die genaugenommen bis auf wenige Nanosekunden nachvollziehbar sein müssen.

Bei der Firmwareentwicklung bedient man sich daher auch oft anderer Tools und Programmiersprachen.

Übliche Programmiersprachen der Firmwareentwicklung sind:

ANSI C / C++ /Assembler

aber auch durchaus Basic, Micropython

Welche Hardware wird bei der Firmware-Entwicklung programmiert?

Die Auswahl der Hardware geschieht im Bereich der Hardwareentwicklung nach den Kriterien der Funktionalität des Gerätes.

Für ein Konsumer-Gerät werden nominal andere Prozessoren verwendet, als z.B. für Industrie oder Luftfahrt.

Für kleine Projekte mit einfachen Funktionalitäten werden nominal einfache Prozessoren mit geringer Bitbreite ausreichend sein, während für umfangreiche Projekte mit viel Sensorik schon eher 32bit Prozessoren gängig sind.

Für ganz spezielle digitale Signalverarbeitung (z.B. Modulation oder schnelle mathematische Analysen) fällt die Wahl durchaus auf spezielle Digitale Signalprozessoren (DSP)

Firmwareentwicklung bedeutet also auch immer, sich mit den speziellen Gegebenheiten des Prozessors vertraut zu machen, um diesen dann in der Anwendung auch optimal ausnutzen zu können.