avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] re:avrgcc for window NT with AVR studio3.56 - Gcctest9 -


From: Loc Mai
Subject: [avr-gcc-list] re:avrgcc for window NT with AVR studio3.56 - Gcctest9 - weird ponyprog
Date: Tue, 8 Apr 2003 14:49:21 -0400

Thanks Volkmar,
It works finally.
1.  It means the instruction in WINAVR working with studio 3.x should be
corrected for project target all.
The following setting as winavr instruction (does not work) for target all
in gcctest9:

[ ] Run 'compile' on each ...
[X] Run linker/build stage tools
command line: gcc.bat all

Run Stage Settings
If output contains the following text:
[Errors: none]

 Extension of object file to load:
[obj]

 [ ] Run code

2.  error when building project:
sizebefore: gcctect9.hex No such file or directory
make.exe: [sizebefore] 1 error ( ignored)
But It generates the hex file.
3.  In ponyprog v1.17h nov 3, 2000,  after gcctest9.hex downloaded,
verified, it said failed.
But kit stk300 works fine with result showing on terminal.  Is it a weird
ponyprog or win NT operating system.
Cheers

Loc


> Date: Mon, 7 Apr 2003 11:09:15 -0400
> From: "Loc Mai" <address@hidden>
> To: <address@hidden>
> Subject: [avr-gcc-list] re:avrgcc for window NT with AVR studio3.56 -
Gcctest9
> Message-ID: <address@hidden>
> References: <address@hidden>
> Content-Type: text/plain;
> charset="iso-8859-1"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Precedence: list
> Message: 5
>
> Yeh, I almost got through it. But after building project, there is an
error
> as:
> errors: none
> ----end---
> Errors detected during link stage
> stopped.
>
> It is not easy to understand makefile, to me.  Any expert can advise me.
> Thanks.
>
> Here is the makefile (copied and little bit changed from Winavr\sample)
>
> # MCU name
> MCU = atmega103
>
> # Output format. (can be srec, ihex)
> FORMAT = ihex
>
> # Target file name (without extension).
> #TARGET = main
> TARGET = gcctest9
>
> # Optimization level (can be 0, 1, 2, 3, s)
> # (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).c \
> uart.c timer.c
> #foo.c bar.c  #----reomved
>
> # List Assembler source files here.
> ASRC =  sqrtMike.s sqrtJack.s
>
> # Optional compiler flags.
> CFLAGS = -g -O$(OPT) -funsigned-char -funsigned-bitfields -fpack-struct \
> -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)
>
> # Optional assembler flags.
> ASFLAGS = -Wa,-ahlms=$(<:.s=.lst), -gstabs
>
> # Optional linker flags.
> LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
>
> # Additional library flags (-lm = math library).
> LIBFLAGS = -lm
>
>
# --------------------------------------------------------------------------
> -
>
> # Define directories, if needed.
> DIRAVR = c:/winavr
> DIRAVRBIN = $(DIRAVR)/bin
> DIRAVRUTILS = $(DIRAVR)/utils/bin
> DIRINC = .
> DIRLIB = $(DIRAVR)/avr/lib
>
> # Define programs and commands.
> SHELL = sh
>
> CC = avr-gcc
>
> OBJCOPY = avr-objcopy
> OBJDUMP = avr-objdump
>
> REMOVE = rm -f
> COPY = cp
>
> ELFCOFF = objtool
>
> HEXSIZE = @avr-size --target=$(FORMAT) $(TARGET).hex
> ELFSIZE = @avr-size $(TARGET).elf
>
> FINISH = @echo Errors: none
> BEGIN = @echo -------- begin --------
> END = @echo --------  end  --------
>
> # Define all object files.
> OBJ = $(SRC:.c=.o) $(ASRC:.s=.o)
>
> # Define all listing files.
> LST = $(ASRC:.s=.lst) $(SRC:.c=.lst)
>
> # Combine all necessary flags and optional flags. Add target processor to
> flags.
> ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)
> ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
> ALL_LDFLAGS = -mmcu=$(MCU) $(LDFLAGS)
>
> # Default target.
> all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep
> $(TARGET).lss sizeafter finished end
>
> # Eye candy.
> begin:
>  $(BEGIN)
>
> finished:
>  $(FINISH)
>
> end:
>  $(END)
>
> # Display size of file.---
> sizebefore:
>  @echo Size before:
>  -$(HEXSIZE)
>
> sizeafter:
>  @echo Size after:
>  $(HEXSIZE)
>
> # Display compiler version information.
> gccversion :
>  $(CC) --version
>
> # Target: Convert ELF to COFF for use in debugging / simulating in AVR
> Studio.
> coff: $(TARGET).cof end
>
> %.cof: %.elf
>  $(ELFCOFF) loadelf $< mapfile $*.map writecof $@
>
> # Create final output files (.hex, .eep) from ELF output file.
> %.hex: %.elf
>  $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
>
> # Display size of file.---
> #sizebefore:
> # @echo Size before:
> # -$(HEXSIZE)
>
> #sizeafter:
> # @echo Size after:
> # $(HEXSIZE)
>
> %.eep: %.elf
>  -$(OBJCOPY) -j
> .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma
> .eeprom=0 -O $(FORMAT) $< $@
>
> # Create extended listing file from ELF output file.
> %.lss: %.elf
>  $(OBJDUMP) -h -S $< > $@
>
> # Link: create ELF output file from object files.
> .SECONDARY : $(TARGET).elf
> .PRECIOUS : $(OBJ)
> %.elf: $(OBJ)
>  $(CC) $(ALL_LDFLAGS) $(OBJ) $(LIBFLAGS) --output $@
>
> # Compile: create object files from C source files.
> %.o : %.c
>  $(CC) -c $(ALL_CFLAGS) $< -o $@
>
> # Assemble: create object files from assembler source files.
> %.o : %.s
>  $(CC) -c $(ALL_ASFLAGS) $< -o $@
>
> # Target: clean project.
> clean: begin clean_list finished end
>
> clean_list :
>  $(REMOVE) $(TARGET).hex
>  $(REMOVE) $(TARGET).eep
>  $(REMOVE) $(TARGET).obj
>  $(REMOVE) $(TARGET).cof
>  $(REMOVE) $(TARGET).elf
>  $(REMOVE) $(TARGET).map
>  $(REMOVE) $(TARGET).obj
>  $(REMOVE) $(TARGET).a90
>  $(REMOVE) $(TARGET).sym
>  $(REMOVE) $(TARGET).lnk
>  $(REMOVE) $(TARGET).lss
>  $(REMOVE) $(OBJ)
>  $(REMOVE) $(LST)
>
> # Automatically generate C source code dependencies. (Code taken from the
GN
> U make user manual.)
> # Note that this will work with sh (bash) and sed that is shipped with
> WinAVR (see the SHELL variable defined above).
> # This may not work with other shells or other seds.
> %.d: %.c
>  set -e; $(CC) -MM $(ALL_CFLAGS) $< \
>  | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
>  [ -s $@ ] || rm -f $@
>
> # Remove the '-' if you want to see the dependency files generated.
> -include $(SRC:.c=.d)
>
> # Listing of phony targets.
> .PHONY : all begin finish end sizebefore sizeafter gccversion coff clean
> clean_list
>
>
>
> > Date: Fri, 4 Apr 2003 23:37:26 +0200
> > From: Volkmar Dierkes <address@hidden>
> > To: address@hidden
> > Subject: Re: [avr-gcc-list] re:avrgcc for window NT with AVR
studio3.56 -
> > Gcctest9
> > Message-ID: <address@hidden>
> > In-Reply-To: <address@hidden>
> > References: <address@hidden>
> > <address@hidden>
> > Content-Type: text/plain; charset="us-ascii"
> > MIME-Version: 1.0
> > Content-Transfer-Encoding: 7bit
> > Precedence: list
> > Message: 8
> >
> > On Fri, 4 Apr 2003 16:03:08 -0500, Loc Mai wrote:
> >
> > > I get through it  apart but other error: undefined reference to:'
> > > __inw_atomic'
> > > in gcctest9.c line 128, 130, 134, 136
> > > related to:  ticks = get_ticks();  ticks = timer_delta(ticks);
> > > I traced it is in timer.h:
> > > #define get_ticks() __inw_atomic(TCNT1)
> > >
> > > I could not see __inw_atomic in library.  Could you please tell me how
I
> can
> > > fix this.
> >
> > It seems that you come to the point where its obvious that the
> > statement 'The gcctest files are out of date'.
> >
> > Maybe you can change the #define line to
> > #define get_ticks() TCNT1
> >
> > But the statement above, that the gcctest files are out of date, is
> > already true. Sorry
> >
> > Volkmar
> From: Volkmar Dierkes <address@hidden>
> To: address@hidden
> Subject: Re: [avr-gcc-list] re:avrgcc for window NT with AVR studio3.56 -
> Gcctest9
> Message-ID: <address@hidden>
> In-Reply-To: <address@hidden>
> References: <address@hidden>
> <address@hidden>
> Content-Type: text/plain; charset="us-ascii"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Precedence: list
> Message: 9
>
> On Mon, 7 Apr 2003 11:09:15 -0400, Loc Mai wrote:
>
> > Yeh, I almost got through it. But after building project, there is an
error
> > as:
> > errors: none
> > ----end---
> > Errors detected during link stage
> > stopped.
> >
> > It is not easy to understand makefile, to me.  Any expert can advise me.
> > Thanks.
>
> I don't think that there is an error in the makefile. Because the
> last output of it is:
> > errors: none
> > ----end---
>
> (BTW: I think it is "Errors: none")
>
> What are the settings for the target which you build in AVRstudio? I
> have:
>  ,----
> |  [ ] Run 'compile' on each ...
> |  [X] Run linker/build stage tools
> |
> |  Run Stage Settings
> |  If output contains the following text:
> |  [Errors: none]
> |
> |  Extension of object file to load:
> |  [cof]
> |
> |  [X] Run code
>  `----
>
> Volkmar




reply via email to

[Prev in Thread] Current Thread [Next in Thread]