Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Software

Die Toolchain. Vom Programmcode bis zum ausführbaren Maschinencode

Analyse eines Embedded System auf Mikrocontroller-Basis

Title: Die Toolchain. Vom Programmcode bis zum ausführbaren Maschinencode

Term Paper , 2022 , 35 Pages , Grade: 2,0

Autor:in: Anonym (Author)

Computer Science - Software
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Gegenstand dieses Laborberichts ist die Untersuchung der Toolchain von drei Software IDEs (Integrated Development Environments) unter Berücksichtigung des vorhandenen Frameworks.

Dazu wird ein Programmcode mit derselben Funktion auf verschiedenen Plattformen erstellt und auf verschiedenen Systemen geladen. Die Arbeit zielt auf die Implementierung von Software in eingebetteter Hardware und die dafür verwendeten Tools ab. Einen besonderen Aspekt stellt hierbei der Vorgang des Compilierens da, um das assemblierte Ergebnis auf Effizienz zu analysieren bzw. zu bewerten.

Der erste Teil der Arbeit widmet sich der Begriffsdefinition und den Werkzeugen von Software IDEs für Embedded Systems. Im Anschluss werden die Grundlagen in der Praxis angewendet. Hierbei wird ein simples Programm compiliert. Dies erfolgt jeweils auf den Software IDEs: Arduino IDE, Microchip Studio und STM32CubeIDE. Die Assemblercodes werden im Anschluss analysiert und dienen dem darauffolgenden Kapitel als theoretische Grundlage. Der Analyseteil befasst sich mit der Beurteilung der Software auf Hardwareebene. Die Arbeit schließt mit einer kritischen Reflexion und einem Ausblick auf zukünftige Entwicklungen der Software IDEs und deren Tools ab.

Excerpt


Inhaltsverzeichnis

1. Einleitung

1.1 Ziel

1.2 Aufbau

2. Grundlagen

2.1 Einordnung im Software Life Cycle

2.2 Besonderheiten von Embedded Software

2.3 Besonderheiten von Embedded Hardware

2.4 Zusammenarbeit Hardware und Software

2.4 Software IDE

2.3.1 Texteditor

2.4.2 Analyse-Tools

2.4.3 Toolchain

3. Praxis

3.1 Arduino IDE

3.2 STM32CubeIDE

3.3 Microchip Studio

4. Analyse

4.1 Messergebnis blink_v1.elf (Arduino IDE)

4.2 Messergebnis blink_v2.elf (STM32CubeIDE)

4.3 Messergebnis blink_v3.elf (MicroChip-Studio)

5. Fazit und Ausblick

5.1 Zusammenfassung

5.2 Fazit

5.3 Ausblick

Zielsetzung & Themen

Die Arbeit untersucht die Effizienz von Toolchains in der Embedded-Softwareentwicklung, indem sie den Weg vom Quellcode bis zum ausführbaren Maschinencode auf verschiedenen Plattformen analysiert und vergleicht.

  • Vergleich verschiedener Software-Entwicklungsumgebungen (IDEs)
  • Analyse der Toolchain-Prozesse wie Kompilierung und Assemblierung
  • Empirische Messung der Zykluszeiten von eingebetteten Systemen
  • Bewertung der Framework-Effizienz für unterschiedliche Mikrocontroller-Architekturen

Auszug aus dem Buch

2.4.3 Toolchain

Die Toolchain beinhaltet alle Tools, um aus einem mit einer HHL programmierten Code ein für den Prozessor lesbaren Maschinencode zu transformieren.

Präprozessor: Ermöglicht das Einfügen von Bibliotheken, löst Makros auf und ermöglicht die Steuerung der Compilierung.

Compilier: Das wichtigste Tool der Chain ist das Compilieren. Hier wird der Programmcode in Assemblercode und anschließend in Maschinencode übersetzt. Bezugnehmend auf Embedded Systems wird der Code nicht auf dem Zielsystem direkt compiliert, sondern wird mittels Host-System programmiert, compiliert und auf das Zielsystem transfriert. Diese Art des Compilierens wird als Cross-Compilieren bezeichnet.

Das Compilieren gliedert sich in folgenden zwei Strukturen der Analyse und Synthese, diese wiederum in Phasen unterteilt sind.

Zusammenfassung der Kapitel

1. Einleitung: Beschreibt die Bedeutung von Toolchains im Embedded-Bereich, definiert das Ziel der Vergleichsstudie und erläutert den Aufbau der Arbeit.

