Forum: Compiler & IDEs gcc-installation


von juergeng (Gast)


Angehängte Dateien:

Lesenswert?

hi,
hab nach der anleitung wie auf
http://www.mikrocontroller.net/avr-gcc-installation.htm beschrieben
alles gemacht, aber im AStudio3.56 bekomme ich beim Project/Build immer
die Fehlermeldung "Error creating process, Das System kann die
angegebene Datei nicht finden".

Vielleicht noch die Info zum Setzen der Umgebungsvariable.
Siehe das Screenshot im Anhang.

Kann mir da jemand sagen was ich vergessen oder falsch gemacht habe?

lg
juergen

von Marc Vollmer (Gast)


Lesenswert?

Hallo Jürgen,

in dem Ordner C:\avrgcc\bin befinden sich doch diverse ausführbare
Dateien (Ich weiß nicht genau welche, da ich winavr installiert habe).
Wenn Du nun ein einfaches DOS-Fenster öffnest, und dort einen Befehl
aus diesem Verzeichnis eingibst, wird dieser dann ausgeführt?

Dies wäre die Überprüfung, ob die Pfade stimmen...

Die andere Frage ist, wieso verwendest Du nicht einfach winavr, dort
geht alles automatisch...

http://winavr.sourceforge.net/

Gruss
Marc

von juergeng (Gast)


Lesenswert?

hi marc,

bei eingabe eines befehls z.B. avr-gcc taucht kurz ein DOS-Fenster auf
und verschwindet dann wieder. ich weiss nicht wie das zu verstehen ist,
wenn z.B. kein target definiert ist.

frage zur Umgebungsvariable: ist die richtig gesetzt (beim user)?

frage zu winavr: was muss ich da tun um mit winavr arbeiten zu können
(hab ein stk200). gibt's da spezielle winavr-files die ich downloaden
und installieren muß?

lg
jürgen

von Marc Vollmer (Gast)


Lesenswert?

Hi,

>bei eingabe eines befehls z.B. avr-gcc taucht kurz ein DOS-Fenster
auf
>und verschwindet dann wieder. ich weiss nicht wie das zu verstehen
ist,
>wenn z.B. kein target definiert ist.

Okay, also macht das Teil schon mal was... Jetzt mache einfach mal ein
DOS-Fenster auf (Start->Ausführen->cmd) und starte mal ein Programm aus
dem avrgcc Verzeichnis bin. Jetzt siehst Du nämlich auch die
Fehlermeldung. Der Befehl make müßte als Beispiel enthalten sein.

>frage zur Umgebungsvariable: ist die richtig gesetzt (beim user)?

Wenn es funktioniert, ist es immer richtig, aber ich setze immer als
System, aber es wird Systemadministratoren geben, die dies nicht gut
finden. Ich arbeite allerdings alleine auf meiner Kiste.

>frage zu winavr: was muss ich da tun um mit winavr arbeiten zu können
>(hab ein stk200). gibt's da spezielle winavr-files die ich
downloaden
>und installieren muß?

Es gibt beim winavr das Programm avrdude, aber inwieweit dies für den
STK200 funktioniert weiß ich leider nicht. Ich benutze einen Low-Cost
ISP von Andreas, und die Programme übertrage ich immer mit PonyProg
oder yaap. Aber der STK200 stellt einen gewissen Standard dar, der
soltle schon irgendwie anzusprechen sein.

Gruss
Marc

von juergeng (Gast)


Angehängte Dateien:

Lesenswert?

hi,

momentan bin ich ein bißchen verzweifelt. bezüglich der avr-gcc
installation da weiß ich nicht recht wo ich suchen soll, um z.B. ein
gcctest-beispiel compilieren und linken zu können.

Ich habe die pfade nochmals kontrolliert und nun alle einträge für die
umgebungsvariable unter system (also nicht wie vorher unter user)
gemacht.

