- Akku Tests und Balkonkraftwerk Speicher         
Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte
Ergebnis 41 bis 50 von 63

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

  1. #41
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.12.2008
    Ort
    Dresden
    Alter
    38
    Beiträge
    100
    Anzeige

    LiFePo4 Akku selber bauen - Video
    nabend allerseits...

    nach langem lesen und try-and-error wollte ich jetzt auch mal ein paar fragen los werden.

    ich habe den asuro noch nicht sehr lang. das zusammenbauen war kein problem, auch die ersten programme (mit der UR-version von WinAVR geschrieben) funktionierten ganz gut.

    viellicht hätte ich nicht sofort dann hiermit starten sollen, aber jetzt isses eh zu spät

    also ich habe mir die aktuellste lib geladen (v.2.8rc1), dazu die aktuellste winAVR version (20081205), den neuesten flasher (1.51) und usb-treiber.

    nun habe ich hier den gesamten thread gelesen und auch die hilfe, die direkt bei der lib dabei ist.
    ich habe alle makefiles schritt für schritt angepasst, habe mir ein neues verzeichnis (das so genannte PROG-HOME) angelegt, dort einen unterordner erstellt und ein makefile reinkopiert und angpasst (wie beschrieben).
    das aufrufen der mak-lib ging auch problemlos.

    nun weiß ich jedoch ehrlich gesagt nicht, wie ich meine eigenen programme (test.c) compilieren und linken lassen kann.

    ganz früher ging das halt mit den selbst angelegten tools im programmers notepad.
    diese sind aber jetzt sinnlos geworden (jedenfalls für die neue lib, oder nicht?!).
    ansich muss ich ja iwie das makefile in meinem unterordner aufrufen. aber wie?! ich bräcuhte dazu ja ansich eine batch. muss ich die erst noch erstellen oder wie kann ich die programme übersetzen?!

    bisher war es so, dass wenn ich noch versucht habe die alte vorgehensweise zu nutzen, dass asuro dann nur alle leds aufleuchten ließ, was ich aber nicht programmiert hab. und das obwohl beim flashen alles problemlos lief... ich nehme aber mal an, dass das an dem drucheinander von neuer und alter lib liegt.

    wenn ich jetzt meine eigenen programme übersetzen könnte, sollte es (wohl hoffentlich) wieder gehen...
    nur wie gesagt: ich weiß nicht wie ich das anstellen soll...

    kann mir bitte wer helfen?! auch wenn die frage iwie ziwmlich doof ist, aber hey...

    beste grüße,

    malediction.

  2. #42
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    02.01.2008
    Alter
    33
    Beiträge
    239
    hallo

    wenn ich mit der neuen lib ein eigenes programm schreibe kopiere ich einfach einen ordner, zb. motortest und schreibe meinen code hinein

    dann braucht man bei der neueren version von WinAVR nur unter Tools den befehl [WinAVR]Make All anklicken und der code wird in eine .hex datei umgewandelt. um ein makefile brauchst du dich da nicht mehr kümmern. und auch den make-befehl brauchst du nicht mehr

    wichtig ist natürlich wieder, dass du vorm compilieren speicherst!!


    ich hoffe, dir damit geholfen zu haben
    mfg hai1991

    P.S.: wer großbuchstaben oder rechtschreibfehler findet darf sie behalten

  3. #43
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.12.2008
    Ort
    Dresden
    Alter
    38
    Beiträge
    100
    danke, hai...

    so hab ichs jetzt auch gemacht und so hats auch funktioniert.

    leider kriege ich die datei jetzt nicht mehr geflasht... (MAN MAN MAN), aber das hab ich schon ein einem anderen thread angesprochen.

  4. #44
    Benutzer Stammmitglied
    Registriert seit
    07.12.2008
    Beiträge
    31
    [@hai]
    Danke! Genau das Problem hatte ich auch.


    Ich habe mir nun die neuste WinAVR-Version heruntergeladen und installiert, doch auf dem Dekstop wurde keine Verknüpfung zum Programmers Notepad erstellt, und jetzt Suche ich mich dumm und dämlich. (AAAHHHH!!! WARUM MUSS ES IMMER AN DEN BEKLOPPTESTEN SACHEN SCHEITERN!?!? ) Man, das ist echt zum heulen... und das alles nur, weil mein Asuro nen Rechtsdrall hat und ich den GoTurn-Befehl brauche .
    Falls mir jemand den Pfad zur Programmers-Notepad.exe verraten würde, wäre ich sehr dankbar.


    [@malediction]
    Keine Sorge, irgendwann schaffen wir das xD

  5. #45
    Benutzer Stammmitglied
    Registriert seit
    07.12.2008
    Beiträge
    31
    Habs gefunden!
    Dann mache ich mich jetzt mal an die Arbeit

    €dit: Damn it! Es war so klar... es klappt nicht xD
    Bei meinem programm soll der Asuro jetzt mithilfe der GoTurn-Funktion einfach nur geradeaus fahren, doch stattdessen blinkt die Status-LED bloß abwechselnd Rot und GRÜN.
    Mein Asuro treibt mich noch zum Wahnsinn. \/

    Hier ist das Programm:
    Code:
    #include "asuro.h"
    
    int main(void)
    {
    	Init();
    	StatusLED(YELLOW);
    	FrontLED(ON);
    	BackLED(ON,ON);
    	MotorDir(FWD,FWD);
    	GoTurn(230,230);
    	while(1);
    	return 0;
    }

    €dit 2: Verdammt! Jetzt klappt nichtmal mehr das compilieren! Wenn ich versuche, das oben genannte Programm in eine .hex umzuwandeln kommt folgende Fehlermeldung:
    Code:
     make.exe: ***No rule to make target `test.hex', needed by `all'. Stop.
    Boah ey ich hab echt kein Bock mehr auf diesen f*pieps* Asuro -.-
    *Asuro aus dem Fenster wirft*

  6. #46
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.12.2008
    Ort
    Dresden
    Alter
    38
    Beiträge
    100
    hast du die makefiles wie beschrieben angepasst?

  7. #47
    Benutzer Stammmitglied
    Registriert seit
    07.12.2008
    Beiträge
    31
    Ja habe ich gemacht. Hast du es denn nun hingekriegt? Wenn ja, könntest du mir vllt. nochmal kurz erklären, was nun zutun ist, wenn man die lib installiert und die makefiles angepasst hat? das wäre echt super.

  8. #48
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.12.2008
    Ort
    Dresden
    Alter
    38
    Beiträge
    100
    ja also bei mir läuft jetzt alles.

    ich habs so gemacht:
    zuerst die lib runtergeladen (v2.8rc1), entpackt (an einen ort, wo NICHT winAVR ist).
    dann die neueste WinAVR geladen und installiert.

    dann hab ich die makefiles so wie von sternthaler beschrieben angepasst (das makefile im lib-ordner und dann das file im examples/firsttry ordner).

    dann hab ich die lib noch mal neu übersetzt (auch von sternthaler beschrieben mit der eingabeaufforderung).

    jetzt bist du ansich soweit, dass es gehen müsste.

    ich mach das mit dem programmieren jetzt immer so:
    ich ändere die test.c-datei im firsttry ordner. dazu kannst du ganz einfach im programmers notepad das projekt firsttry aufrufen.

    in der test.c-datei steht eh noch nix außer dem skelett.
    dann hier fleißig programmieren, die datei speichern und dann auf tools->[WinAVR]MakeAll klicken.

    er übersetzt dir deine datei im firsttry-ordner und du erhälst in diesem ordner dann eine test.hex-datei. diese dann auf asuro flashen und es sollte gehen.

    allerdings musst du wirklich BEIDE makefiles (im lib- und im firsttry-ordner) angepasst haben. wenn du das richtig gemacht hast und die lib noch mal neu compiliert hast, müsste alles gehen.

    viel erfolg! du schaffst das!

    [-o<

  9. #49
    Neuer Benutzer Öfters hier
    Registriert seit
    17.08.2009
    Beiträge
    14
    EDIT:
    ich habe winavr auf C:/WinAVR
    die asuro lib auf C:/asuro-lib/lib
    und die programme auf D:\2_asuro\ASURO_src\FirstTry

    ich habe die pfade in den beiden makefiles angepasst und backslashes \ durch / ersetzt.
    danach habe ich make-lib.bat im lib ordner zum maken ausgefüht. hat auch geklappt.

    Doch wenn ich dann mit PorgrammersNotepad mein test.c im D:\2_asuro\ASURO_src\FirstTry maken möchte komtm folgendes:
    Code:
    > "make.exe" all
    set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
    	| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
    	[ -s test.d ] || rm -f test.d
    test.c:1:19: error: asuro.h: No such file or directory
    -------- begin --------
    avr-gcc --version
    avr-gcc (WinAVR 20090313) 4.3.2
    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 `test.hex', needed by `all'.  Stop.
    
    > Process Exit Code: 2
    > Time Taken: 00:01
    er findet die asuro.h ja nciht (test.c:1:19: error: asuro.h: No such file or directory), wahrscheinlich, weil ich die aus PROG-HOME mit asuro.c gelöscht habe, da er die beiden asuro dateien, ja jetzt aus der lib nehmen soll.

    EDIT: ich stelle hier einfach mal die makefiles rein. cih hoffe ihr könnt mri dann helfen:

    makefile von asuro-lib
    Code:
    ###############################################################################
    # Makefile for the project AsuroLib
    ###############################################################################
    
    ## General Flags
    PROJECT = AsuroLib
    MCU = atmega8
    TARGET = AsuroLib.elf
    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 encoder.o encoder_low.o i2c.o leds.o lcd.o\
     	motor.o motor_low.o print.o printf.o rc5.o sound.o switches.o\
      time.o uart.o version.o 
    
    ## Objects explicitly added by the user
    LINKONLYOBJECTS = 
    
    # Define directories, if needed.
    DIRAVR = C:/WinAVR
    #DIRAVR = /usr/local/avr
    DIRAVRBIN = $(DIRAVR)/bin
    DIRAVRUTILS = $(DIRAVR)/utils/bin
    DIRINC = C:/asuro_lib/lib/inc
    DIRLIB = C:/asuro_lib/lib
    
    LIB = asuro
    LIBFILE = lib$(LIB).a
    HEADER = asuro.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)/$(HEADER)
    
    lst: $(OBJECTS:%.o=%.lst)
    
    
    %.lst: %.o
    	$(OBJDUMP) -h -S $< > $@
    
    ## Other dependencies
    -include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)
    makefile von firsttry (PROG-HOME):
    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
    
    # Output format. (can be srec, ihex, binary)
    FORMAT = ihex
    
    # Target file name (without extension).
    TARGET = test
    
    # 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).c
    
    # If there is more than one source file, append them above, or adjust and
    # uncomment the following:
    SRC += asuro.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)
    
    
    
    # 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
    
    
    
    # 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
    
    
    
    # ---------------------------------------------------------------------------
    
    # Define directories, if needed.
    DIRAVR = c:/WinAVR
    DIRAVRBIN = $(DIRAVR)/bin
    DIRAVRUTILS = $(DIRAVR)/utils/bin
    DIRINC = C:/asuro_lib/lib/inc
    DIRLIB = C:/asuro_lib/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) -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
    Die Directories habe ich ja angepasst, aber es scheint trotzdem nicht zu funktionieren.

    EDIT:
    Ist schon okay. Habe nochmal alels deintsalliert und diesmal die neuste lib genommen also 280rc1. Da lag zum glück auch eine install.txt bei. Die at alle fragen gelöst

  10. #50
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo fog.sliver,

    auch du meine Güte. So schnell wie du eine Lösung gefunden hast, kann ich mich ja gar nicht hier anmelden .

    Um noch kurz eine kleine Info zu geben:
    - Die asuro.c wird nicht in der LIB mit eingebunden.
    Nur die unter OBJECTS im LIB-Makefile aufgeführten Dateien sind da enthalten.
    - Die asuro.h sollte schon im LIB/inc-Verzeichnis vorhanden sein, da sie auch von deinen Programmen gefunden werden muss. Sie wird da immer mit einem "#include <asuro.h>" gesucht.
    - In meinem ersten Beitrag, habe ich auch einige Links zu Hilfen bei der Konfiguration im AVRStudio angegeben. Eventuell musst du so etwas auch im "ProgrammersNotepad" einstellen. Den kenne ich aber nicht wirklich.

    Ansonsten ist ja nun alles bestens.
    Weiterhin viel Erfolg und vor allem Spaß mit dem Asuro.

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests