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


von Andreas (Gast)


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.

von Huch (Gast)


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?

von Andreas (Gast)


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...

von Huch (Gast)


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.

von Uwe S. (de0508)


Angehängte Dateien:

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.

.

von Andreas (Gast)


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

von Huch (Gast)


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.

von Andreas (Gast)


Lesenswert?

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

von Andreas (Gast)


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.

von Uwe S. (de0508)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.