ich bekomme aber auch schon beim kompilieren einer gcctest.c datei eine
fehlermeldung (siehe screenshot), wenn ich im gcctest verzeichnis bin
und make eingebe(in DOS-Fenster). ich habe ins makefile im verzeichnis
der gcctest1.c datei hineingeschaut und kontrolliert, aber meiner
meinung ist alles ok.


add on: variante winavr, hab ich auch schon probiert, nur
im makefile scheint da irgendetwas an einstellungen noch nicht zu
stimmen, da keine .elf-datei generiert wird, die ja dann für die
weiteren steps beim kompilieren und linken gebraucht werden. es wird
daher abgebrochen und tja, da weiß ich nicht weiter!!

ich habe die installation und ein testprogramm nach der anleitung wie
unter http://www.avrfreaks.com/Tools/showtools.php?ToolID=376
beschrieben (install_config_WinAVR.pdf) alles genau eingegeben und
trotzdem geht's nicht.

hoffe es kann mir jemand weiterhelfen und den einen oder anderen tipp
geben.

vielen dank im voraus

lg
jürgen

von mthomas (Gast)


Lesenswert?

Sieht aus wie eine unglueckliche Mischung aus alten
und neuen Versionen.
Deinstalliere alle alten avr-gcc/winavr Installationen und
installiere winavr nochmal neu,
http://winavr.sourceforge.net/ aktuell ist Version 20030913.
Dort werden auch Beispiele mitgeliefert. Die avrfreaks-Beispiele
sind soweit ich mich erinnere auch veraltet. Wie Marc
bereits geschrieben hat:
avrdude kann mit dem STK200-Dongle umgehen. Wird bei winavr
mitgeliefert. give-io muss als service installiert sein, falls
WinNT,2K,XP genutzt wird um die IO-Adresse des Druckeranschlusses
fuer winavr freizuschalten.

Martin

von juergeng (Gast)


Lesenswert?

hi,

du hattest recht mit dem neu installieren. auf einmal hat es
funktioniert, aber ich bekam beim kompilieren bzw. linken folgende
message im output-window "warning: NUL charakter seen; rest of line
ignored;***missing operator. Stop".

Sourcecode:
#define _AVR_AT90S8515_
#include <avr/io.h>
#include <avr/delay.h>
int main (void)
{
  unsigned char counter;
  //set PORTB for output
  DDRB =0xFF;
  while (1)
  {
  //set PORTB.2 high
  PORTB |=1<<2;
  //wait (10 *120000)cycles =wait 1200000 cycles
  counter =0;
  while (counter !=5)
  {
   //wait (30000 x 4)cycles =wait 120000 cycles
   _delay_loop_2(30000);
   counter++;
  }
  //set PORTB.2 low
  PORTB &=~(1<<2);//wait (10 *120000)cycles =wait 1200000 cycles
  counter =0;
  while (counter !=5)
  {
   //wait (30000 x 4)cycles =wait 120000 cycles
   _delay_loop_2(30000);
   counter++;
  }
  return 1;
 }
###########


Auszug aus makefile:
# WinAVR Sample makefile written by Eric B. Weddington, Jörg Wunsch, #
et al.
# On command line:
#
# make all = Make software.
#
# make clean = Clean out built project files.
#
# make coff = Convert ELF to AVR COFF (for use with AVR Studio 3.x or #
VMLAB).
#
# make extcoff = Convert ELF to AVR Extended COFF (for use with AVR
#Studio
#                4.07 or greater).
#
# make program = Download the hex file to the device, using avrdude.
#Please
#                customize the avrdude settings below first!
#
# make filename.s = Just compile filename.c into the assembler code
#only
#
# To rebuild project do "make clean" then "make all".
#


# MCU name
MCU = at90s8515

# Output format. (can be srec, ihex, binary)
FORMAT = ihex

# Target file name (without extension).
TARGET = test1

# Optimization level, can be [0, 1, 2, 3, s]. 0 turns off
#optimization.
# (Note: 3 is not always the best optimization level. See avr-libc
FAQ.)
OPT = s


# List C source files here. (C dependencies are automatically
#generated.)
SRC = $(TARGET)

