implementation eines swentwicklungssystems für ein arm9board · experte urs reidt, hamilton...

1
16 Ausgangslage: Im Modul Embedded Software Engineering der HSR wird für die Ausbil- dung mit Microsoft .NET µFramework das gut ausgestattete ChipworkX Board verwen- det. Bestückt mit einem ARM9 Controller, Touchdisplay, Beschleunigungssensor und einer grossen Vielfalt an weiteren Peripherien gehört es zu den komfortabelsten Boards dieser Grösse. Da dieses Board nur in Verbindung mit Microsoft-Programmiersprachen genutzt werden kann, besteht schon seit längerer Zeit die Idee, dies im Rahmen einer Bachelor- arbeit zu ändern. Ziel der Arbeit: Die Softwarekomponenten sollen so angepasst werden, dass die Verwen- dung ohne ein Framework oder Betriebssystem möglich wird. Das Board sollte mit ANSI C und C++ genutzt werden können. In einer guten Programmierumgebung ist es essen- ziell, dass auch ein Debug-Interface zur vereinfachten Fehlersuche vorliegt. Diese Lösung soll über die USB-Schnittstelle entwickelt werden, sodass keine teuren JTAG-Programmer benötigt werden. Zusätzlich soll es mit einem Embedded-Betriebssystem, vorzugsweise Linux, betrieben werden können. Als Basis für die erwähnten Softwarekomponenten wird ein Bootloader benötigt. Für die verfügbaren Peripherien wird eine Softwarebibliothek erstellt. Ausserdem werden mit einer geeigneten Demoapplikation die neuen Funktionalitäten aufgezeigt. Ergebnis: Die Ziele konnten grösstenteils umgesetzt werden, wodurch eine Softwarelö- sung entstanden ist, die zur spannenden und lehrreichen Gestaltung der Praktika einge- setzt werden kann. Der entwickelte Debugger stellt durch die Integration in Eclipse ein benutzerfreundliches Interface zur Verfügung. Sämtliche aus dem Eclipse Debugger gewohnten Funktionali- täten sind implementiert worden. Dies erlaubt eine komfortable Fehlerbehebung einer ARM9-Applikation direkt auf dem Controller. Das Linux als Embedded-Betriebssystem konnte portiert werden und bietet nun eine grosse Vielfalt an Möglichkeiten. Dazu ge- hören beispielsweise komplexe Applikationen, welche eine grafische Oberfläche benö- tigen. Mit dem Bootloader «Das U-Boot» wurde eine optimale Basis geschaffen. Durch die Demoapplikation «Snake» ist es gelungen, die einfache Ansteuerung der Peripherien aufzuzeigen. ChipworkX Board mit Bootloader Screen Screenshot des Linux-Desktops Konzept zum Bootvorgang Diplomanden Sandro Brandt, Pascal Graf, Michael Trummer Examinator Prof. Reto Bonderer Experte Urs Reidt, Hamilton Medical AG, Bonaduz GR Themengebiet Embedded Software Engineering Implementation eines SW-Entwicklungssystems für ein ARM9-Board Portierung einer C / C++-Programmierumgebung auf das ChipworkX .NET Board Sandro Brandt Pascal Graf Michael Trummer

Upload: vuongminh

Post on 21-Aug-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementation eines SWEntwicklungssystems für ein ARM9Board · Experte Urs Reidt, Hamilton Medical AG, Bonaduz GR Themengebiet Embedded Software Engineering Implementation eines

16

Ausgangslage: Im Modul Embedded Software Engineering der HSR wird für die Ausbil­

dung mit Microsoft .NET µFramework das gut ausgestattete ChipworkX Board verwen­

det. Bestückt mit einem ARM9 Controller, Touchdisplay, Beschleunigungssensor und einer

grossen Vielfalt an weiteren Peripherien gehört es zu den komfortabelsten Boards dieser

Grösse. Da dieses Board nur in Verbindung mit Microsoft­Programmiersprachen genutzt

werden kann, besteht schon seit längerer Zeit die Idee, dies im Rahmen einer Bachelor­

arbeit zu ändern.

Ziel der Arbeit: Die Softwarekomponenten sollen so angepasst werden, dass die Verwen­

dung ohne ein Framework oder Betriebssystem möglich wird. Das Board sollte mit ANSI

C und C++ genutzt werden können. In einer guten Programmierumgebung ist es essen­

ziell, dass auch ein Debug­Interface zur vereinfachten Fehlersuche vorliegt. Diese Lösung

soll über die USB­Schnittstelle entwickelt werden, sodass keine teuren JTAG­Programmer

benötigt werden. Zusätzlich soll es mit einem Embedded­Betriebssystem, vorzugsweise

Linux, betrieben werden können. Als Basis für die erwähnten Softwarekomponenten wird

ein Bootloader benötigt.

Für die verfügbaren Peripherien wird eine Softwarebibliothek erstellt. Ausserdem werden

mit einer geeigneten Demoapplikation die neuen Funktionalitäten aufgezeigt.

Ergebnis: Die Ziele konnten grösstenteils umgesetzt werden, wodurch eine Softwarelö­

sung entstanden ist, die zur spannenden und lehrreichen Gestaltung der Praktika einge­

setzt werden kann.

Der entwickelte Debugger stellt durch die Integration in Eclipse ein benutzerfreundliches

Interface zur Verfügung. Sämtliche aus dem Eclipse Debugger gewohnten Funktionali­

täten sind implementiert worden. Dies erlaubt eine komfortable Fehlerbehebung einer

ARM9­Applikation direkt auf dem Controller. Das Linux als Embedded­Betriebssystem

konnte portiert werden und bietet nun eine grosse Vielfalt an Möglichkeiten. Dazu ge­

hören beispielsweise komplexe Applikationen, welche eine grafische Oberfläche benö­

tigen. Mit dem Bootloader «Das U­Boot» wurde eine optimale Basis geschaffen. Durch

die Demoapplikation «Snake» ist es gelungen, die einfache Ansteuerung der Peripherien

aufzuzeigen.

ChipworkX Board mit Bootloader Screen

Screenshot des Linux­Desktops

Konzept zum Bootvorgang

Diplomanden Sandro Brandt, Pascal Graf, Michael Trummer

Examinator Prof. Reto Bonderer

Experte Urs Reidt, Hamilton Medical AG, Bonaduz GR

Themengebiet Embedded Software Engineering

Implementation eines SW­Entwicklungssystems für ein ARM9­BoardPortierung einer C / C++­Programmierumgebung auf das ChipworkX .NET Board

SandroBrandt

PascalGraf

MichaelTrummer

Embedded Software Engineering