Sida 4 av 11

Postat: 27 augusti 2004, 23:36:40
av Virr3
okej :? jag fattar inte ett piss.. drog hem en guide från avrfreaks men det gjorde mej inte klokare :cry:

om det finns några klipska typer som behärskar detta program så kan väll du/ni adda mej på msn limpan456@hotmail.com
:roll:

Postat: 29 augusti 2004, 11:34:06
av simon78
grejen är att man måste göra en makefile. Jag har gjort en som ser ut såhär


____________________________________

# Sample makefile (c) 2002-2003 Eric B. Weddington
# Released to the Public Domain

# Define directories.
DIRAVR = c:/winavr
DIRAVRBIN = $(DIRAVR)/bin
DIRAVRUTILS = $(DIRAVR)/utils/bin
DIRINC = .
DIRLIB = $(DIRAVR)/avr/lib


# Define programs.
SHELL = sh
COMPILE = avr-gcc
ASSEMBLE = avr-gcc -x assembler-with-cpp
REMOVE = rm -f
COPY = cp
OBJCOPY = avr-objcopy
OBJDUMP = avr-objdump
ELFCOFF = objtool
HEXSIZE = @avr-size --target=$(FORMAT) $(TARGET).hex
ELFSIZE = @avr-size $(TARGET).elf
XSIZE = avr-sizex -l -t 5 $(TARGET).elf
FINISH = @echo Errors: none
BEGIN = @echo -------- begin --------
END = @echo -------- end --------
BUILD_INIT = @build_init.bat
BUILD_NO = @build_inc.bat


# MCU name
MCU = atmega8

# Output format. Can be [srec|ihex].
FORMAT = ihex

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



# List C source files here.
SRC = $(TARGET).c

# List Assembler source files here.
ASRC =


# Compiler flags.
CPFLAGS = -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)

# Assembler flags.
ASFLAGS = -Wa,-ahlms=$(<:.s=.lst), -gstabs

# Linker flags (passed via GCC).
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref

# Additional library flags (-lm = math library).
LIBFLAGS = -lm




# Define all project specific object files.
OBJ = $(SRC:.c=.o) $(ASRC:.s=.o)

# Define all listing files.
LST = $(ASRC:.s=.lst) $(SRC:.c=.lst)

# Add target processor to flags.
CPFLAGS += -mmcu=$(MCU)
ASFLAGS += -mmcu=$(MCU)
LDFLAGS += -mmcu=$(MCU)
XSIZE += --mcu=$(MCU) --flash 8192

# Default target.
.PHONY : all
all: begin build_init gccversion sizebefore $(TARGET).hex sizeafter burn finished end



# Eye candy.
.PHONY : begin
begin:
$(BEGIN)

.PHONY : finish
finished:
$(FINISH)

.PHONY : end
end:
$(END)


# Display size of file.
.PHONY : sizebefore
sizebefore:
@echo Size before:
-$(ELFSIZE)

.PHONY : sizeafter
sizeafter:
@echo Size after:
$(HEXSIZE)

.PHONY : xsize
xsize:
$(XSIZE)

.PHONY : build_init
build_init:
$(BUILD_INIT)

.PHONY : build_no
build_no:
$(BUILD_NO)


# Display compiler version information.
.PHONY : gccversion
gccversion :
$(COMPILE) --version

.PHONY : burn
burn :
avrdude -p m8 -c pony-stk200 -E noreset -U flash:w:$(TARGET).hex -U flash:v:$(TARGET).hex

# Create AVROBJ format file from ELF output file. (Future release)
#%.obj: %.elf
# $(OBJCOPY) -O avrobj -R .eeprom $< $@


# Create COFF format file from ELF output file.
%.cof: %.elf
$(ELFCOFF) loadelf $< mapfile $*.map writecof $@


# Create final output files (.hex, .eep) from ELF output file.
%.hex: %.elf
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
$(BUILD_NO)

%.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 : $(TRG).elf
.PRECIOUS : $(OBJ)
%.elf: $(OBJ)
$(COMPILE) $(LDFLAGS) $(OBJ) $(LIBFLAGS) --output $@


