HOME
 VORLESUNGEN
ABSCHLUSSARBEITEN
PROJEKTE
FORSCHUNG
LINKS
AKTUELLES



Fakultät Elektrotechnik und Informationstechnik

Vorlesungen > Mikrocomputertechnik > UV3-Projekte

Ein neues Projekt erstellen 

Projekt erzeugen (Compilieren)

Testen von Programmen (debug) 

Test peripherer Funktionen

Hilfreiche Debug Commands für das Command Window (Output Window)

 

 

 

 

 

 

 

 



Ein neues Projekt erstellen

  1.  New Project in Menü Project anklicken. Es öffnet sich das "Create-New-Project"-Fenster.



  2. Neuen Dateinamen eingeben, den zu speichernden Ordner selektieren und Speichern drücken (die Erweiterung .uVx wird automatisch angehängt).
  3. Es öffnet sich automatisch das Fenster "Select device for target 'Target1'"

     

     

    Selektieren Sie in dem linken Fenster den Hersteller und den Prozessor, den Sie in dem Projekt verwenden wollen
    (hier: C515C-L von Infineon).

    Die Eigenschaften des Prozessors werden im rechten Fenster automatisch angezeigt.

    Klicken Sie OK.

     

  4. Source File mit einbinden:
    Neues Source File erzeugen durch Klicken von File - New im Menu Bar. Es wird ein leeres Fenster im Editor aufgemacht, in das der neue Quellcode eingegeben wird. Danach wird die Datei mit File - Save As mit dem gewünschten Filenamen und dem Zusatz ".c" für ein C-Programm, bzw. ".asm" für ein Assemblerprogramm gespeichert.
    Anschließend wird das neue Quellprogramm in das Projekt eingebunden:

    Project Window - Files öffnen, klicken mit der rechten Maustaste auf Source Group1 und Add Files selektieren.

    In dem neuen Fenster entsprechendes File suchen, selektieren  und Add anklicken. Das neue File wird unter Source Group1 angezeigt.

    Falls schon ein Source File existiert, kann dies direkt mit obigen Befehlen in das Projekt eingebunden werden.

 



Projekt erzeugen (Compilieren).

Das Source-File wird durch Klick auf das Build Target Toolbar Icon    übersetzt.
 

Werden bei der Übersetzung Fehler entdeckt, werden diese in der Output Window - Build Seite angezeigt.
Doppelklick auf die Fehlerzeile im Output Window - Build zeigt den Fehler des Quelltextes im Editor Fenster mit einem Pfeil an.

Bei fehlerfreien Übersetzung kann das Debuggen beginnen.

 



Testen von Programmen (debug)

Durch Klick auf Icon     oder durch Menü Debug - Start/Stop Debug Session wird der Debug-Modus von µVision ein- bzw. ausgeschaltet.
Es wird entweder das Editor Fenster mit dem Quelltext oder das Disassembler Fenster aufgemacht. Gleichzeitig schaltet das Programm Fenster auf CPU-Register-Anzeige um und der Debug-Toolbar wird aktiv.
Wenn das Disassembly Window aktiv ist, beziehen sich alle Debug-Programm-Schrittanweisungen auf Programm Befehle (instructions), ist das Quelltext Fenster aktiv, auf Programmzeilen (ist der Quelltext in Assembler geschrieben, besteht kein Unterschied). 

Breakpoints    ermöglichen es, das Programm an definierbaren Stellen anzuhalten. Dies ist insofern wichtig, da man damit die Registerinhalte zu beliebigen Zeitpunkten auf Validität prüfen und damit auf die richtige Abarbeitung des Programms schließen  kann.

Durch Klicken des Icons     wird das Project Window geöffnet, bzw. geschlossen; die Register der CPU werden dabei unter Register angezeigt. Zur Darstellung aller Variablen dient das Watch Window, das über Icon    aktiviert/deaktiviert wird.

Die Locals Seite zeigt alle als Lokal definierten Funktionsvariablen.
Auf den Watch Seiten, können Anwender spezifische Programmvariablen definiert werden.

 

Über das Memory Window     kann der Inhalt verschiedener Speicherbereiche angezeigt werden. Tragen Sie dazu die Adresse unter "Adress" ein.


 

 

 

 



Test peripherer Funktionen

µVision erlaubt den Test peripherer Funktionen des jeweils selektierten Mikrocontrollers. Hierzu erscheint automatisch eine Liste der möglichen Funktionen unter dem Menü Peripherie.

Selektion der jeweiligen peripheren Einheit öffnet das entsprechende Fenster

 

 


 


Hilfreiche Debug Commands für das Command Window (Output Window)

Die dargestellten Befehle sind Beispiele!

R0=0ABh             => setzt Register 0 auf den Wert AB (in hex); 0 benötigt vor Buchstabe!
R0 <Enter>          => gibt den Inhalt von Register0 wieder
d x:0x1000           => zeigt externes Memory (RAM) ab Adresse 1000h an
d d:0x80               => zeigt direkt adressierbaren internen Speicherbereich ab Adresse 80h an3
e x:0x1900=3Ah => schreibt "3Ah" auf den externen Speicherplatz 1900h.
$=0x1000            => Marker springt auf Adresse 1000h (PC wird mit 1000h geladen).
AIN1=3.3             => setzt A/D-Wandler1 Eingang auf 3.3 Volt
Der Prefix 0x definiert eine Hexzahl, 0b eine Binärzahl. Statt dessen kann auch das Suffix h bzw. b verwendet werden.