Hausarbeiten logo
Shop
Shop
Tutorials
De En
Shop
Tutorials
  • How to find your topic
  • How to research effectively
  • How to structure an academic paper
  • How to cite correctly
  • How to format in Word
Trends
FAQ
Zur Shop-Startseite › Informatik - Programmierung

Softwareimplementierung und Test mit Toolchain-Unterstützung

Titel: Softwareimplementierung und Test mit Toolchain-Unterstützung

Hausarbeit , 2023 , 82 Seiten , Note: 1,7

Autor:in: David Protzmann (Autor:in)

Informatik - Programmierung

Leseprobe & Details   Blick ins Buch
Zusammenfassung Leseprobe Details

Ziel dieser Arbeit ist es, die Toolchain für den Entwicklungsprozess eingebetteter Software zu erläutern und einige dieser Tools für die Umsetzung eines Kleinprojekts zu nutzen.

In diesem soll mit Hilfe des Evaluationsboards Arduino UNO und dessen Entwicklungsumgebung eine Software implementiert werden, die es ermöglicht, Datum und Uhrzeit einzugeben und diese über den I²C-Bus an den DS1307-Echtzeitbaustein zu senden. Die eingegebene Uhrzeit und das eingegebene Datum sollen auf einem LCD-Modul ausgegeben werden können. Bei Programmstart soll nach einer kurzen Startsequenz ein Default-Datum sowie eine Default-Uhrzeit ausgegeben werden.

Die Entwicklung eingebetteter Systeme erfolgt in vielen spezifischen Schritten. Den Ausgangspunkt bildet in der Regel die Anforderung eines Kunden an ein jeweiliges Produkt. Von der Marktanalyse zu den Lasten- und Pflichtenheften bis hin zur Entwicklung der spezifischen Hard- und anschließender Implementierung der Software, den Test- und Analysephasen, stehen den Entwickelnden und anderen Mitarbeitenden zahlreiche spezifische Tools zur Verfügung um den Entwicklungsprozess zu erleichtern, Zeit zu sparen und qualitativer zu arbeiten.

Der komplette Entwicklungsprozess wird somit durch eine Vielzahl unterstützender Tools begleitet. In diesem Assignment wird die Toolchain für den Bereich Softwareentwicklung, Implementierung und Test vorgestellt. Darauf aufbauend wird die Benutzung einiger dieser Tools anhand eines Kleinprojekts in der Praxis dargestellt.

Leseprobe


Inhaltsverzeichnis

1 Einleitung

1.1 Problemstellung

1.2 Ziel der Arbeit

1.3 Aufbau der Arbeit

2 Grundlagen und Definitionen

2.1 Eingebettete Systeme

2.2 Two Wire Interface (TWI) / I²C

2.3 Binary Coded Decimal (BCD)

2.4 DS1307-Echtzeitbaustein

2.5 Toolchain

2.5.1 Toolchain: Implementierung

2.5.2 Toolchain: Analyse und Fehlersuche (Testen)

3 Hardwaredesign des Kleinprojekts

4 Softwaredesign des Kleinprojekts

4.1 Hauptprogramm

4.2 Funktion AusgabeDatum_und_Zeit()

4.3 Funktion SetDatum_und_Zeit()

4.4 Funktion Byte_lesen()

5 Kompilieren und Übertragen (flashen) des Programmcodes

6 Testen der Software

7 Dokumentationstool der Software

8 Schlussteil

Zielsetzung & Themen

Das Hauptziel dieser Arbeit ist es, den Entwicklungsprozess eingebetteter Software anhand einer durchgängigen Toolchain zu erläutern und diese in einem praktischen Kleinprojekt anzuwenden. Die Forschungsfrage fokussiert sich darauf, wie ein Arduino UNO genutzt werden kann, um über eine I²C-Schnittstelle einen DS1307-Echtzeitbaustein anzusteuern und Datum sowie Uhrzeit auf einem LCD-Modul anzuzeigen, wobei das gesamte System nach der Implementierung auf korrekte Funktion zu prüfen und zu validieren ist.

  • Methodik der Softwareentwicklung für eingebettete Systeme
  • Implementierung und Konfiguration von Mikrocontroller-Hardware
  • Grundlagen und praktische Anwendung des I²C-Bus-Protokolls
  • Softwaretest, Debugging-Strategien und Validierung von Signalen
  • Dokumentation des Quellcodes mittels automatisierter Tools

Auszug aus dem Buch

2.5.1 Toolchain: Implementierung

Vom Entwurf des Quellcodes bis hin zur Übertragung des lauffähigen Programms sind dedizierte Tools im Einsatz:

Der Quellcode kann mit normalen Editoren geschrieben werden. In der Praxis werden jedoch spezielle Texteditoren verwendet, da hier Sonderfunktionen vorhanden sind. Diese unterstützen die Entwickelnden, z.B. durch konsistente farbliche Darstellung von Programmierstrukturen, das Hervorheben und Selbstvervollständigen von Schlüsselwörtern, automatisches Einrücken, Erkennen und Hervorheben von potentiellen Syntaxfehlern (vgl. Hüning 2018, Seite 61). Alternativ kann der Quellcode auch mit Hilfe eines Modellierungstools generiert werden. Aus einem Syntaxmodell kann mit einem automatischen Code Generator C-Code erzeugt werden (vgl. ebd. 2018, Seite 59).

Zur Übersetzung des Quellcodes in Maschinensprache werden Compiler, Assembler oder Interpreter genutzt.

