Soft- und Firmwareentwicklung = Programmierung von Microkontrollern, DSPs, FPGAs usw.

Der Bereich der Softwareentwicklung beschreibt die Programmierung eines auf der Hardware befindlichen Logikelementes – wie z.B. Prozessor, Microkontroller, DSP oder FPGA.

Softwareentwicklung setzt also eine funktionstüchtige Hardware voraus – die entweder bereits kundenspezifisch entwickelt wurde, oder als sogenanntes Evaluation-Modul (EVM) zu Bastelzwecken zugekauft wurde.

Genaugenommen handelt es sich bei der Entwicklung von Software für einen Microkontroller oder DSP um die Firmwareentwicklung. Der Begriff Firmware soll begrifflich die Software, die auf Geräten läuft von der Software, die auf Rechnern und PC’s installiert ist, abgrenzen.

Real wird allerdings der Begriff Firmware nur eher selten verwendet.

Für die Erstellung und den Test von Software und Firmware benötigt man neben der Hardware auch eine Integrierte Entwicklungsumgebung = IDE – abgeleitet vom englischen integrated development environment.

Diese Entwicklungsumgebung – ein Softwareprogramm – ermöglicht es, den Quelltext in der entsprechenden Programmiersprache zu schreiben und zu übersetzen.

Zeitgemäße IDEs bieten zudem neben der Möglichkeit des Debuggings das Auslesen, Anzeigen und Manipulieren von Speicherinhalten und Registern.

Neben der IDE, die das Software-Tool auf dem Rechner darstellt, wird auch noch ein JTAG Emulator benötigt.

Der JTAG Adapter dient dazu, die Programme, Breakpoints usw. zum Zielsystem und zurück zu übertragen.

Für verschiedene Prozessor-Architekturen werden verschiedene IDEs und JTAG-Adapter benötigt.