0% fanden dieses Dokument nützlich (0 Abstimmungen)
5 Ansichten17 Seiten

Chapter 4

Das Dokument bietet eine Einführung in die Entwicklungsumgebung μVision von KEIL, die für die 8051-Controllerfamilie verwendet wird. Es beschreibt die Schritte zur Projekterstellung, den Aufbau von C- und Assembler-Programmen sowie die Verwendung von Debugging-Tools zur Fehlerverfolgung. Zudem wird die Kommunikation mit Hardware über das Device Access Server (DAS) von Infineon erläutert.

Hochgeladen von

wnabdulmustaqim
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
5 Ansichten17 Seiten

Chapter 4

Das Dokument bietet eine Einführung in die Entwicklungsumgebung μVision von KEIL, die für die 8051-Controllerfamilie verwendet wird. Es beschreibt die Schritte zur Projekterstellung, den Aufbau von C- und Assembler-Programmen sowie die Verwendung von Debugging-Tools zur Fehlerverfolgung. Zudem wird die Kommunikation mit Hardware über das Device Access Server (DAS) von Infineon erläutert.

Hochgeladen von

wnabdulmustaqim
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Entwicklungsumgebung

Entwicklungsumgebung: Kleine Keil Einführung


genauer siehe Buch:
“Embedded Programming: Basiswissen und Anwendungen“,
Prof. Reiner Kriesten
Taschenbuch, Oldenbourg, ISBN-10: 3486712845

Folie 1 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke
Entwicklungsumgebung

➢ IDE (integrated development environment) μVision von KEIL


➢ Sehr bekannte Entwicklungsumgebung im Bereich der 8051-
Controllerfamilie
➢ Installation
der IDE ist in der Regel problemlos möglich durch das
Befolgen der Anweisungen während des Setups.
➢ Download für codegrößenbegrenzte Lizenz über die Homepage
von Keil
[Link]

Folie 2 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke
Projekt anlegen

➢ Nach Öffnen von μVision neues Projekt auswählen:


➢ Festlegen des Projektnamens und des Speicherorts
➢ Prozessortyp XC888CM-8FF von Infineon

Folie 3 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Prof. Kriesten
Projekt anlegen

➢ Für C-Programme mit Start-Up


➢ Für Assembler-Programme ohne Start-Up
➢ File->New Datei erstellen, *.c oder *.asm
➢ Add Files to Source Group 1

Folie 4 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Prof. Kriesten
Projekt ‘build‘
Klassische Programmerstellung in C:
edit -> compile -> link -> load (der erzeugten Binärdatei)
Klassische Programmerstellung in Assembler:
edit -> assemble -> link -> load (der erzeugten Binärdatei)
In einer integrierten Entwicklungsumgebung:
- Project -> Build
In Betrieb nehmen:
Use Simulator oder
Load

Folie 5 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Prof. Kriesten
Projekt im Simulatorbetrieb
➢ Use Simulator klicken, Limit Speed to Real-Time klicken
➢ Debug->Run oder ->Step-Mode
➢ Unter Reiter Peripherals können Peripherie-Einheiten angezeigt. In dem
gegebenen Beispiel wird Port P3 unter Peripherals I/O-Ports aktiviert.
➢ Über View Watch Windows Watch Register und Variablen anzeigen.
➢ Über das Memory-Window Bytebelegung im RAM und ROM ablesen.

Folie 6 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Prof. Kriesten
Projekt ‘on target‘
Die Hardware besteht aus Evaluierungsboard sowie einer Zusatzplatine

Folie 7 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Prof. Kriesten
Projekt ‘on target‘
➢ Kommunikation der Entwicklungsumgebung mit dem Evaluierungsboard über
DAS-SW (Device Access Server) von Infineon.
➢ Download des DAS unter Tool Interface, URL: [Link] .
➢ Zur Inbetriebnahme des DAS Infineon DAS Client for XC800 im Reiter Debug
eintragen
➢ Im Reiter Utilities Häkchen Use Target Driver for Flash-Programming setzen.
➢ Flash Download.
➢ Schließlich Run oder Debug

Folie 8 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Prof. Kriesten
Einfaches ‘C‘-Programm
- #include <XC888CLM.H> für die SFR P3_DATA, P3_DIR
- Debug-Session im ‘single step‘ siehe unten

