PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AT90USB1287 und Beispielprogramm CDC (UART --> USB-UART)



Bumbum
14.11.2006, 16:08
Hallo,

ich versuche gerade seit Stunden in einen AT90USB1287 das mitgelieferte Beispielprogramm CDC über das AVR-Studio in AVR GCC zu flashen. Leider habe ich dabei Probleme bei der Compilierung, da beim Beispiel die .aps-Datei fehlt und ich somit alle Dateien selbst ins Studio laden muss.

Kann mir jemand einen Tipp geben wo ich ein Beispiel für CDC bekomme (UART nach USB-UART) das ich einfach ins AVR-Studio laden kann, bzw. was ich alles machen muss um das mitgelieferte Beispiel zu compilieren?

Wenn ich ein leeres AVRGCC-Projekt öffne und anfange die Dateien (Main.c, etc...) hinzuzufügen sind es erst mal "nur" 4 Fehlermeldungen beim compilieren, und zwar das eingie Dateien fehlen. Wenn ich aber diese Dateien hinzufüge bzw. in den Projekt-Ordner kopiere werden es immer mehr Fehlermeldungen beim compilieren. Je mehr Fehler ich ausbessere, umso mehr Fehler kommen dazu. Ich stehe gerade total auf der Leitung. Im moment habe ich soviele Fehlermeldungen unter denen ich mir nichts erklären kann das ich erst mal aufgeben muss.

Ich hoffe hier kann mir jemand helfen!

Viele Grüße
Bumbum

SprinterSB
14.11.2006, 16:15
Wenn es ein fertiges Projekt ist, dann ist bestimmt ein Makefile anbei und README und so. Wozu willst du das nicht von ner Shell aus generieren?

Bumbum
14.11.2006, 16:25
Hallo Georg-Johann,

ich möchte das Beispiel verstehen und etwas daran ändern und dabei lernen. Vor allem bin ich neu im C-Programmieren und möchte auch hier mein Wissen erweitern.

Ich habe bereits eine Anwendung programmiert, die auf dem AT90USB1287 läuft, und möchte nun eine USB-RS232-Schnittstelle hinzufügen. Dazu dachte ich binde ich einfach dieses Beispiel ein und alles läuft, aber da habe ich erst mal falsch gedacht...

Ich schaue schon den ganzen Tag durch USB-Dokumentationen und ehrlich gesagt ist mir das ganze zu kompliziert und vor allem zeitaufwendig mich da einzuarbeiten, vor allem weil es ja scheinbar alles schon fertig gibt.

Viele Grüße
Bumbum

SprinterSB
14.11.2006, 16:33
"nur" ist gut... USB ist nicht einfach, das ist dir ja klar. Wenn's nur ein Tag USB-Spez lesen ist, dann bist du echt flott :-)

Geht ein build von console aus? Wenn das nicht geht geht's von AVR-Studio aus schon garnicht...

Bumbum
14.11.2006, 16:43
Hallo Georg-Johann,

sorry ich bin noch zu neu in C-Programmierung um deiner Frage folgen zu können. Was ist ein Build von der Console aus?

Um aber kein falsches Bild über micht entstehen zu lassen: Programmieren kann ich sehr gut, bis jetzt aber nur in den Sprachen Assembler, Basic und Pascal.

Ich verstehe halt nicht ganz warum Atmel überhaupt ein Beispiel ausliefert das überhaupt nicht lauffähig ist, bzw. um es lauffähig zu bekommen man erst mal Tagelang sich den Kopf zerbrechen muss. Da kann ich das ganze ja gleich selbst programmieren. Ein Beispiel sollte dazu da sein einfach zu zeigen wie's geht.

Viele Grüße
Bumbum

SprinterSB
14.11.2006, 16:45
Wo gibt's denn das Projekt? Ich vermute mal das ist für IAR erstellt.

Bumbum
14.11.2006, 17:01
Hallo,

das ist auf der CD vom STK drauf gewesen. Es war Passwort geschützt und nach Registrierung bei Atmel hat man die Kennwörter für die Beispiele bekommen.

Ich würde es dir gerne mal schicken, wenn du dich dazu in der Lage fühlst das ganze mal anzuschauen. Ich wäre dir sehr dankbar dafür! Falls das in Ordnung ist, schicke mir einfach mal eine eMail an:

Andreas.Karl ät tbv-heitzenroether.de

Viele Grüße
Bumbum

SprinterSB
14.11.2006, 17:58
Hast du


./Atmel/at90usb128-demo-cdc-1_0_0/at90usb128/demo/cdc/gcc/README_GCC.txt

gelesen und die darin beschriebenen Patches gemacht?

Bumbum
15.11.2006, 09:17
Guten Morgen SprinterSB,

vielen Dank für den Tipp. Das habe ich in der Tat noch nicht gemacht. Allerdings hat das immer noch keine Besserung gebracht. Im moment hängt mein erster Fehler im Compiler-Fenster im Modul usb_task und dort in der Funktino usb_task_init.

Dort schimpft er, das der Port UHWCON nicht definiert ist. Er ist aber über include "config.h" und dort über include "avr/io.h" eingebunden. Wenn ich die io.h direkt mit include im Modul usb_task einbinde ist dieser Fehler behoben, der Compiler beschwert sich aber über die falsch definierte Interrupt-Funktion ISR (SIG_USB_GEN).

Ich bin leider zu neu in C um die ganzen Fehlermeldungen zu deuten, deshalb hoffe ich das mir hier jemand helfen kann. Vor allem weiß ich nicht ob ich durch mein "gepfusche" bis jetzt um andere Fehler auszubessern nicht schon wieder etwas kaputt gemacht habe.

Mir wäre am liebsten eine Anleitung nach dem Motto: Datei X kommt ins Verzeichnis Y und dann musst du noch diese Datei und diese und diese in dein Projekt übernehmen. Theoretisch müsste ich doch nur die main.c vom Beispiel einbinden und der Rest muss in die include-Verzeichnise vom WinAVR. Aber so ganz verstanden wie habe ich es noch nicht.

Viele Grüße
Andreas

SprinterSB
15.11.2006, 13:30
Hast du Studio gesagt, daß das Makefile extern ist?
Hast du die passende avr-gcc-Version? Keine Ahnung, was das Projekt für ne Version will. Welche hast du?

Eigentlich musst du nix machen ausser

-- die richtigen Versionen von avr-gcc, binutils, avr-libc besorgen
-- die beschriebenen Patches machen
-- make (in dem Verzeichnis)

AVR-Studio kenne ich nicht. Ich hab's mir nur 1x angeschaut, ist mit zu klotzig. Und teilweise sind die Dateien auch nicht unter AVR-Studio erstellet. So begeistert scheinen die Atmel-Entwickler also nicht davon zu sein...