# Compile: create object files from C source files.
%.o : %.c
$(COMPILE) -c $(CPFLAGS) -I$(DIRINC) $< -o $@


# Assemble: create object files from assembler files.
%.o : %.s
$(ASSEMBLE) -c $(ASFLAGS) -I$(DIRINC) $< -o $@






# Target: clean project.
.PHONY : clean
clean: begin clean_list finished end

.PHONY : clean_list
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)
$(REMOVE) $(SRC:.c=.s)


# Automatically generate C source code dependencies. (Code taken from the GNU 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; $(COMPILE) -MM $(CPFLAGS) $< \
| sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
[ -s $@ ] || rm -f $@

include $(SRC:.c=.d)


# List assembly only source file dependencies here:

_________________________________________________________________

Jag kopierade den från ett exempel på avrfreaks.net. Sen har jag lagt till en rad som gör att programmet bränns in i avren direkt när det är kompilerat. För det använde jag avrdude, gratis att ladda hem.

Postat: 29 augusti 2004, 13:23:39
av Melker
Följer med exempel på makefile med WinAVR.

Postat: 29 augusti 2004, 17:35:39
av Virr3
okej.. då var de ordnat..

då till nästa problem(suck)

programeraren vill inte:/

här kommer lite bilder på hur ja kopplat..
Bild
Bild

så om ni kunde hjälpa mig att felsöka den.. jag har letat i snart två timmar..

Tack på förhand

Viktor

Postat: 29 augusti 2004, 18:02:21
av RDX*
Har du en kristall?

Sen ser jag inte den andra 22pF kondensatorn, Har du inte tillräckligt långa ben så att du kan sätta kondensatorerna direkt till Gnd. Ju mindre sladdar desto enklare blir det.

du kan ta väck allt onödigt krafs, koppla bara in
Vcc
GND
AGND

Reset->10k->Vcc

sen kopplar du in programmeraren:
MISO
MOSI
SCK
RESET

Postat: 29 augusti 2004, 19:58:52
av Virr3
förstår inte riktigt.. behöver jag inte de komponenter jag köppt:S

ena benet är på väg att falla av:'( är det bara att löda tillbaka de om det gör de?

Postat: 29 augusti 2004, 20:18:52
av cykze
Kan du rita ett schema på hur du har kopplat?

Vad är det för sak du har på det lösa veroboardet?

Sitter verkligen ic-sockeln till AVR:en fast på experimentplattan? Dom ic-hållare jag har sitter iaf inte fast bra. Tycker nog att du ska trycka dit AVR:en direkt på plattan, om den nu inte redan sitter bra.

Postat: 29 augusti 2004, 20:25:10
av RDX*
Om man ska göra det enligt alla konstens regler så behöver man alla komponenterna. Man den funkar med det som jag räknade upp.

Om benet ramlar av så är det bara att lödda tillbaka det, men det bådar inte bra, redan nu kan det vara glapp i benet. Vilket ben är det?

Nästa gång så rekommenderar jag en lite minde (billigare) krets att experimentera med. tex At90s2313 el mega8:an.

Postat: 29 augusti 2004, 20:32:40
av Virr3
ben 1

Postat: 29 augusti 2004, 21:19:00
av RDX*
ok, ja då var det inte så farligt.

Du klarar dig utan ben 1 (Pb0).

Postat: 29 augusti 2004, 21:31:44
av Virr3
bra:D den där sockeln tar kol på mej(och min avr)

men jag kan inte hitta agnd..i databladet(där det står vilka pinnar som är vilka) bara två gnd..

Postat: 29 augusti 2004, 21:56:16
av Hedis
Den är inte angiven som Agnd i databladet. Så dom 2 GND är dom enda som finns.

Postat: 30 augusti 2004, 15:12:57
av Virr3
funkar inte:S

finns det något program ja kan testa min lpt porten med?
tror att de kan va den :roll:

Postat: 30 augusti 2004, 16:37:36
av Hedis
In i BIOS o ändra den till Normal eller ECP+EPP o testa igen.

Postat: 31 augusti 2004, 17:15:26
av Jonaz
Prova att ta hem detta program port95nt.exedet är till för lpt porten.