Forum: Compiler & IDEs win-avr vom 14.4.06


von peter bb (Gast)


Lesenswert?

winavr-c vom 14.4.06 nimmt nur dateinamen mit "main" an und asm "S"
werden nicht angenommen, woran liegt das?

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Bist Du sicher das deine Version vom 14.04.06 ist?

Auf sourceforge gibts nur eine vom 14.04.05.
Die aktuellste ist vom 21.04.06!

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Vergessen:

Poste doch bitte mal dein makefile.

von peter bb (Gast)


Lesenswert?

du hast recht die vom 21.4.06 meine ich.

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Es gibt bisher keinen Bugreport der auf Dein Problem hindeutet.
Wenn beide Problem auf WinAVR zurückzuführen wären, dann wärst Du mit
Sicherheit nicht der 1. der das entdeckt.

Also poste doch mal das makefile mit dem die Fehler auftreten oder
vielleicht den ganzen Code.

von peter bb (Gast)


Lesenswert?

wenn ich "target= main" setze, dann compiliert er einwandfrei.

hier ist die fehlermeldung :

-------- begin --------
avr-gcc (GCC) 3.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

das ist die make mit target= robosapien :

make.exe: *** No rule to make target `obj/main.o', needed by
`robosapien.elf'.  Stop.
> Process Exit Code: 2> Time Taken: 00:02
1
# MCU name
2
MCU = atmega16
3
4
5
# Processor frequency.
6
#     This will define a symbol, F_CPU, in all source code files equal
7
to the 
8
#     processor frequency. You can then use this symbol in your source
9
code to 
10
#     calculate timings. Do NOT tack on a 'UL' at the end, this will
11
be done
12
#     automatically to create a 32-bit value in your source code.
13
#     Typical values are:
14
#         F_CPU =  1000000
15
#         F_CPU =  1843200
16
#         F_CPU =  2000000
17
#         F_CPU =  3686400
18
#         F_CPU =  4000000
19
#         F_CPU =  7372800
20
#         F_CPU =  8000000
21
#         F_CPU = 11059200
22
#         F_CPU = 14745600
23
#         F_CPU = 16000000
24
#         F_CPU = 18432000
25
#         F_CPU = 20000000
26
F_CPU = 8000000
27
28
29
# Output format. (can be srec, ihex, binary)
30
FORMAT = ihex
31
32
33
# Target file name (without extension).
34
TARGET = robosapien
35
36
37
# Object files directory
38
OBJDIR = obj
39
40
41
# List C source files here. (C dependencies are automatically
42
generated.)
43
SRC = 
44
45
46
# List C++ source files here. (C dependencies are automatically
47
generated.)
48
CPPSRC = main.cpp
49
50
51
# List Assembler source files here.
52
#     Make them always end in a capital .S.  Files ending in a
53
lowercase .s
54
#     will not be considered source files but generated files
55
(assembler
56
#     output from the compiler), and will be deleted upon "make
57
clean"!
58
#     Even though the DOS/Win* filesystem matches both .s and .S the
59
same,
60
#     it will preserve the spelling of the filenames, and gcc itself
61
does
62
#     care about how the name is spelled on its command-line.
63
ASRC = 
64
65
66
# Optimization level, can be [0, 1, 2, 3, s]. 
67
#     0 = turn off optimization. s = optimize for size.
68
#     (Note: 3 is not always the best optimization level. See avr-libc
69
FAQ.)
70
OPT = s
71
72
73
# Debugging format.
74
#     Native formats for AVR-GCC's -g are dwarf-2 [default] or stabs.
75
#     AVR Studio 4.10 requires dwarf-2.
76
#     AVR [Extended] COFF format requires stabs, plus an avr-objcopy
77
run.
78
DEBUG = stabs
79
80
81
# List any extra directories to look for include files here.
82
#     Each directory must be seperated by a space.
83
#     Use forward slashes for directory separators.
84
#     For a directory that has spaces, enclose it in quotes.
85
EXTRAINCDIRS = 
86
87
88
# Compiler flag to set the C Standard level.
89
#     c89   = "ANSI" C
90
#     gnu89 = c89 plus GCC extensions
91
#     c99   = ISO C99 standard (not yet fully implemented)
92
#     gnu99 = c99 plus GCC extensions
93
CSTANDARD = -std=gnu99
94
95
96
# Place -D or -U options here for C sources
97
CDEFS = -DF_CPU=$(F_CPU)UL
98
99
100
# Place -D or -U options here for C++ sources
101
CPPDEFS = -DF_CPU=$(F_CPU)UL
102
#CPPDEFS += -D__STDC_LIMIT_MACROS
103
#CPPDEFS += -D__STDC_CONSTANT_MACROS
104
105
106
107
#---------------- Compiler Options C ----------------
108
#  -g*:          generate debugging information
109
#  -O*:          optimization level
110
#  -f...:        tuning, see GCC manual and avr-libc documentation
111
#  -Wall...:     warning level
112
#  -Wa,...:      tell GCC to pass this to the assembler.
113
#    -adhlns...: create assembler listing
114
CFLAGS = -g$(DEBUG)
115
CFLAGS += $(CDEFS)
116
CFLAGS += -O$(OPT)
117
#CFLAGS += -mint8
118
#CFLAGS += -mshort-calls
119
CFLAGS += -funsigned-char
120
CFLAGS += -funsigned-bitfields
121
CFLAGS += -fpack-struct
122
CFLAGS += -fshort-enums
123
#CFLAGS += -fno-unit-at-a-time
124
CFLAGS += -Wall
125
CFLAGS += -Wstrict-prototypes
126
CFLAGS += -Wundef
127
#CFLAGS += -Wunreachable-code
128
#CFLAGS += -Wsign-compare
129
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
130
CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
131
CFLAGS += $(CSTANDARD)
132
133
134
#---------------- Compiler Options C++ ----------------
135
#  -g*:          generate debugging information
136
#  -O*:          optimization level
137
#  -f...:        tuning, see GCC manual and avr-libc documentation
138
#  -Wall...:     warning level
139
#  -Wa,...:      tell GCC to pass this to the assembler.
140
#    -adhlns...: create assembler listing
141
CPPFLAGS = -g$(DEBUG)
142
CPPFLAGS += $(CPPDEFS)
143
CPPFLAGS += -O$(OPT)
144
#CPPFLAGS += -mint8
145
#CPPFLAGS += -mshort-calls
146
CPPFLAGS += -funsigned-char
147
CPPFLAGS += -funsigned-bitfields
148
CPPFLAGS += -fpack-struct
149
CPPFLAGS += -fshort-enums
150
CPPFLAGS += -fno-exceptions
151
#CPPFLAGS += -fno-unit-at-a-time
152
CPPFLAGS += -Wall
153
#CPPFLAGS += -Wstrict-prototypes
154
CFLAGS += -Wundef
155
#CPPFLAGS += -Wunreachable-code
156
#CPPFLAGS += -Wsign-compare
157
CPPFLAGS += -Wa,-adhlns=$(<:%.cpp=$(OBJDIR)/%.lst)
158
CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
159
#CPPFLAGS += $(CSTANDARD)
160
161
162
#---------------- Assembler Options ----------------
163
#  -Wa,...:   tell GCC to pass this to the assembler.
164
#  -ahlms:    create listing
165
#  -gstabs:   have the assembler create line number information; note
166
that
167
#             for use in COFF files, additional information about
168
filenames
169
#             and function names needs to be present in the assembler
170
source
171
#             files -- see avr-libc docs [FIXME: not yet described
172
there]
173
ASFLAGS = -Wa,-adhlns=$(<:%.S=$(OBJDIR)/%.lst),-gstabs 
174
175
176
#---------------- Library Options ----------------
177
# Minimalistic printf version
178
PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
179
180
# Floating point printf version (requires MATH_LIB = -lm below)
181
PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
182
183
# If this is left blank, then it will use the Standard printf version.
184
PRINTF_LIB = 
185
#PRINTF_LIB = $(PRINTF_LIB_MIN)
186
#PRINTF_LIB = $(PRINTF_LIB_FLOAT)
187
188
189
# Minimalistic scanf version
190
SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
191
192
# Floating point + %[ scanf version (requires MATH_LIB = -lm below)
193
SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
194
195
# If this is left blank, then it will use the Standard scanf version.
196
SCANF_LIB = 
197
#SCANF_LIB = $(SCANF_LIB_MIN)
198
#SCANF_LIB = $(SCANF_LIB_FLOAT)
199
200
201
MATH_LIB = -lm
202
203
204
205
#---------------- External Memory Options ----------------
206
207
# 64 KB of external RAM, starting after internal RAM (ATmega128!),
208
# used for variables (.data/.bss) and heap (malloc()).
209
#EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=0x80ffff
210
211
# 64 KB of external RAM, starting after internal RAM (ATmega128!),
212
# only used for heap (malloc()).
213
#EXTMEMOPTS =
214
-Wl,--defsym=__heap_start=0x801100,--defsym=__heap_end=0x80ffff
215
216
EXTMEMOPTS =
217
218
219
220
#---------------- Linker Options ----------------
221
#  -Wl,...:     tell GCC to pass this to linker.
222
#    -Map:      create map file
223
#    --cref:    add cross reference to  map file
224
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
225
LDFLAGS += $(EXTMEMOPTS)
226
LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
227
#LDFLAGS += -T linker_script.x
228
229
230
231
#---------------- Programming Options (avrdude) ----------------
232
233
# Programming hardware: alf avr910 avrisp bascom bsd 
234
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
235
#
236
# Type: avrdude -c ?
237
# to get a full listing.
238
#
239
AVRDUDE_PROGRAMMER = pony-stk200
240
241
# com1 = serial port. Use lpt1 to connect to parallel port.
242
AVRDUDE_PORT = lpt1
243
244
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
245
#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep
246
247
248
# Uncomment the following if you want avrdude's erase cycle counter.
249
# Note that this counter needs to be initialized first using -Yn,
250
# see avrdude manual.
251
#AVRDUDE_ERASE_COUNTER = -y
252
253
# Uncomment the following if you do /not/ wish a verification to be
254
# performed after programming the device.
255
#AVRDUDE_NO_VERIFY = -V
256
257
# Increase verbosity level.  Please use this when submitting bug
258
# reports about avrdude. See
259
<http://savannah.nongnu.org/projects/avrdude> 
260
# to submit bug reports.
261
#AVRDUDE_VERBOSE = -v -v
262
263
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
264
AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY)
265
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
266
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
267
268
269
270
#---------------- Debugging Options ----------------
271
272
# For simulavr only - target MCU frequency.
273
DEBUG_MFREQ = $(F_CPU)
274
275
# Set the DEBUG_UI to either gdb or insight.
276
# DEBUG_UI = gdb
277
DEBUG_UI = insight
278
279
# Set the debugging back-end to either avarice, simulavr.
280
DEBUG_BACKEND = avarice
281
#DEBUG_BACKEND = simulavr
282
283
# GDB Init Filename.
284
GDBINIT_FILE = __avr_gdbinit
285
286
# When using avarice settings for the JTAG
287
JTAG_DEV = /dev/com1
288
289
# Debugging port used to communicate between GDB / avarice / simulavr.
290
DEBUG_PORT = 4242
291
292
# Debugging host used to communicate between GDB / avarice / simulavr,
293
normally
294
#     just set to localhost unless doing some sort of crazy debugging
295
when 
296
#     avarice is running on a different computer.
297
DEBUG_HOST = localhost
298
299
300
301
#============================================================================
302
303
304
# Define programs and commands.
305
SHELL = sh
306
CC = avr-gcc
307
OBJCOPY = avr-objcopy
308
OBJDUMP = avr-objdump
309
SIZE = avr-size
310
NM = avr-nm
311
AVRDUDE = avrdude
312
REMOVE = rm -f
313
REMOVEDIR = rm -rf
314
COPY = cp
315
WINSHELL = cmd
316
317
318
# Define Messages
319
# English
320
MSG_ERRORS_NONE = Errors: none
321
MSG_BEGIN = -------- begin --------
322
MSG_END = --------  end  --------
323
MSG_SIZE_BEFORE = Size before: 
324
MSG_SIZE_AFTER = Size after:
325
MSG_COFF = Converting to AVR COFF:
326
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
327
MSG_FLASH = Creating load file for Flash:
328
MSG_EEPROM = Creating load file for EEPROM:
329
MSG_EXTENDED_LISTING = Creating Extended Listing:
330
MSG_SYMBOL_TABLE = Creating Symbol Table:
331
MSG_LINKING = Linking:
332
MSG_COMPILING = Compiling C:
333
MSG_COMPILING_CPP = Compiling C++:
334
MSG_ASSEMBLING = Assembling:
335
MSG_CLEANING = Cleaning project:
336
MSG_CREATING_LIBRARY = Creating library:
337
338
339
340
341
# Define all object files.
342
OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o)
343
$(ASRC:%.S=$(OBJDIR)/%.o) 
344
345
# Define all listing files.
346
LST = $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst)
347
$(ASRC:%.S=$(OBJDIR)/%.lst) 
348
349
350
# Compiler flags to generate dependency files.
351
GENDEPFLAGS = -MD -MP -MF .dep/$(@F).d
352
353
354
# Combine all necessary flags and optional flags.
355
# Add target processor to flags.
356
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) $(GENDEPFLAGS)
357
ALL_CPPFLAGS = -mmcu=$(MCU) -I. -x c++ $(CPPFLAGS) $(GENDEPFLAGS)
358
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
359
360
361
362
363
364
# Default target.
365
all: begin gccversion sizebefore build sizeafter end
366
367
# Change the build target to build a HEX file or a library.
368
build: elf hex eep lss sym extcoff
369
#build: lib
370
371
372
elf: $(TARGET).elf
373
hex: $(TARGET).hex
374
eep: $(TARGET).eep
375
lss: $(TARGET).lss
376
sym: $(TARGET).sym
377
LIBNAME=lib$(TARGET).a
378
lib: $(LIBNAME)
379
380
381
382
# Eye candy.
383
# AVR Studio 3.x does not check make's exit code but relies on
384
# the following magic strings to be generated by the compile job.
385
begin:
386
  @echo
