- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte
Ergebnis 51 bis 60 von 63

Thema: So wird die Asuro-LIB installiert und in Betrieb genommen /3

  1. #51
    Neuer Benutzer Öfters hier
    Registriert seit
    17.08.2009
    Beiträge
    14
    Anzeige

    Praxistest und DIY Projekte
    Das einzige was ich nun am makefile ändern musste, war der Pfadzu winavr. Danach hat alles funktioniert.

    Dankeschön Sternthaler, Spaß werde ich viel ahben, da robotik michs chon imemr interessiert hatte und ich nächstes Jahr auch ElektroTechnik mit Informationstechnik studiere

    Gruß, fog.sliver

  2. #52
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2008
    Beiträge
    319
    Ich hänge mich hier mal ran da ich meinen Asuro nach einigen Jahren gerade wieder belebe .

    Ich habe mir die AsuroLib V2.8.0 geladen und entpackt, soweit funktioniert es auch. Neuen Atmega8 ins STK500 mit AVR Studio eine Beispiel (LineTest) geöffnet überspielt und TAAAADAAAA er lübt...

    Ji ha denkt sich der muck und Programmiert eine Switch Funktion mit ein, TAAAADAAAA es geht...

    Jetzt wollte ich mit EncoderInit (); arbeiten und habe sie mit eingebunden und zack geht nix mehr, auch das Beispiel EncoderTest kann ich nicht Compilieren . alles andere scheint zu gehen.

    Das ist der Fehler

    Code:
    C:\WinAVR\bin\..\lib\gcc\avr\3.4.6\..\..\..\..\avr\bin\ld.exe: BFD 2.16.1 + coff-avr-patch (20050630) internal error, aborting at ../../binutils-2.16.1/bfd/reloc.c line 444 in bfd_get_reloc_size
    Ich blicke nicht was es ist

    Danach ist gesamte Projekt defekt und man muss es komplett neu machen .

  3. #53
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Welcher version von WinAVR benutzt du? Die version von der Asuro-cd (3.3 oder so )ist ganz alt. Heute zu tage gibts 4.3. Oder vielleicht schon höher.

  4. #54
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2008
    Beiträge
    319
    Hallo,
    ich nutze AVR Studio 4.13, habe es jetzt hin bekommen in dem ich das Projekt FirstTry genommen habe, und vor dem ersten Compilieren EncoderInit (); eintrug. Beim ersten Compilieren wurden 2 neue Dateien von AVR Studio erstellt, wenn man dann noch nicht EncoderInit (); eingetragen hat will AVR Studio wieder eine neue Datei beim 2. Compilieren erstellen und die alte überschreiben, bei der Frage "JA/NEIN" konnte man ja anklicken aber das Fenster kommt sofort wieder, erst wenn man NEIN an klickte ging es weg aber das Projekt wurde nicht richtig Compiliert.

    Na ja nun geht es auf jeden Fall

  5. #55
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2009
    Beiträge
    24
    Hallo Leute,


    ich habe heute Nacht bis um 3 Uhr am Rechner gesessen und versucht die neue Lib zum laufen zu bringen, bin aber immer gescheitert.
    Habe das selbe Problem wie mattsarz und James C.

    Bekomme folgende Fehlermeldung:
    Code:
    > "make.exe" all
    -------- begin --------
    avr-gcc --version
    avr-gcc (WinAVR 20100110) 4.3.3
    Copyright (C) 2008 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 `folgelinie.hex', needed by `all'.  Stop.
    
    > Process Exit Code: 2
    > Time Taken: 00:01
    Wäre echt super von euch wenn ihr euch meinem Problem anschauen könntet
    Am besten beschreibe ich euch einmal was ich unternommen habe:

    1. Ich habe die Datei F:\ASURO\ASURO_lib\lib\libasuro.a in den Ordner F:\ASURO\WinAVR\avr\lib kopiert

    2. Dann habe ich die F:\ASURO\ASURO_lib\lib\Makefile Datei geändert

    3. Habe ich die ganzen Headerdateien unter F:\ASURO\ASURO_lib\lib\inc in den Ordner F:\ASURO\WinAVR\avr\include kopiert

    4. F:\ASURO\ASURO_lib\examples\EncoderTest\Makefile Kopiert nach F:\ASURO\Eigene_Programme und natürlich auch geändert

    5. Habe ich noch mit der Eingabeaufforderung das die Datei F:\ASURO\ASURO_lib\lib\make-lib ausgeführt

    So...ich glaub das war alles


    Noch zur Ergänung:

    Ich benutze die neuste Version von WinAVR (WinAVR-20100110)

    Und hier noch die Codes für die Makefile's

    1.Makefile (F:\ASURO\ASURO_lib\lib\Makefile)
    Code:
    ###############################################################################
    # Makefile for the project AsuroLib
    ###############################################################################
    
    ## General Flags
    MCU = atmega8
    F_CPU = 8000000UL
    TARGET = libasuro
    CC = avr-gcc.exe
    AR = avr-ar
    OBJDUMP = avr-objdump
    
    ## Options common to compile, link and assembly rules
    COMMON = -mmcu=$(MCU)
    
    ## Compile options common for all C compilation units.
    CFLAGS = $(COMMON)
    CFLAGS += -Wall -gdwarf-2 -Os -I./inc
    CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d 
    
    ## Assembly specific flags
    ASMFLAGS = $(COMMON)
    ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2
    
    ## Linker flags
    LDFLAGS = $(COMMON)
    LDFLAGS += 
    
    
    ## Intel Hex file production flags
    HEX_FLASH_FLAGS = -R .eeprom
    
    HEX_EEPROM_FLAGS = -j .eeprom
    HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load"
    HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0
    
    
    ## Objects that must be built in order to link
    OBJECTS = globals.o adc.o adc_low.o encoder.o encoder_low.o i2c.o leds.o lcd.o\
     	motor.o motor_low.o my_motor_low.o print.o printf.o rc5.o sound.o switches.o\
      time.o uart.o ultrasonic.o version.o 
    
    ## Objects explicitly added by the user
    LINKONLYOBJECTS = 
    
    # Define directories, if needed.
    DIRAVR = F:/ASURO/WinAVR
    #DIRAVR = /usr/local/avr
    DIRAVRBIN = $(DIRAVR)/bin
    DIRAVRUTILS = $(DIRAVR)/utils/bin
    DIRINC = $(DIRAVR)/avr/include
    DIRLIB = $(DIRAVR)/avr/lib
    
    LIB = asuro
    LIBFILE = $(TARGET).a
    HEADER = *.h
    
    ## Build
    all: $(LIBFILE)
    	rm -rf *.o *~
    
    %.o: %.c
    	$(CC) $(INCLUDES) $(CFLAGS) -c  $<
    
    $(LIBFILE): $(OBJECTS)
    	$(AR) cru $(LIBFILE) $(OBJECTS)
    
    ## Clean target
    clean:
    	rm -rf *.o *~ $(LIBFILE)
    	rm -rf *.lst *.map $(EXTRA_CLEAN_FILES)
    	rm -rf dep/*.d
    
    install:
    	cp $(LIBFILE) $(DIRLIB)/$(LIBFILE)
    	cp inc/$(HEADER) $(DIRINC) 
    
    lst: $(OBJECTS:%.o=%.lst)
    
    
    %.lst: %.o
    	$(OBJDUMP) -h -S $< > $@
    
    ## Other dependencies
    -include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)
    2.Makefile(F:\ASURO\Eigene_Programme)
    Code:
    # WinAVR Sample makefile written by Eric B. Weddington, Jörg Wunsch, et al.
    # Released to the Public Domain
    # Please read the make user manual!
    #
    #
    # 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 = atmega8
    
    F_CPU = 8000000UL
    
    # Output format. (can be srec, ihex, binary)
    FORMAT = ihex
    
    # Target file name (without extension).
    TARGET = folgelinie
    
    # 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
    
    # additional Include path for libraries
    #LIBPATH = C:/ASURO_SRC/AsuroLib/lib
    LIBPATH = ../../lib
    LIBFILE = asuro
    
    # additional include path for header files
    INCPATH = $(LIBPATH)/inc
    
    # List C source files here. (C dependencies are automatically generated.)
    SRC = $(TARGET).c
    
    # If there is more than one source file, append them above, or adjust and
    # uncomment the following:
    SRC += asuro.c linienlesen.c linienauswerten.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 = 
    
    
    
    
    # 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,-ahlms=$(<:.c=.lst)
    
    # Virtual path for Source Files
    VPATH=F:/ASURO/ASURO_lib/lib
    
    # 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,-ahlms=$(<:.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
    LDFLAGS += -L$(LIBPATH)
    
    
    
    # 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
    LDFLAGS += -l$(LIBFILE)
    
    
    
    # ---------------------------------------------------------------------------
    
    # 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
    SIZE = avr-size
    
    REMOVE = rm -f
    COPY = cp
    
    HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
    ELFSIZE = $(SIZE) -A $(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) -DF_CPU=$(F_CPU) -I. $(CFLAGS)
    ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
    
    
    
    # Default target.
    all: begin gccversion sizebefore $(TARGET).elf $(TARGET).hex $(TARGET).eep \
    	$(TARGET).lss sizeafter finished end
    
    
    # Eye candy.
    # AVR Studio 3.x does not check make's exit code but relies on
    # the following magic strings to be generated by the compile job.
    begin:
    	@$(BEGIN)
    
    finished:
    	@$(FINISH)
    
    end:
    	@$(END)
    
    
    # Display size of file.
    sizebefore:
    	@if [ -f $(TARGET).elf ]; then echo Size before:; $(ELFSIZE);fi
    
    sizeafter:
    	@if [ -f $(TARGET).elf ]; then echo Size after:; $(ELFSIZE);fi
    
    
    
    # Display compiler version information.
    gccversion : 
    	$(CC) --version
    
    
    
    
    # Convert ELF to COFF for use in debugging / simulating in
    # AVR Studio or VMLAB.
    COFFCONVERT=$(OBJCOPY) --debugging \
    	--change-section-address .data-0x800000 \
    	--change-section-address .bss-0x800000 \
    	--change-section-address .noinit-0x800000 \
    	--change-section-address .eeprom-0x810000 
    
    
    coff: $(TARGET).elf
    	$(COFFCONVERT) -O coff-avr $< $(TARGET).cof
    
    
    extcoff: $(TARGET).elf
    	$(COFFCONVERT) -O coff-ext-avr $< $(TARGET).cof
    
    # Create final output files (.hex, .eep) from ELF output file.
    %.hex: %.elf
    	$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
    
    %.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_CFLAGS) $(OBJ) --output $@ $(LDFLAGS)
    
    
    # Compile: create object files from C source files.
    %.o : %.c
    	$(CC) -c $(ALL_CFLAGS) $< -o $@
    
    
    # Compile: create assembler files from C source files.
    %.s : %.c
    	$(CC) -S $(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)
    	$(REMOVE) $(SRC:.c=.s)
    	$(REMOVE) $(SRC:.c=.d)
    
    
    # Automatically generate C source code dependencies. 
    # (Code originally taken from the GNU make user manual and modified 
    # (See README.txt Credits).)
    #
    # 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 \1.d : ,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 extcoff \
    	clean clean_list program
    soooo... ich hoffe ich habe jetzt alles und einer von euch kann mir helfen weil ich echt total am Verzweifeln bin

    Schonmal vielen Dank für eure Antworten


    Güße mize03

  6. #56
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2008
    Beiträge
    319
    Ich bin da leider nicht so Fit, aber warum kopierst du so viel hin und her?

    Mach es doch einfach so wie hier unter Neue Projekte beschrieben.

    http://www.asurowiki.de/pmwiki/pub/html/main.html

    Ging bei mir sofort bis auf den Fehler sieh oben .

  7. #57
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2009
    Beiträge
    24
    Vielen Dank für deine schnelle Antwort,
    bin aber aus dem Link nicht wirklich schlau geworden
    habe alles de- und wieder installiert und dann habe ich in der Makefile die Änderung des LIBPATH vorgenommen.

    Funktioniert aber leider immer noch nicht
    Es ist schon das Makefile gemeint, welches bei dem Programmen im Ordner ist oder?

    Grüße mize03

  8. #58
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    1. Ich habe die Datei F:\ASURO\ASURO_lib\lib\libasuro.a in den Ordner F:\ASURO\WinAVR\avr\lib kopiert

    ...

    3. Habe ich die ganzen Headerdateien unter F:\ASURO\ASURO_lib\lib\inc in den Ordner F:\ASURO\WinAVR\avr\include kopiert
    Wo genau steht es das du das machen soll?

  9. #59
    Neuer Benutzer Öfters hier
    Registriert seit
    26.12.2009
    Beiträge
    24

    Re: So wird die Asuro-LIB installiert und in Betrieb genomme

    Zitat Zitat von Sternthaler
    ...
    Und auch der Linker muss wissen, wo er die LIB-Datei libasuro.a finden kann.
    Dies weiß der Linker auch von ganz alleine, wenn man die libasuro.a an 'die richtige' Stelle kopiert hat. Ist eben ein weiteres 'Lieblingsverzeichnis'.
    Dies ist das Verzeichnis: GCC-HOME\avr\lib
    -> Nicht verwechseln mit: GCC-HOME\lib
    ...
    -3- Optimierung: Es sind mittlerweile ja schon einige Header-Dateien für
    die Asuro-LIB unter LIB-HOME/inc abgelegt. Also macht es auch Sinn, dass
    alle Header in das 'Lieblingsverzeichnis' kopiert werden. Dafür der *

    -4- Jetzt müssen die unter -3- angegeben Dateien noch in das
    Lieblingsverzeichnis kopiert werden.
    Bei einer einzelnen Datei (asuro.h) ging der alte Befehl noch.
    Bei mehreren Dateien (*.h) dürfen wir nur das Zielverzeichnis angeben.
    ...
    Das müsste es sein

    Grüße mize03

  10. #60
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Ok, aber du verwendest doch die lib 2.80? Diesen thread geht uber 2.7. Inzwischen sind einiger verbesserungen/vereinfachungen gemacht in das prozes. Bitte lies (immer) das install.txt in dem .zip datei von den 2.80 lib.

    http://sourceforge.net/projects/asur...1.zip/download

Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test