2. Grundlagen: Erläutert die Einordnung im Software Life Cycle, die Charakteristika von Embedded Software und Hardware sowie die Funktionsweise von IDEs und Toolchains.

3. Praxis: Dokumentiert die praktische Anwendung mit den IDEs Arduino, STM32CubeIDE und Microchip Studio sowie die Berechnung der theoretischen Periodenzeiten.

4. Analyse: Beinhaltet die empirische Validierung der berechneten Programmlaufzeiten mittels Oszilloskop-Messungen für alle drei Plattformen.

5. Fazit und Ausblick: Führt die Ergebnisse zusammen, diskutiert Erkenntnisse über die Effizienz der verschiedenen Umgebungen und gibt einen Ausblick auf zukünftige Entwicklungen.

Schlüsselwörter

Embedded Systems, Toolchain, Software IDE, Mikrocontroller, Kompilierung, Assemblercode, Cross-Compiling, Zykluszeit, Hardware-Abstraktion, Firmware, Performanzanalyse, Mikroprozessor, ARM Cortex, AVR, Echtzeitsysteme.

Häufig gestellte Fragen

Worum geht es in dieser Arbeit grundsätzlich?

Die Arbeit beschäftigt sich mit der Analyse und dem Vergleich von Software-Toolchains für Embedded-Systeme unter Berücksichtigung ihrer Effizienz.

Was sind die zentralen Themenfelder?

Die zentralen Felder sind der Software-Entwicklungsprozess, die Funktionsweise von Cross-Compilern sowie die hardwarenahe Programmierung von Mikrocontrollern.

Was ist das primäre Ziel der Forschungsarbeit?

Ziel ist es, die Toolchains von drei spezifischen Software-IDEs (Arduino, STM32CubeIDE, Microchip Studio) zu untersuchen und deren Effizienz an der Qualität des resultierenden Maschinencodes zu messen.

Welche wissenschaftliche Methode wird verwendet?

Die Arbeit kombiniert eine theoretische Analyse der Prozessschritte in der Toolchain mit einer empirischen Testreihe, in der Programmlaufzeiten durch disassemblierte Assemblercodes berechnet und messtechnisch via Oszilloskop validiert werden.

Was wird im Hauptteil der Arbeit behandelt?

Im Hauptteil werden neben den Grundlagen zu IDEs und Compilern die praktische Implementierung identischer Funktionen auf verschiedenen Systemen erläutert sowie die Messergebnisse gegenübergestellt.

Welche Schlüsselwörter charakterisieren die Untersuchung?

Wesentliche Begriffe sind Embedded Systems, Toolchain, Cross-Compiling, Zykluszeit-Effizienz und hardwarenahe Optimierung.

Warum ist das "Cross-Compilieren" für Embedded-Systeme so relevant?

Da eingebettete Systeme oft nur begrenzte Ressourcen (HMI, Speicher) besitzen, erfolgt die Kompilierung auf einem leistungsfähigeren Host-System, das den optimierten Maschinencode anschließend auf den Ziel-Mikrocontroller überträgt.

Was waren die Haupterkenntnisse aus den Messungen im Analyseteil?

Es zeigte sich, dass Frameworks einen erheblichen Einfluss auf die Effizienz haben; so lieferte Microchip Studio die effizientesten Ergebnisse, während umfangreichere Frameworks wie beim STM32 oder Arduino mehr Overhead erzeugen können.

Excerpt out of 35 pages  - scroll top

Details

Title
Die Toolchain. Vom Programmcode bis zum ausführbaren Maschinencode
Subtitle
Analyse eines Embedded System auf Mikrocontroller-Basis
College
AKAD University of Applied Sciences Stuttgart
Course
Laborbericht
Grade
2,0
Author
Anonym (Author)
Publication Year
2022
Pages
35
Catalog Number
V1342196
ISBN (PDF)
9783346847904
ISBN (Book)
9783346847911
Language
German
Tags
Arduino Syntaxbaum Toolchain Compilier Linker Präprozessor STM32 lexikalische syntaktische semantische C Assembler
Product Safety
GRIN Publishing GmbH
Quote paper
Anonym (Author), 2022, Die Toolchain. Vom Programmcode bis zum ausführbaren Maschinencode, Munich, GRIN Verlag, https://www.grin.com/document/1342196
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  35  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint