Anforderungsszenarien für ARM-Entwicklungstools mit Lösungen

Nur mit der passenden Tool-Umgebung lassen sich die Anforderungen an ein Softwareprojekt innerhalb der vorgegebenen Zeit erfüllen. Doch welche Werkzeugkombination ist die richtige? Welche Tools sind unbedingt nötig und welche nur bei entsprechend großem...

Nur mit der passenden Tool-Umgebung lassen sich die Anforderungen an ein Softwareprojekt innerhalb der vorgegebenen Zeit erfüllen. Doch welche Werkzeugkombination ist die richtige? Welche Tools sind unbedingt nötig und welche nur bei entsprechend großem Budget sinnvoll? Ein Vergleich von vier verschiedenen Anforderungsszenarien für die Entwicklung eines Systems auf ARM-Basis soll diese Fragen beantworten helfen.

Mit entscheidend für erfolgreiches Software-Engineering sind die Werkzeuge, die den Softwareentwicklern zur Verfügung stehen. Manche Mikrocontroller-Familien lassen an dieser Stelle keine große Wahl zu, und Entwickler sind froh, wenn die einzigen verfügbaren Werkzeuge halbwegs stabil funktionieren. Anders bei Mikrocontroller-Familien (Architekturen), die sich breit am Markt durchgesetzt haben wie zum Beispiel die 8051-, C166- oder die ARM-Architekturen. Hier steht eine breite Auswahl an Werkzeugen zur Verfügung. Grundsätzlich eine hervorragende Ausgangssituation für effizientes Software-Engineering, aber wird sie auch genutzt?

Dass ein C-Compiler nötig ist, steht nicht zur Diskussion. Aber schon bei der Entscheidung, ein Echtzeitbetriebssystem (RTOS) einzusetzen, scheinen die Vor- und Nachteile nicht so recht klar zu sein. Und was hat es mit objektorientierter Programmierung (OOP) auf sich? Sollten die Entwickler bei einem neuen Projekt statt in »C« lieber in »C++« programmieren? Zu häufig werden derartige Entscheidungen aus Zeitmangel von einem Projekt zum nächsten verschoben, und das Software-Engineering bleibt auf der Strecke. Dass es sich lohnt – sowohl aus finanzieller Sicht, als auch im Hinblick auf die Effizienzsteigerung –, sich mit den Anforderungen auseinander zu setzen und darauf basierend die Tools auszuwählen, wird bei der exemplarischen Betrachtung verschiedener Entwicklungsumgebungen für die ARM-Architektur deutlich.

Dabei stehen immer die Anforderungen der Projekte im Vordergrund: Vor allem Anforderungen wie Lebensdauer, Wartbarkeit und Erweiterbarkeit der Produkte, aber auch Sicherheit und Robustheit der zu entwickelnden Software. Und nicht zu vergessen die Erfahrungen der Entwickler im Software-Engineering, wie auch die Einarbeitungszeiten in neue Techniken und dem gegenüberstehende »Time-to-Market«-Situationen. Die von Willert Software Tools zu Komplettlösungen zusammengestellten Werkzeuge sind aufeinander abgestimmt und haben sich in diesen Kombinationen bereits bewährt. Ein großer Vorteil ist, dass sich die Entwicklungsumgebungen ohne Kompatibilitätsprobleme an steigenden Anforderungen orientiert erweitern lassen. Auf diese Weise ist der »Return on Investment« in die Tools und in die Einarbeitungszeiten über einen langen Zeitraum gesichert, auch wenn sich Engineering-Anforderungen ändern. Ebenso bietet die Erweiterungsmöglichkeit eine ideale Voraussetzung für einen schrittweisen Einstieg in neue Techniken und damit die Möglichkeit, Investitionen und Einarbeitungszeiten auf einen längeren Zeitraum zu verteilen.