www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR USB Lab 'Das erste Programm'


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte das AVRISP_mini, welches auf der Seite

http://www.ullihome.de/index.php/Hauptseite

vorgestellt wird, nutzen. Um die aufgebaute Schaltung erstmal zu testen, 
habe ich versucht das Tutorial

http://www.ullihome.de/index.php/AVR_Tuturials/fir...

nachzuvollziehen.
Dabei sind zwei Probleme aufgetreten:

1. Versuche ich den unter 'Mit AVR USB Lab' aufgeführten Code zu 
kompilieren wird <avr/io.h> nicht gefunden.

2. Versetze ich das AVR USB Lab in den Bootmodus, so erscheint ein 
Eingabefenster, bei dem ich nicht weiss, was einzugeben ist. Ich finde 
einfach keien README o.ä., wo dazu etwas geschrieben ist.

Gruß
Simon

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

1. Du musst WinAVR installiert haben um die Userfirmware compilieren zu 
konnen.

2. Es steht sogar im Fenstertitel und auch im Hauptfenster des AVR USB 
Lab Tools das du da den Com port eingeben musst den das Tool zugewiesen 
bekommen hat wenn du eije Firmware aufgespielt hast die einen Virtuellen 
Com Port nutzt. Wo würdest du denn noch Dokumentation dazu erwarten ?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

Vielen Dank erstmal für die Antwort.

Zu 1.:
WinAVR hatte ich bereits installiert. Ursprünglich hatte ich das Problem 
auf fehlende Umgebungsvariablen zurückgeführt, aber da ist alles so 
gesetzt wie im Manual angegeben. Gibt es vielleicht noch eine typische 
Anfänger-Stolperfalle?

Zu 2.:
Der Hardware-Manager zeigt kein virtuelles COM-Port an. Wie bekomme ich 
den Namen und die Nummer des COM-Ports?

Gruß
Thomas

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu 1. Die avr/io.h ist im WinAVR PAckage enthalten wenn das richtig 
installiert ist und vom AVR Studio gefunden wird muss er auch das 
headerfile finden. Ich hab jetzt auf die schnalle keine Idee warum er 
das nicht finden sollte.

zu 2. Was hast du denn für eine Firmwre draufgespielt, im Falle des 
AVRISPmkII muss der LibUSB Filter Treiber installiert sein damit das 
Tool ihn anzeigt. Der wird nicht standartmässig mitinstalliert weil er 
auf ca 20% der Systeme Probleme macht. Wenn du USB Maus und Tastatur 
hast würd ich dir davon abraten den zu installieren, er zerschiesst in 
manchen Fällen den USB Stack komplett. Deinstallaton hilft ist aber ohne 
Maus und Tastatur schwierig ;).
In der produktinfo ist die "pinzetten Methode" beschrieben, mit der 
bekommst du das Lab immer wieder in den Bootmodus unabhängig welche 
Firmware installiert ist.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es kann sein ...

avr studio erzeugt ein projectfile was leider keine pfade enthält

unter Project ->  Configuration Options
im reiter : "Include Directories"

dort oben auf den ordner und die pfade zur WINAVR LIB angeben
meist :

C:\WINAVR-<xxbuild> \ AVR \ include
C:\WINAVR-<xxbuild> \ AVR \ include \AVR
C:\WINAVR-<xxbuild> \ AVR \ include \UTIL

das sollte in 90% alle fälle ausrechend sein

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke für den Hinweis. Die Fehlermeldung sieht jetzt folgendermaßen 
aus

../test02.c:2: error: expected identifier or '(' before '.' token
make: *** [test02.o] Error 1
Build failed with 1 errors and 0 warnings...


während es vorher nur einen Hinweis darauf gab, dass 'avr/io.h' nicht 
eingebunden werden kann.
Da der Code selber ja eigentlich korrekt sein sollte, ist mir die obige 
Fehlermeldung ein völliges Rätsel.

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In meinem Code gibt es keine test02.c ich kann also schlecht etwas dazu 
sagen.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bekomme langsam das ungute Gefühl, hier etwas total falsch 
verstanden zu haben.
Ich habe den Code

#include <avr/io.h>
  .section .text
  .global main
main:
  rcall   avrlab_init

  ldi r16, 0b00001000
  out DDRB, r16
  out PORTB, r16

polling_loop:
  rcall   avrlab_poll
  rjmp polling_loop
ret
.global __vector_default
__vector_default:
reti
.end

in einem GCC-Projekt namens test02 abgespeichert (dadurch heißt die 
Datei automatisch test02.c).
War das bis dahin richtig?

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach soo, nein dafür gibts ein spezielles AVR Studio projekt von mir, ich 
lad das morgen mal hoch.

Gruß
Christian

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.