Compiler übersetzen den für den Menschen gut les- und änderbaren und vom Prozessor abstrahierten Quellcode (Hochsprache) in Maschinensprache (je nach Compiler für unterschiedliche Prozessoren) (vgl. Wüst 2011, Seite 107). Das Ergebnis ist eine binäre Objektdatei (vgl. Hüning 2018, Seite 61). Der Kompiliervorgang gliedert sich in Analyse und Synthese.

Zusammenfassung der Kapitel

1 Einleitung: Beschreibt die Ausgangsbasis der Entwicklung eingebetteter Systeme und definiert das Ziel, die Toolchain anhand eines Arduino-Projekts praktisch darzustellen.

2 Grundlagen und Definitionen: Erläutert die theoretischen Basisbegriffe, darunter eingebettete Systeme, das I²C-Protokoll, BCD-Kodierung, den DS1307-Baustein sowie die Phasen der Toolchain.

3 Hardwaredesign des Kleinprojekts: Spezifiziert die benötigte Hardware, den Schaltplan und die elektrische Verbindung der Komponenten auf einem Steckbrett.

4 Softwaredesign des Kleinprojekts: Detailliert den Softwareentwurf, die genutzten Bibliotheken und die Logik der Programmierfunktionen zur Ansteuerung der Hardware.

5 Kompilieren und Übertragen (flashen) des Programmcodes: Erklärt den Prozess von der IDE bis zur Übertragung auf den Mikrocontroller via Bootloader.

6 Testen der Software: Dokumentiert die Validierung der Software mittels Testfällen, Fehlersuche und Oszilloskop-Messungen.

7 Dokumentationstool der Software: Stellt das Tool Doxygen zur automatisierten Erstellung der Programm-Dokumentation vor.

8 Schlussteil: Fasst das Projekt zusammen und bietet eine kritische Reflexion des Entwicklungsprozesses sowie Möglichkeiten zur zukünftigen Optimierung.

Schlüsselwörter

Arduino UNO, Embedded Systems, I²C-Bus, Toolchain, Softwareentwicklung, DS1307, Firmware, Quellcode, Debugging, Oszilloskop, C-Programmierung, Mikrocontroller, Echtzeituhr, BCD-Code, Dokumentation

Häufig gestellte Fragen

Worum geht es in dieser Arbeit grundsätzlich?

Die Arbeit behandelt den praktischen Entwicklungsprozess eingebetteter Systeme unter Nutzung einer modernen Toolchain, konkret demonstriert an der Implementierung einer Echtzeituhr mit einem Arduino UNO.

Was sind die zentralen Themenfelder?

Kerngebiete sind Softwareentwicklung für Embedded Systems, Hardware-Design, die Anwendung des I²C-Bus-Kommunikationsprotokolls sowie Methoden des Software-Tests und der Code-Dokumentation.

Was ist das primäre Ziel der Arbeit?

Das primäre Ziel ist es, die Toolchain zu erläutern und durch die Umsetzung eines funktionsfähigen Prototyps zu zeigen, wie Software implementiert, übertragen und auf Hardware-Ebene validiert wird.

Welche wissenschaftliche Methode wird verwendet?

Die Arbeit folgt dem Ansatz eines praktischen Software-Entwicklungsprojekts, ergänzt durch eine theoretische Fundierung und eine empirische Validierung der Ergebnisse durch Messreihen.

Was wird im Hauptteil behandelt?

Dort erfolgt der Entwurf von Hardware und Software, die Beschreibung der Entwicklungsumgebung sowie die Durchführung und Auswertung spezifischer Softwaretests.

Welche Schlüsselwörter charakterisieren die Arbeit?

Zu den wichtigsten Begriffen zählen Arduino, I²C, DS1307, Debugging, Toolchain, Mikrocontroller und Software-Validierung.

Wie wurde die Korrektheit der I²C-Kommunikation nachgewiesen?

Um unerwartete Softwarefehler auszuschließen, wurde die Kommunikation zusätzlich zur Software-Ausgabe mit einem Oszilloskop aufgezeichnet und in Bezug auf das Kommunikationsprotokoll analysiert.

Welchen Zweck erfüllt das Dokumentationstool Doxygen in diesem Projekt?

Doxygen wurde eingesetzt, um aus den Kommentaren im Quellcode automatisch eine strukturierte Dokumentation zu generieren, was die Wartbarkeit und Lesbarkeit des Projekts verbessert.

Warum wurde eine 'debug'-Variable im Programm genutzt?

Diese Variable diente zur Fehleranalyse, um ungewünschte Zeichen beim Auslesen der seriellen Schnittstelle abzufangen und somit Fehlsteuerungen bei der Dateneingabe zu beheben.

Ende der Leseprobe aus 82 Seiten  - nach oben

Details

Titel
Softwareimplementierung und Test mit Toolchain-Unterstützung
Hochschule
AKAD University, ehem. AKAD Fachhochschule Stuttgart
Note
1,7
Autor
David Protzmann (Autor:in)
Erscheinungsjahr
2023
Seiten
82
Katalognummer
V1502716
ISBN (eBook)
9783389079058
ISBN (Buch)
9783389079065
Sprache
Deutsch
Schlagworte
Hardwaredesign Softwareimplementierung Arduino
Produktsicherheit
GRIN Publishing GmbH
Arbeit zitieren
David Protzmann (Autor:in), 2023, Softwareimplementierung und Test mit Toolchain-Unterstützung, München, GRIN Verlag, https://www.hausarbeiten.de/document/1502716
Blick ins Buch
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
Leseprobe aus  82  Seiten
Hausarbeiten logo
  • Facebook
  • Instagram
  • TikTok
  • Shop
  • Tutorials
  • FAQ
  • Zahlung & Versand
  • Über uns
  • Contact
  • Datenschutz
  • AGB
  • Impressum