www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR-CDC Projekt für Atmega8 kompilieren


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich arbeite gerade mit dem Avr-CDC Projekt und versuche für einen Mega8 
die Sache zum laufen zu bekommen. Der mitgelieferte hex-file 
funktioniert bestens, würde aber gerne am Code rumfummeln und n paar 
Funktionen mehr reinmachen. Habe dazu das mitgelieferte C-Projekt 
geöffnet, bearbeitet und für Mega8 kompiliert. Doch mit dem erstellten 
hex-file wird das USB-Gerät nicht erkannt. Hab ich was übersehen? Fuses 
stimmen denk ich, sonst würde es ja mit dem vorkompilierten hex-file für 
Mega8 nicht funktionieren.

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du sagst nichts über Deine Erfahrung im Programmieren allgemein, mit 
ATMegas, C oder Deine Kenntnisse von USB.

Gehen wir mal davon aus, das es daran nicht liegt:

Schau Dir doch mal den Speicherbedarf des alten Programmes und des neuen 
an.
Welche Unterschiede siehst Du da.

Was meinst Du, was die Ursache ist? Hast Du eine Vermutung? Was hast Du 
bisher untersucht?

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es kommt immer die Meldung "USB-Gerät nicht erkannt".
Ich habe zuerst nur das Projekt avrcdcio.aps geöffnet und das Projekt 
kompiliert ohne was daran zu verändern (außer in den 
Projekteinstellungen Device=Atmega8 und ClockSpeed=12000000hz, da die 
Projekteinstellungen für Atmega48 waren). Dann ging es schon nicht...
Die hexfiles kann ich gerade leider nicht vergleichen, da die auf meinem 
PC zuhause liegen, überprüf ich aber mal.
Hab auch einen "fliegenden Aufbau" aufm Steckbrett, vielleicht wackelt 
da noch was...

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha.

Wie hast Du den Takt verändert? Wie war er vorher, wie nachher? Wegen 
des Bittimings, ist der absolut kritisch bei diesen 
Soft-USB-Implementierungen.

Es gab nie Fehlermeldungen oder Warnings?

Die Schaltung musste / musste nicht wg. dem ATMega8 angepasst oder 
sonstwie verändert werden? Evtl. Ports geändert?

Was ist jetzt mit dem Speicherbedarf?

Du schriebst doch:
> Der mitgelieferte hex-file funktioniert bestens
Hat es nun einmal funktioniert oder nicht? Wann, wo, wie, womit?


P.S.
Wenn ich mir noch die Bemerkung erlauben darf:
Für solche Folgen von Nullen hat irgendein schlauer Mensch mal Prefixe 
erfunden. k = 000, M = 000000
12000000hz läßt sich als 12MHz viel übersichtlicher darstellen und 
erspart dem Rat Gebenden die elende Nullenzählerei.
Alternativ könnte man auch Dezimalpunkte setzen 12.000.000 Hz.

Autor: Uwe S. (de0508)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

ich habe auch schon 4 Module auf einer eigen entworfenen Platine mit 
atMega8 und atMega48 aufgebaut und sie funktionieren gut.

Da ich erst die Vcc=3,3V Variante aufbaute und dann auf Vcc=5V umstellt, 
sind noch einige kleine Änderungen an der USB Beschaltung notwendig.

Zur Kontrolle deines Aufbaus hier meine beiden Schaltpläne.

Ich verwende den avr-gcc (GCC) 4.3.4 unter Linux mit einem angepassten 
Makefile.

In "avr-gcc-log.txt" findest Du einen Compilerlauf für den atMega8 bei 
12MHz Quarztakt.

Ich habe des weiteren noch die aktuelle V-USB Libs vom 2010-07-15 
verwendet, wobei dann die "usbconfig.h" noch angepasst werden muss.
Siehe Anhang.

Eine HEX-Datei für atMega8 und 12MHz ist im Anhang.

.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Uwe, ich kontrollier bei mir mal alles nach und vergleich die 
Schaltungen. Ich arbeite auch mit ner deutlich älteren avr-gcc, kann 
sein, dass da noch was im argen liegt.

Meld mich wieder, wenn ich alles ausgetestet hab.



@Huch: auf 6 wirste ja wohl noch zählen können

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas schrieb:

> @Huch: auf 6 wirste ja wohl noch zählen können

Nun, du willst ja was von uns. Warum mavhst Du es uns dann nicht 
leichter. Aber gut, wie Du meinst.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry Huch, wollte dir nicht auf den schlips treten, aber möglichst 
genau wiedergeben, was ich in den einstellungen zum projekt eingetragen 
habe...

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, ich habe das vorkompilierte file cdcio8.hex auf den controller 
geflasht und es funktioniert. wenn ich es aus dem projekt raus selbst 
kompiliere, dann erkennt der PC das USB-Gerät nicht.

Autor: Uwe S. (de0508)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Andreas,

und die Datei atmega8.hex.gz von mir, geht die auch ?

Gibt es so ein Logfile, wie das was ich angehängt habe, dann sehen wir 
weiter.

Ich denke Du solltest uns deinen Compiler, OS und die weiteren Tools 
nennen, vielleicht kommen wir dann auch weiter.

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.