-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Neueste Lib-Verständnissproblem

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71

    Neueste Lib-Verständnissproblem

    Anzeige

    Hi, ich denke mir das dies hier schon sooooooo oft angesprochen wurde. Aber ich bin am verzweifeln. Ich will akso die neuste Lib benutzen. Also: runtergeladen-entpackt-Makefile geändert.
    wenn ich jetzt mit Programmers Notpad die test.c Datei öffne, und ein code einfüge der eine neuere Lib braucht, bekomme ich nur fehlermeldungen.
    Und die LIB als EXE Datei, wo ich dann das Programm ASUROFLASCH habe, was mache ich damit. Gibs da ne Anleitung auf deutsch. Vieleicht stelle ich mich auch zu blöd an.
    Gruß Frank

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71
    um zu Testen ob ich mit der neuen Lib zurechtkomme; wie müsste ein kurzes Programm mit Go und Turn aussehenz.B: kurz fahren-90grad-fahren??

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Genau Welcher fehlermeldungen hast du bekommen? Bitte versuch das nochmahls und poste den text. Das mit die LIB und EXE datei usw. verstehe ich nicht was du meinst.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71
    Die exe datei meine ich , die man hierhttp://sourceforge.net/projects/asuro/runterladen kann. Gibs da ja auch als ZIP.
    Aber ganz ehrlich-- beim Umgang damit blicke ich nicht durch. Deshalb wollte Suche ich Beispiele um es auszuprobieren.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2008
    Beiträge
    319
    Moin,
    ich habe mich damit gestern auch beschäftigt, lade dir die *.exe oder *.zip runter bei der exe wird das Flash Toll noch mit installiert. In der Lib ist eine Index.html datei zur Lib wo eigentlich alles sehr gut beschrieben ist.

    in myasuro.h muss man noch die Parameter des Ausros bearbeiten was davon abhängt welche S/W Scheibe drauf ist. Da blicke ich aber gerade auch nicht durch. Speed verändert sich aber der Winkel funktioniert nicht und da ich kein IR Sender habe kann ich das hier nicht machen.

    http://www.roboternetz.de/phpBB2/viewtopic.php?t=31073

    Hier mein Programm was ich gestern zum testen genommen habe.

    Code:
    #include "asuro.h"
    int i;
    int main(void)
    {
        Init();
    	EncoderInit ();
    	Msleep(200);
    for (i = 0; i < 4; i++)
      {
        
        GoTurn (  50, 0,150);  //50 nach Vorne v=150
    	Sleep(50);			   //Pause
    	GoTurn ( 0,90,150);    //90grad drehen mit v=150
    	Sleep(50);			   //Pause
    	GoTurn ( 0,-90,150);   //90grad zurück drehen mit v=150
     	Sleep(50);			   //Pause
    	GoTurn (  -50, 0,150); //50 zurück v=150
    
      }
    
    
      
      return 0;
    }
    weiter bin ich noch nicht bin froh das ich ihn nach einigen Jahren wieder zum laufen bekommen habe...

    In dem Lib Ordner sind verschieden Beispiele, unter anderem FirstTry damit kann man eigentlich gut anfangen. Behält man die Ordnerstruktur und Dateinamen bei so muss man auch nichts am Makefile ändern. Ich hatte Probleme mit dem EncoderInit (); in FirstTry, das musst vor dem ersten Compilieren in AVR Studio 4.13 drin stehen dann ging alles.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71
    OK.Danke werde ich mal versuchen

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Die Setup .exe enthalt das Flashtool/Compiler umgebung program von Osser (auch 'Eierlegendewolmilchsau' genant in einer thread irgendwo in dieser Asuro teil des Forums) UND die erweiterte lib. Die .zip datei enthalt nur die erweiterte lib.

    Osser's program macht meineswissen ein inkorrektes installation auf meine Vista. Die projekten werden auf die falsche platz installier wodurch ich immer UAC meldungen bekomme. Deshalb benutze ich es nicht. (vieleicht hat er das schon verbessert, weis nicht mehr welcher version, letztes halbes jahr oder so)

    Die zip datei ist relatief einfach in gebrauch wen du nicht vergisst die pfad angaben in dem makefiles zu ändern. Auch mus man erst verschieden werten in my_asuro.h ergänzen (odometrisensoren helligkeiten, ticks pro meter, Taste kennwert usw. fur dein Asuro) und dan den lib selbst compilieren (bei jede neue änderung wieder). Dafur gibt es .bat dateinen die das automatisch machen.

    Die makefile von deine projekten/beispiel projekten wissen schon wo die lib dateien versteckt sind in dem mappe structur. Du muss nur das pfad auf deinem festplatte zu den compiler anpassen. Das compilieren mache ich oft in einer ms-dos/console schirm mit dat kommando 'make all'. Aber doppelclicken auf die .bat dateien gehen auch.

    Dazu gibt es in dem zip datei auch einer install.txt Beschreibt alles was du wissen soll.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    71
    OK, hab ich alles so gemacht. hier mal mein MAKEFILE:
    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 = 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
    
    # additional Include path for libraries
    #LIBPATH = C:/ASURO_SRC/AsuroLib/lib
    LIBPATH = C:\ASURO_src\AsuroLib
    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
    
    # 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) -I$(INCPATH) \
    	-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums \
    	-Wall -Wstrict-prototypes \
    	-Wa,-ahlms=$(<:.c=.lst)
    
    # Virtual path for Source Files
    VPATH = $(LIBPATH)
    
    # 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-20090313
    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
    ich will einfach den Ordner first try so benutzen wie er ist. Also das Makefile wie oben geändert.
    Dann im Test .c ein Programm eingefügt, geschlossen, und Änderung gespeichert.
    Wenn ich jetzt doppelt auf makeall.bat klicke verschwindet die test.hex datei.
    Was mache ich bloß falsch, und was macht man mit makeall.168.bat???
    Gruß Frank

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    # additional Include path for libraries
    #LIBPATH = C:/ASURO_SRC/AsuroLib/lib
    LIBPATH = C:\ASURO_src\AsuroLib
    LIBFILE = asuro
    Die fett gedrückte regel hier oben ist eingentlich gut (aber make machts nichts mit diesen regel weil es aus-kommentiert is mit diesen "#".) Aber nur als den install.txt wirklich in dem mappe C:/ASURO_SRC/AsuroLib ausgepackt ist. Das vermutte ich aber, auf basis der nächste LIBPATH regel der du vermutlich geändert hat. Diese ist aber falsch. Siehst du das du back-slashes drin hat. Der orginale (beispiel) "#LIBPATH" regel dort oben hat forward-slashes drin. Warum das ist? Verstehe ich auch nicht. Hat etwas mit das alten Unix zu machen. Windows zeigt back-slashes zwischen mappe, Unix/linux/internet-url haben forward-slashes.

    Ausserdem, den lib dateien (.c, .h, usw. ) stehen im AsuroLib/lib".

    # Define directories, if needed.
    DIRAVR = c:/WinAVR-20090313
    Stimmt das mit das richtigen pfad zum AVR compiler? Jedenfalls hat er die richtige (forward)slash.

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    makeall.168.bat ist ein kleines Batch-script. (.bat dateien stammen aus dem MSDOS zeit) Du kannst das öffnen (zum lesen) mit notepad und den make commandos drin lesen. Ausfuhren kannst du durch doppeltclicken.

    ABER, die 168-datei ist speziel fur den Atmega168 chip. Fur den orginale Asurochip (atmega solltest du nur die make-all.bat ausfuhren. Diesen batch-script gibt erst das kommando das Make.exe die mappe rein machen soll (alte .hex und weitere dateien lösschen). Dannach macht er neue aktuelle versionen von diesen dateien beim compilieren. Dannach wartet es mit einer pause. (Wenn du keine .hex datei findest ist das compilier prozess nicht gelungen.) Die make-clean.bat datei macht die projekt mappe nur rein. Es startet kein compilier prozess.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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