387
  @echo $(MSG_BEGIN)
388
389
end:
390
  @echo $(MSG_END)
391
  @echo
392
393
394
# Display size of file.
395
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
396
ELFSIZE = $(SIZE) -A $(TARGET).elf
397
AVRMEM = avr-mem.sh $(TARGET).elf $(MCU)
398
399
sizebefore:
400
  @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE);
401
$(ELFSIZE); \
402
  $(AVRMEM) 2>/dev/null; echo; fi
403
404
sizeafter:
405
  @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER);
406
$(ELFSIZE); \
407
  $(AVRMEM) 2>/dev/null; echo; fi
408
409
410
411
# Display compiler version information.
412
gccversion : 
413
  @$(CC) --version
414
415
416
417
# Program the device.  
418
program: $(TARGET).hex $(TARGET).eep
419
  $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
420
$(AVRDUDE_WRITE_EEPROM)
421
422
423
# Generate avr-gdb config/init file which does the following:
424
#     define the reset signal, load the target file, connect to target,
425
and set 
426
#     a breakpoint at main().
427
gdb-config: 
428
  @$(REMOVE) $(GDBINIT_FILE)
429
  @echo define reset >> $(GDBINIT_FILE)
430
  @echo SIGNAL SIGHUP >> $(GDBINIT_FILE)