# If there is more than one source file, append them above, or modify
#and
# uncomment the following:
#SRC += foo.c bar.c

# You can also wrap lines by appending a backslash to the end of the
#line:
#SRC += baz.c \
#xyzzy.c



# List Assembler source files here.
# Make them always end in a capital .S.  Files ending in a #lowercase
.s
# will not be considered source files but generated files (assembler
# output from the compiler), and will be deleted upon "make clean"!
# Even though the DOS/Win* filesystem matches both .s and .S the same,
# it will preserve the spelling of the filenames, and gcc itself does
# care about how the name is spelled on its command-line.
ASRC =


# List any extra directories to look for include files here.
#     Each directory must be seperated by a space.
EXTRAINCDIRS =


# Optional compiler flags.
#  -g:        generate debugging information (for GDB, or for COFF
#conversion)
#  -O*:       optimization level
#  -f...:     tuning, see gcc manual and avr-libc documentation
#  -Wall...:  warning level
#  -Wa,...:   tell GCC to pass this to the assembler.
#    -ahlms:  create assembler listing
CFLAGS = -g -O$(OPT) \
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \
-Wall -Wstrict-prototypes \
-Wa,-adhlns=$(<:.c=.lst) $(patsubst %,-I%,$(EXTRAINCDIRS))


# Set a "language standard" compiler flag.
#   Unremark just one line below to set the language standard to use.
#   gnu99 = C99 + GNU extensions. See GCC manual for more information.
#CFLAGS += -std=c89
#CFLAGS += -std=gnu89
#CFLAGS += -std=c99
CFLAGS += -std=gnu99



# Optional assembler flags.
#  -Wa,...:   tell GCC to pass this to the assembler.
#  -ahlms:    create listing
#  -gstabs:   have the assembler create line number information; note
#that
#             for use in COFF files, additional information about
#filenames
#             and function names needs to be present in the assembler
#source
#             files -- see avr-libc docs [FIXME: not yet described
#there]
ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs



# Optional linker flags.
#  -Wl,...:   tell GCC to pass this to linker.
#  -Map:      create map file
#  --cref:    add cross reference to  map file
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref



# Additional libraries

# Minimalistic printf version
#LDFLAGS += -Wl,-u,vfprintf -lprintf_min

# Floating point printf version (requires -lm below)
#LDFLAGS += -Wl,-u,vfprintf -lprintf_flt

# -lm = math library
LDFLAGS += -lm




# Programming support using avrdude. Settings and variables.

# Programming hardware: alf avr910 avrisp bascom bsd
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
#
# Type: avrdude -c ?
# to get a full listing.
#
AVRDUDE_PROGRAMMER = stk200


#AVRDUDE_PORT = com1     # programmer connected to serial device
AVRDUDE_PORT = lpt1  # programmer connected to parallel port

AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep

AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)

########### end

es wurde ausserdem kein downloadbares file(.rom) beim builden
generiert.

stimmt die makefile-einstellung?

lg
jürgen

ps: sorry, ich wollte einen dateianhang mitschicken, aber diese
funktion ist momentan deaktiviert.

von octi (Gast)


Lesenswert?

hat irgendwer von euch ein ganz einfaches programm für den stk200 womit
ich die leds teste(lauflich oder so).ich habe noch nie mit avr
gearbeitet und weiß nicht wie es geht.
ich habe einen at90s8515 chip drinnen.

octi

von Jörg Wunsch (Gast)


Lesenswert?

Schau mal rein, irgendwo im WinAVR gibt's ein demo.c, ist kein
Lauflicht sondern eine PWM-Steuerung für eine einzelne LED, aber das
müßtest Du einigermaßen schnell zum Laufen bekommen.

von octi (Gast)


Lesenswert?

hy.
ich hätte eine andere frage?
weißt du was man beim stk200 umstecken muss damit man den IC Flash oder
EEprom laden kann?
ich habs bis jetzt nicht herausgefunden!
ich arbeite mit dem avr c compiler und dem avr studio 3!
Kann es sein das man was beim Programm umstellen muss?

lg octi

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.