Themen / Inhaltsliste / English

ATMEL programmieren in C++ mit AVR Studio mit Plugin AVRGCC

Content (automatic)

Anleitung zur Benutzung des AVR Studio mit Plugin AVRGCC zur Kompilierung von *.cpp-Dateien aus HOME\CC\...

Warnung

Das Atmel AVR Studio astudio Version 4.21 Service Pack 4 Build 498 neigt zu häufigen Abstürzen. Eine Alternative wäre vielleicht IAR-Studio.
Siehe #abstuerze

Installation

Herunterladen von gnuavr von (Datei: [WinAVR-20060125-install.exe]) von sf.net http://winavr.sourceforge.net
Herunterladen von Atmel AVR Studio 4 (Datei : [aStudio4.12SP1b462.exe]) von der Atmel home page http://www.atmel.com
Herunterladen von  Ponyprog (Datei: PONYPROGV206F) von der Lancos homepage http://www.lancos.com/

Installiere erst winavr, das installiert auch andere Tools wie z.B. sh, grep, tar ...nach C:\WinAVR\bin. (Siehe auch ../../winlin/winavr/00idx.htm)
Die zugehörige Hilfe wird nach C:\WinAVR\doc installiert:
C:\WinAVR\doc\avr-libc\avr-libc-user-manual-1.4.3.pdf -
C:\WinAVR\doc\gcc\cpp.pdf -
C:\WinAVR\doc\gcc\gcc.pdf -
C:\WinAVR\doc\simulavr-0.1.2.1\simulavr.pdf -

Erst danach wird das Atmel AVR Studio installiert und gestartet.

Aufruf des AVR-Studio

[Start] [Programs] [Atmel AVR Tools] [AVR STudio 4]

Vorbereitung eines Projekts

[Project] [New Project]
Project Type : AVR GCC
Location : C:\HOME\CC\QQ\AVR
[ ] Create initial file (Die Vorwahl wegnehmen! Es wird eine Datei aus dem Verzeichnis C:\HOME\CC\QQ genommen)
Project name: QQTRAFF
-- Next >> --
Select Platform AVR Simulator, Device AT90S2323 oder 8535, je für welches Ziel entwickelt wird.

Jetzt ist das AVR Studio mit einem leeren Projekt zu sehen.
  QQTRAFF (default)
   +- Source Files
   +- Header Files
   +- External Dependencies
   +- Other Files


Rechter Mausklick auf [Source Files],  Add existing source files und die Datei qqtraff.cpp auswählen.

[Project] [Configuration Options]
Im linken Fenster Include Directories das Standard-Includeverzeichnis hinzufügen [Add...] C:\HOME\CC\INCLUDE

[Project] [Configuration Options]
Im linken Fenster General  Benutze eine externe Steuerdatei Makefile.

Den Makefile anpassen. Dazu einen vorhandenen Makfile herbeikopieren, z.B. von C:\HOME\CC\QQ\AVR\QQTSHAR\Makefile oder von C:\HOME\CC\QQ\AVR\QQTSSER\Makefile und editieren: Die alten Projektnamen und Hauptprogrammnamen ersetzen und mehr Library-Dastein hinzufügen.


[Project] [Configuration Options]
Im linken Fenster General  Benutze eine externe Steuerdatei Makefile.

Arbeiten mit dem AVR Studio

F7 - neues Kompilieren
F12 - Bereinigen (Ende der täglichen Arbeit)

Hardware-Beschreibung
Die Hardware-Beschreibung erfolgt im Makefile:

MCU_TARGET     = atmega8535
DEFS           = -DMCU_CLOCK=16000000


Fehler

Probleme mit "Microsoft Visual C++ Runtime Library".
(Dieses Problem tritt häufig auf, deswegen den workspace von Zeit zu Zeit sichern) Alle viertel Stunde.

Probleme wenn das gleiche Verzeichnis ??? wird
Meldung: Mapped files at 'C:\HOME\cc\qq\AVR\QQTSHAR\' to 'C:\HOME\cc\qq\AVR\QQTSHAR\'.

Fehlermeldung: gcc plug-in: Could not insert Project data intoProject tree
Ursache: Das default-Vezeichnis fehlt
Abhilfe: Erzeugen mit md C:\HOME\CC\QQ\AVR\QQTSHAR\default
Abhilfe: Erzeugen mit md C:\HOME\CC\QQ\AVR\QQTSHAR\default\dep
Abhilfe: Den Debug-Start-Pfeil clicken und bestätigen


In die Quelldateien einfügen: #if defined AVR bzw. #if !defined AVR um prozessorabhängige Teile (nicht) zu kompilieren.

Projekte, die mit ATMEL AVR laufen

Project Build OK Simulation i.O.
Auf Zielhardware i.O. Anmerkung
qqmain




qqtraff 2006-05-21
Problem mit Dauer der Zeitschleifen
2006-10-07- Zeit überprüft!
blinkt mit drei LED : Rot - Gelb - Grün
qqtshar
2006-05-23
2006-09-30
Nicht erkennbar
Könnte optimiert werden dadurch, dass es in Assembler neu programmiert wird.
qqtstraf



Sollte blinken wie qqtraff, benutzt aber tshar, um die Zeitscheiben zu berechnen.
qqtsser
2006-08-08
2006-10-09
2006-10-09
Ein einfacher Dialog über die serielle Schnittstelle. c zeigt die Variable "counter", t Zeigt Uhrzeit, Fehler: Kann Uhrzeit nicht setzen.
Siehe qq/qqtsser.htm
qqtsfloa





Abstürze

AVR-Studio Version 4.1 Service Pack 4 Build 498 stürzt ab.

Wenn das Disassembler-Fenster mit dem Mausrad gerollt wird.

Siehe auch

avr/ccall.htm - Wie Unterpgrogramme aufgerufen werden
util/simbase.htm - Mein Simulationsprogramm
../../winlin/winavr/00idx.htm - Die Hilfprogramme, die mit WinAVR mitkommen (shell, grep, tar ...)