TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Fakultät | Informatik
Informatikzentrum

Implementierung eines FPGA basierendes High-Speed Debugging Interfaces

BetreuerBjörn Cassens
ProfessorProf. Dr. Rüdiger Kapitza
Projektbats
IBR GruppeDS (Prof. Kapitza)
ArtMasterarbeit, Projektarbeit
Statusoffen
Mobile Geräte sind aus der heutigen Zeit nicht mehr wegzudenken. Die bekanntesten Vertreter sind Handy's dessen Laufzeit idR durch den Akku begrenzt werden. Weniger populär sind Systeme zur automatischen Überwachung von Tieren in denen der Energie verbrauch von Hard- und Software eine der wichtigsten Rollen spielen um hohe Laufzeit zu garantieren. Eines dieser Systeme wird im Zusammenhang mit dem BATS Projekt entwickelt. Die Anforderungen an das zu entwickelnde System sind ambitioniert - die nur 1,3g schweren Sender und Empfänger habe nur sehr geringe Energiekapazität und sollen einen Laufzeit von 10 Tagen und mehr erreichen. Die Entwicklung eines solchen Systems ist nicht trivial, da nur unzureichende Entwicklungswerkzeuge bereitstehen.

Heutige Software kann einfach durch sog. Debugger in ihrem Verhalten analysiert und Fehler frühzeitig erkannt werden. In dem speziellen Falle von Energie stehen lediglich Werkezuge zur Analyse des Energiebedarfs (Sourcemeter) und Debugger um das Programmverhalten zu analysieren zur Verfügung. Da der Energieverbrauch maßgeblich durch die Software beeinflusst wird, sind tiefgreifende Analysen bezüglich des ausgeführten Programms und der Energie vonnöten. Im Rahmen des BATS Projekte wird daher PALM (Platform for Automated Longtime Measurements) entwickelt.

Aufgabe von PALM ist es, den Energieverbrauch von Echtzeitsystemen gegen eine Referenz zu vergleichen. Sollte der Energiebedarf nicht der Referenz entstprechen, gehen wir von einer fehlerhaften Ausführung des Programms aus. Damit der Entwickler pro-aktiv unterstützt wird, ist die Fehlererkennung nicht genug und die Programmausführung muss gestoppt werden. Da die Latenz zwischen auftreten/detektieren des Fehlers kritisch ist, werden diese Module auf einem FPGA integriert. Dabei wurde/wird die Datenakquise sowie das Auslesen des Programmzählers in VHDL implementiert.

In dieser hier vorliegenden Arbeit, soll das Auslesen des Programmzählers weiter optimiert werden. Dies beinhaltet neben der Erweiterung der Funktionalität um den Programmzähler auszulesen, auch das Entwickeln eines Frameworks um die Programmausführung zu starten. Dabei ist eines der Kernaspekte, Daten für den Prgrammierer aufzubereiten auf Basis des Programmzählers. Damit sind Darstellungen möglich, dass ein Fehler beispielsweise auftrat als eine bestimmte Funktion ausgeführt wurde, was die Fehlereingrenzung deutlich vereinfacht. Da mehrere Programmzähler vor dem Auftritt des Fehler aufgenommen wurden, kann ebenfalls eine Historie von ausgeführten Funktionen angegeben werden, was zusätzlich zur Identifikation der Fehlerquelle hilft.



Bei Interesse, melden Sie sich bei dem Betreuer um weitere Informationen zu der hier vorliegenden Arbeit zu erhalten.










aktualisiert am 02.07.2018, 12:17 von Björn Cassens
printemailtop