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.
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 und Themenschwerpunkte
Diese Arbeit erläutert die Toolchain für die Entwicklung eingebetteter Software und demonstriert deren Anwendung anhand eines Kleinprojekts. Das Projekt beinhaltet die Implementierung einer Software auf einem Arduino UNO, welche Datum und Uhrzeit über den I²C-Bus an einen DS1307 Echtzeitbaustein sendet und diese auf einem LCD-Modul ausgibt.
- Toolchain für eingebettete Systeme
- Implementierung einer Anwendung auf dem Arduino UNO
- Kommunikation über den I²C-Bus
- Verwendung des DS1307 Echtzeitbausteins
- Software-Test und -Analyse
Zusammenfassung der Kapitel
Kapitel 1 (Einleitung): Stellt die Problemstellung vor (Implementierung einer Anwendung zur Datums- und Uhrzeiteingabe und -ausgabe über I²C) und das Ziel der Arbeit (Erläuterung der Toolchain und deren praktische Anwendung).
Kapitel 2 (Grundlagen und Definitionen): Erläutert grundlegende Konzepte wie eingebettete Systeme, I²C-Bus, BCD-Code und den DS1307 Echtzeitbaustein. Es wird ein Überblick über die Toolchain im Softwareentwicklungsprozess gegeben.
Kapitel 3 (Hardwaredesign): Beschreibt die verwendete Hardware (Arduino UNO, LCD-Modul, DS1307-Modul, Oszilloskop) und deren Verdrahtung.
Kapitel 4 (Softwaredesign): Präsentiert den Programmablaufplan und den Quellcode. Die Hauptfunktionen (Ausgabe, Setzen von Datum und Uhrzeit, Byte-Lesen) werden kurz beschrieben.
Kapitel 5 (Kompilieren und Übertragen): Erläutert den Kompilier- und Übertragungsprozess des Programmcodes auf den Arduino.
Kapitel 6 (Testen der Software): Beschreibt die durchgeführten Tests, einschließlich der verwendeten Testfälle und der Validierung der Ergebnisse mithilfe des seriellen Monitors und eines Oszilloskops.
Kapitel 7 (Dokumentationstool): Stellt das verwendete Dokumentationstool (Doxygen) vor.
Schlüsselwörter
Eingebettete Systeme, Arduino UNO, I²C-Bus, DS1307, Echtzeituhr, BCD-Code, Toolchain, Softwareimplementierung, Software-Test, avr-gcc, serieller Monitor, Oszilloskop, LCD-Modul.
- Quote paper
- David Protzmann (Author), 2023, Softwareimplementierung und Test mit Toolchain-Unterstützung, Munich, GRIN Verlag, https://www.grin.com/document/1502716