431
  @echo end >> $(GDBINIT_FILE)
432
  @echo file $(TARGET).elf >> $(GDBINIT_FILE)
433
  @echo target remote $(DEBUG_HOST):$(DEBUG_PORT)  >> $(GDBINIT_FILE)
434
ifeq ($(DEBUG_BACKEND),simulavr)
435
  @echo load  >> $(GDBINIT_FILE)
436
endif
437
  @echo break main >> $(GDBINIT_FILE)
438
439
debug: gdb-config $(TARGET).elf
440
ifeq ($(DEBUG_BACKEND), avarice)
441
  @echo Starting AVaRICE - Press enter when "waiting to connect"
442
message displays.
443
  @$(WINSHELL) /c start avarice --jtag $(JTAG_DEV) --erase --program
444
--file \
445
  $(TARGET).elf $(DEBUG_HOST):$(DEBUG_PORT)
446
  @$(WINSHELL) /c pause
447
448
else
449
  @$(WINSHELL) /c start simulavr --gdbserver --device $(MCU)
450
--clock-freq \
451
  $(DEBUG_MFREQ) --port $(DEBUG_PORT)
452
endif
453
  @$(WINSHELL) /c start avr-$(DEBUG_UI) --command=$(GDBINIT_FILE)
454
455
456
457
458
# Convert ELF to COFF for use in debugging / simulating in AVR Studio
459
or VMLAB.
460
COFFCONVERT = $(OBJCOPY) --debugging
461
COFFCONVERT += --change-section-address .data-0x800000
462
COFFCONVERT += --change-section-address .bss-0x800000
463
COFFCONVERT += --change-section-address .noinit-0x800000
464
COFFCONVERT += --change-section-address .eeprom-0x810000
465
466
467
468
coff: $(TARGET).elf
469
  @echo