Folie 9 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Prof. Kriesten
Einfaches ‘Assembler‘-Programm
- $include hska_include_.inc für die SFR P3_DATA, P3_DIR
- Debug-Session im ‘single step‘ siehe unten
- Start bei Einsprung 100h

Folie 10 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Prof. Kriesten
C programm

#include <xc888clm.h>
void main()
{
P3_DIR = 0xff;
P3_DATA = 0x00;
while (1)
{
P3_DATA = ~P3_DATA; // Blinklicht
}
}

Folie 11 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke
Assembly programm

$include (hska_include.inc)

CSEG AT 0x0000 ; Proganfang ab 0


JMP INIT;

ORG 0x100; ; Origin bei 100


INIT:
mov P3_DIR, #0xff;
MAIN:
mov a,P3_DATA; ; Lauflicht
inc a;
mov P3_DATA,a;
jmp MAIN;

END

Folie 12 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke
XC888 Core

Folie 13 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke
Translation Hierarchie für C

c code
.c

Assembly Language
Programm Mnemonic lesbar
.asm

Object: Machine language module


.obj
Object: Library routine (Machine language)
.obj
Op Code 001011…

Executable: Machine language module


.exe

Target: Flash RAM

Folie 14 20.08.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke
Cross-Compiler & Linker
Compiler (allgemein)
➢ Der Compiler übersetzt ein in einer Programmiersprache geschriebenes
Programm in eine bestimmte Zielsprache. Die Zielsprache ist oftmals
Assemblercode oder Maschinensprache.
➢ Handelt es sich bei der Programmiersprache um Assemblersprache und bei der
Zielsprache um Maschinensprache, wird der Compiler auch „Assembler“ genannt.
➢ Der Kompiliervorgang kann in mehrere Phasen gegliedert werden. Teilphasen
können z.B. sein:
➢ Analyse des Quellcodes
➢ Zwischencode-Erzeugung
➢ Optimierung
➢ Code-Erzeugung
➢ Nach dem Kompiliervorgang liegt das Programm als Objekt-Code vor.
➢ Es kann sich hierbei auch um mehrere Objektdateien handeln (für jedes Modul
eine separate Datei).

Folie 15 02.09.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke
Cross-Compiler & Linker
Der Cross-Compiler
➢ Wird ein Compiler auf einer bestimmten Hostplattform ausgeführt, erzeugt
jedoch Code für eine andere Plattform, so spricht man von einem Cross-
Compiler.
➢ Compiler für Mikrocontrollersysteme sind daher oftmals Cross-Compiler.

Der Linker
➢ Der Linker ist ein Programm, welches die vom Compiler erzeugten Objektdateien
zu einem lauffähigen Programm verbindet.
➢ Wurden innerhalb der Programmierung Bibliotheken verwendet, werden auch
diese mit eingebunden.
➢ Der Linker übernimmt überdies die Umwandlung symbolischer Adressen von
Funktionen und Variablen in reelle Speicheradressen.

Folie 16 02.09.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke
Debugger
➢ Ein Debugger ist ein Tool, mit welchem ein Programm schrittweise nachverfolgt
werden kann. Es dient zur Auffindung von Fehlern in Soft- und Hardware.
➢ Der Entwickler kann das Programm in Einzelschritten nachverfolgen (Single-
Step).
➢ Es ist möglich das Programm mit sogenannten Breakpoints (Haltepunkten) an
bestimmten Codestellen anzuhalten.
➢ Debugger bieten die Möglichkeit Registerinhalte und Variableninhalte einzusehen
und zu verändern (Watch-Funktion).
➢ Einige wenige Debugger bieten auch die Möglichkeit des Tracings an. Hierbei
können Daten für eine spätere Auswertung über einen bestimmten Zeitraum
aufgezeichnet werden.
➢ Debugger sind meist ein Bestandteil von Entwicklungsumgebungen (z.B. Keil
µVision, Microsoft Visual Studio, etc.) oder können dort eingebunden werden
(z.B. GDB).

Folie 17 02.09.2014, Prof. J. Wietzke, übernommen und modifiziert aus Vorlagen von Dipl.-Ing.(FH) Ralf Hanke

Das könnte Ihnen auch gefallen