Forum: Compiler & IDEs Anfängerfrage in C


von Carsten (Gast)


Lesenswert?

Hallo Forum...
da ich jetzt in C einsteigen muß/möchte, habe ich auch prompt das erste
Problem:
Was muss ich im Make-File eintragen um einen Attiny2313 zu compilieren
?

von OldBug (Gast)


Lesenswert?

Benutze MFile und dessen Menüs, da geht das ganze Spiel wesentlich
einfacher, als "zu Fuß"...

von Thorsten (Gast)


Lesenswert?

Benutze das Tool MFile, dort kannst du den gew. Prozessor einstellen und
bekommst ein fertiges Makefile erzeugt.

von Carsten (Gast)


Lesenswert?

Guter Tipp.
Einziges Problem:
Da gibt es keinen Attiny 2313.
Hab ich vielleicht ne alte Version ?
Laut AVRlibc sollte der 2313 unterstützt werden.

von OldBug (Gast)


Lesenswert?

Oh, der fehlt bei mir tatsächlich auch!

Möglicherweise "nur" im Menü vergessen worden.
Editiere das Makefile mit Deinem Lieblingeditor und suche nach "MCU
=" und trage dort

MCU = attiny2313

ein. Ich bin mir allerdings nicht sicher, ob das wirklich funktioniert,
weil ich nicht sagen kann, weshalb der Tiny2313 nicht in MFile
auftaucht. Falls das Kompilat funktioniert, solltest Du Jörg Wunsch mal
darauf hinweisen, aber vielleicht liest er es ja selber mit ;-)

von Carsten (Gast)


Lesenswert?

Es funktioniert nicht. Das war schon mein erster Versuch.
Die Compiler-Ausgabe sagt folgendes:

#elif defined (_AVR_ATtiny2313_)
#  include <avr/iotn2313.h>

...also müsste es ihn geben.

von OldBug (Gast)


Lesenswert?

attiny2313 sollte aber laut "avr-gcc --target-help" unterstützt
werden:

Known MCU names:
  avr1 avr2 avr3 avr4 avr5 at90s1200 attiny10 attiny11 attiny12
attiny15
  attiny28 at90s2313 at90s2323 at90s2333 at90s2343 attiny22 attiny26
  at90s4433 at90s4414 at90s4434 at90s8515 at90s8535 at90c8534
at86rf401
  atmega603 atmega103 at43usb320 at43usb355 at76c711 atmega48 atmega8
  atmega83 atmega85 atmega88 atmega8515 atmega8535 attiny13 attiny2313
  atmega16 atmega161 atmega162 atmega163 atmega168 atmega169 atmega32
  atmega323 atmega64 atmega128 at90can128 at94k
  no emulation specific options.

von Carsten (Gast)


Lesenswert?

Das gibts ja nicht...
der kann nur mit Kleinschreibung ?
ATTiny2313 muß attiny2313 heißen.

Kan man die Groß-Klein-Unterscheidnug im Compiler abstellen ?
PortD ist nicht gleich PORTD

von OldBug (Gast)


Lesenswert?

grmpf NEIN, das kann man NICHT abstellen!

C ist nunmal Case-Sensitive. Make ebenfalls...

von Carsten (Gast)


Lesenswert?

Sorry, bin halt Anfänger.
Mit [WinAVR] Programm wird doch der Code in den Prozessor geschrieben.
Das geht bei mir nicht.

Folgende Ausgabe:
> "make.exe" program
avrdude -p attiny2313 -P com1     -c stk500    -U flash:w:main.hex
avrdude: stk500_getsync(): not in sync: resp=0x00
make.exe: *** [program] Error 1

> Process Exit Code: 2
Das STK500 hängt am Com1
Und das steht im Makefile:
AVRDUDE_PROGRAMMER = stk500
AVRDUDE_PORT = com1
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)

von Rufus T. Firefly (Gast)


Lesenswert?

Gut, aber diese_ Fehlermeldung bedeutet was _vollkommen anderes.

Hast Du denn ein STK500, das Du als Programmiergerät benutzt?

Die von Dir gepostete Fehlermeldung

   avrdude: stk500_getsync(): not in sync: resp=0x00

besagt nämlich, daß avrdude (die Flash-Programmiersoftware) sich nicht
mit dem Programmiergerät unterhalten kann.

von Carsten (Gast)


Lesenswert?

Jo, habbich.

von OldBug (Gast)


Lesenswert?

...und hast wahrscheinlich schön fleissig, wie AVRStudio das möchte, die
Firmware updated?
Dann kannste das erst mal vergessen...

von Carsten (Gast)


Lesenswert?

Na, ist ja prima.
Braucht noch jemand ein wenig benutztes STK500 ?
...das kann doch nicht sein oder ?

von OldBug (Gast)


Lesenswert?

Doch, Atmel hat vor einigen Monaten wohl ein neues Protokoll
verabschiedet. Durch das Update kennt das STK500 das alte nicht mehr.
Es gibt schon ein paar Hacks, um avrdude wieder mit dem STK500 reden zu
löassen, aber das ist wohl alles (AFAIK) noch nicht released. Such
einfach mal danach...

von Andreas W. (Gast)


Lesenswert?


von Carsten (Gast)


Lesenswert?

...tausend Dank...
werd ich mal ausprobieren.

von Jörg Wunsch (Gast)


Lesenswert?

Aktuelles Beta für AVRDUDE:

http://savannah.nongnu.org/download/avrdude/avrdude-5.0-BETA.tar.gz

Eric Weddington wollte auch noch ein Windows-Binary dafür machen.

von Carsten (Gast)


Lesenswert?

Das wäre toll...

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.