470
  @echo $(MSG_COFF) $(TARGET).cof
471
  $(COFFCONVERT) -O coff-avr $< $(TARGET).cof
472
473
474
extcoff: $(TARGET).elf
475
  @echo
476
  @echo $(MSG_EXTENDED_COFF) $(TARGET).cof
477
  $(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
478
479
480
481
# Create final output files (.hex, .eep) from ELF output file.
482
%.hex: %.elf
483
  @echo
484
  @echo $(MSG_FLASH) $@
485
  $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
486
487
%.eep: %.elf
488
  @echo
489
  @echo $(MSG_EEPROM) $@
490
  -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
491
  --change-section-lma .eeprom=0 -O $(FORMAT) $< $@
492
493
# Create extended listing file from ELF output file.
494
%.lss: %.elf
495
  @echo
496
  @echo $(MSG_EXTENDED_LISTING) $@
497
  $(OBJDUMP) -h -S $< > $@
498
499
# Create a symbol table from ELF output file.
500
%.sym: %.elf
501
  @echo
502
  @echo $(MSG_SYMBOL_TABLE) $@
503
  $(NM) -n $< > $@
504
505
506
507
# Create library from object files.
508
.SECONDARY : $(TARGET).a
509
.PRECIOUS : $(OBJ)
510
%.a: $(OBJ)
511
  @echo
512
  @echo $(MSG_CREATING_LIBRARY) $@
513
  $(AR) $@ $(OBJ)
514
515
516
# Link: create ELF output file from object files.
517
.SECONDARY : $(TARGET).elf
518
.PRECIOUS : $(OBJ)
519
%.elf: $(OBJ)
520
  @echo
521
  @echo $(MSG_LINKING) $@
522
  $(CC) $(ALL_CFLAGS) $^ --output $@ $(LDFLAGS)
523
524
525
# Compile: create object files from C source files.
526
$(OBJDIR)/%.o : %.c
527
  @echo
528
  @echo $(MSG_COMPILING) $<
529
  $(CC) -c $(ALL_CFLAGS) $< -o $@ 
530
531
532
# Compile: create object files from C++ source files.
533
$(OBJDIR)/%.o : %.cpp
534
  @echo
535
  @echo $(MSG_COMPILING_CPP) $<
536
  $(CC) -c $(ALL_CPPFLAGS) $< -o $@ 
537
538
539
# Compile: create assembler files from C source files.
540
%.s : %.c
541
  $(CC) -S $(ALL_CFLAGS) $< -o $@
542
543
544
# Compile: create assembler files from C++ source files.
545
%.s : %.cpp
546
  $(CC) -S $(ALL_CPPFLAGS) $< -o $@
547
548
549
# Assemble: create object files from assembler source files.
550
$(OBJDIR)/%.o : %.S
551
  @echo
552
  @echo $(MSG_ASSEMBLING) $<
553
  $(CC) -c $(ALL_ASFLAGS) $< -o $@
554
555
556
# Create preprocessed source for use in sending a bug report.
557
%.i : %.c
558
  $(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@ 
559
560
561
# Target: clean project.
562
clean: begin clean_list end
563
564
clean_list :
565
  @echo
566
  @echo $(MSG_CLEANING)
567
  $(REMOVE) $(TARGET).hex
568
  $(REMOVE) $(TARGET).eep
569
  $(REMOVE) $(TARGET).cof
570
  $(REMOVE) $(TARGET).elf
571
  $(REMOVE) $(TARGET).map
572
  $(REMOVE) $(TARGET).sym
573
  $(REMOVE) $(TARGET).lss
574
  $(REMOVEDIR) $(OBJDIR)
575
  $(REMOVE) $(SRC:.c=.s)
576
  $(REMOVE) $(SRC:.c=.d)
577
  $(REMOVEDIR) .dep
578
579
580
# Create object files directory
581
$(shell mkdir $(OBJDIR) 2>/dev/null)
582
583
584
# Include the dependency files.
585
-include $(shell mkdir .dep 2>/dev/null) $(wildcard .dep/*)
586
587
588
# Listing of phony targets.
589
.PHONY : all begin finish end sizebefore sizeafter gccversion \
590
build elf hex eep lss sym coff extcoff \
591
clean clean_list program debug gdb-config

von peter bb (Gast)


Lesenswert?

hier ist die fehlermeldung :

-------- begin --------
avr-gcc (GCC) 3.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There
is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
make.exe: *** No rule to make target `obj/main.o', needed by
`robosapien.elf'.  Stop.
> Process Exit Code: 2> Time Taken: 00:02

war vorher ein bisschen verrutscht.

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Ich nehme mal stark an, das Du das makefile mit dem makefile generator
erstellt hast.
Es gibt dazu einen Bug Report #1522610

Das Problem ist die Zeile: CPPSRC = main.cpp

Kommentier diese aus, bzw. lösche das main.cpp weg, dann sollte es mit
jedem TARGET Namen funktionieren.

Alternativ kannst du in mfile auch gleich den TARGET Namen angeben, zB.
robosapiens. Unter Makefile -> Main file name...

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Ich seh gerade, das mit CPPSRC muss erst ein der aktuellsten Version
eingefügt wurden sein. Ich nutze die vorletzte aber mit aktueller
libc.
Da gibts bei mfile noch keine CPPSRC Erzeugung, also wohl doch ein Bug?

von peter bb (Gast)


Lesenswert?

Alternativ kannst du in mfile auch gleich den TARGET Namen angeben, zB.
robosapiens. Unter Makefile -> Main file name...


so erstelle ich aauch die make.

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Hab ich mir dann auch gedacht ;-)

von peter bb (Gast)


Lesenswert?

diese fehlermeldung kommt, wenn ich :
# CPPSRC = main.cpp
so ausklammere.


-------- begin --------
avr-gcc (GCC) 3.4.6
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


Linking: robosapien.elf
avr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=8000000UL -Os
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wundef -Wa,-adhlns=  -std=gnu99 -Wundef -MD -MP
-MF .dep/robosapien.elf.d  --output robosapien.elf
-Wl,-Map=robosapien.map,--cref    -lm
d:/WINAVR/BIN/../lib/gcc/avr/3.4.6/../../../../avr/lib/avr5/crtm16.o:
In function `__vectors':
../../../../../avr-libc-1.4.4/crt1/gcrt1.S:51: undefined reference to
`main'
make.exe: *** [robosapien.elf] Error 1

> Process Exit Code: 2
> Time Taken: 00:01

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Hmm, laut Bugreport sollte das gehen.
Hast Du vorher ein "make clean" durchgeführt?

Ansonsten geht noch der Versuch, auch hier: CPPSRC = main.cpp den von
dir gewünschten Filenamen einzutragen.

von peter bb (Gast)


Lesenswert?

Ansonsten geht noch der Versuch, auch hier: CPPSRC = main.cpp den von
dir gewünschten Filenamen einzutragen.


geht auch nicht.
es geht nur, wenn ich in target "main" eintrage.

von peter bb (Gast)


Lesenswert?

hallo, ich habe jetzt auch wieder die winavr-c von januar 2006 drauf und
jetzt läuft es wieder.

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.