- LiFePO4 Speicher Test         
Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 77

Thema: Asuro lib einbinden

  1. #21
    Neuer Benutzer Öfters hier
    Registriert seit
    28.07.2007
    Beiträge
    26
    Anzeige

    E-Bike
    also ich habe mal versucht, die makefiles zu vergleichen und die einstellungen zu verändern. nun sieht der file folgendermaßen aus:

    Code:
    ###############################################################################
    # Makefile for the project TestProjekt
    ###############################################################################
    
    ## General Flags
    PROJECT = TestProjekt
    MCU = atmega8
    TARGET = program.elf
    CC = avr-gcc.exe
    
    ## 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      -DF_CPU=8000000UL -Os -fsigned-char
    CFLAGS += -MD -MP -MT $(*F).o -MF dep/$(@F).d 
    
    ## Assembly specific flags
    ASMFLAGS = $(COMMON)
    ASMFLAGS += $(CFLAGS)
    ASMFLAGS += -x assembler-with-cpp -Wa,-gdwarf2
    
    ## Linker flags
    LDFLAGS = $(COMMON)
    LDFLAGS +=  -Wl,-Map=program.map
    
    
    ## 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 --no-change-warnings
    
    
    ## Include Directories
    INCLUDES = -I"C:\Users\michael\Asuro\Workspace\eigener test\TestProjekt\..\..\..\Asuro lib\AsuroLib-v270rc3\lib\inc" 
    
    ## Library Directories
    LIBDIRS = -L"C:\WinAVR\avr\lib" -L"C:\Users\michael\Asuro\Asuro lib\AsuroLib-v270rc3\lib" 
    
    ## Libraries
    LIBS = -lasuro 
    
    ## Objects that must be built in order to link
    OBJECTS = TestProjekt.o 001.o asuro.o 
    
    ## Objects explicitly added by the user
    LINKONLYOBJECTS = 
    
    ## Build
    all: $(TARGET) program.hex program.eep program.lss size
    
    ## Compile
    TestProjekt.o: ../TestProjekt.c
    	$(CC) $(INCLUDES) $(CFLAGS) -c  $<
    
    001.o: ../001.c
    	$(CC) $(INCLUDES) $(CFLAGS) -c  $<
    
    asuro.o: ../../../../Asuro lib/AsuroLib-v270rc3/lib/asuro.c
    	$(CC) $(INCLUDES) $(CFLAGS) -c  $<
    
    ##Link
    $(TARGET): $(OBJECTS)
    	 $(CC) $(LDFLAGS) $(OBJECTS) $(LINKONLYOBJECTS) $(LIBDIRS) $(LIBS) -o $(TARGET)
    
    %.hex: $(TARGET)
    	avr-objcopy -O ihex $(HEX_FLASH_FLAGS)  $< $@
    
    %.eep: $(TARGET)
    	-avr-objcopy $(HEX_EEPROM_FLAGS) -O ihex $< $@ || exit 0
    
    %.lss: $(TARGET)
    	avr-objdump -h -S $< > $@
    
    size: ${TARGET}
    	@echo
    	@avr-size -C --mcu=${MCU} ${TARGET}
    
    ## Clean target
    .PHONY: clean
    clean:
    	-rm -rf $(OBJECTS) program.elf dep/* program.hex program.eep program.lss program.map
    
    
    ## Other dependencies
    -include $(shell mkdir dep 2>/dev/null) $(wildcard dep/*)

    aber eine hex wird immer noch nicht erstellt. mein programm sieht nun so aus:

    Code:
    #include "asuro.h" 
    
    
     //void Sleep3ms(short b);
    int main(void)
    {
    	Init();
    	while(1){
    	 if(PollSwitch()!=0) { 
    		 //SerPrint("Achtung\n");
    		 if(PollSwitch()>7){//links
    			SetMotorPower (0,0);
    	//		 Sleep3MS(50);
    			SetMotorPower (0,-100);
    	//		 Sleep3MS(200);
    			SetMotorPower (100,100);
    		}
    		else{//rechts 
    			SetMotorPower (0,0);
    	//		 Sleep3MS(50);
    			SetMotorPower (-100,0);
    	//		 Sleep3MS(200);
    			SetMotorPower (100,100);
    			
    		}
    	 }
    	 else{
    		 SetMotorPower (100,100);
    	//	 Sleep3MS(30);
    		 
    		 
    	 }
    	}
    }
    
     //void Sleep3MS(short b){
     //short t;
    //	for(t=0;t<=b;t++){
    //		Sleep(216);
    //	}
    //}
    also so, dass es keine fehler bringt:

    Build succeeded with 0 Warnings...


    muss man den makefile noch mal extern starten oder ist noch etwas falsch eingestellt???

  2. #22
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    68
    Beiträge
    699
    Build succeeded with 0 Warnings...

    Wenn das nicht positiv klingt!
    Wie hast Du MakeFile verändert, direkt oder durch Änderungen in den Einstellungen des AVR Studio (ich hoffe doch letzteres).
    Momentan sehe ich den Fehler leider nicht klar, weil ich nicht weiß, was Du wirklich machst.
    Vielleicht wird das hex-File erstellt und durch make clean gleich wieder gelöscht (ich hatte mal so einen Fall), sollte aber im AVR Studio selbst nicht passieren.

  3. #23
    Neuer Benutzer Öfters hier
    Registriert seit
    28.07.2007
    Beiträge
    26
    hmm also ich habe die einstellungen im AVR studio verändert. ich compiliere den file, indem ich unter "Source Files" auf die datei "TestProjekt.c" rechts klicke und dann durch "compile" den compiler starte.

    habe aber noch einen fehler gefunden:

    habe ein bischen rumgespielt und mal auf "Build Active Configuration" gedrückt. da kommt folgender fehler:

    make: *** No rule to make target `../../../../Asuro', needed by `asuro.o'. Stop.

  4. #24
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    68
    Beiträge
    699
    ich compiliere den file, indem ich unter "Source Files" auf die datei "TestProjekt.c" rechts klicke und dann durch "compile" den compiler starte.
    Das ergibt lediglich eine Objekt-Datei aus der entsprechenden Source-Datei. Wenn Du ein hex.File erzeugen willst, musst Du im Menü unter "Build" auf "Build" oder "Rebuild All" klicken. Das ergibt bei Fehlerfreiheit ein hex-File. Du musst in einem Projekt denken, nicht in einzelnen Files.

    Präprozessor:
    Die Header werden per #include in die Source Files integriert.
    Die #defines werden einfach ersetzt.

    Compiler:
    Source Files werden in Object Files verwandelt.

    Linker:
    Packt Object Files und statische Libraries zusammen.

    Das Ergebnis ist eine auf dem Ziel-Prozessor lauffähige hex-Datei.


    Dein MakeFile sieht o.k. aus, sollte klappen. Vielleicht stimmt etwas mit der Verbindung zu WinAVR nicht, dann würde AVR Studio aber motzen oder abstürzen. Du verwendest AVR Studio Version 4.13?

    "Build Active Configuration" finde ich nicht im Menü. Wie kommt man dorthin?

  5. #25
    Neuer Benutzer Öfters hier
    Registriert seit
    28.07.2007
    Beiträge
    26
    also der gleiche fehler kommt auch, wenn ich compilieren möchte. so wie du das beschrieben hast. habe ich ja dann gar nicht compiliert.

    wenn ich Rebuild all drücke kommt:

    Code:
    Build started 29.7.2007 at 18:57:13
    avr-gcc.exe -I"C:\Users\michael\Asuro\Workspace\eigener test\TestProjekt\..\..\..\Asuro lib\AsuroLib-v270rc3\lib\inc"  -mmcu=atmega8 -Wall -gdwarf-2          -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT
     TestProjekt.o -MF dep/TestProjekt.o.d  -c  ../TestProjekt.c
    
    avr-gcc.exe -I"C:\Users\michael\Asuro\Workspace\eigener test\TestProjekt\..\..\..\Asuro lib\AsuroLib-v270rc3\lib\inc"  -mmcu=atmega8 -Wall -gdwarf-2          -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT
     001.o -MF dep/001.o.d  -c  ../001.c
    
    make: *** No rule to make target `../../../../Asuro', needed by `asuro.o'.  Stop.
    Build failed with 1 errors and 0 warnings...

  6. #26

  7. #27
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.064
    also ich muss ja sagen, ich komme ganz gut ohne winavr klar... =) linux fetzt... programmieren in vi, dann make... fertig.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  8. #28
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    68
    Beiträge
    699
    ... komme ganz gut ohne winavr klar... linux ... programmieren in vi, ... make... fertig.
    Selbstverständlich geht das konsolenorientiert. Ich habe ihm AVR Studio in Kombination mit WinAVR empfohlen, weil man sich damit gerade nicht um MakeFiles kümmern muss. Seitdem wühlt er nur noch in MakeFiles herum. Wenn er Deinem Vorschlag auch noch folgt, wird seine Breitenbildung signifikant erhöht. Ob er zum gewünschten hex-File gelangt, bleibt noch offen.
    Ich bevorzuge das AVR Studio bei ISP, da man nach dem Kompilieren/Linken mit einem einzigen Mausklick flashen kann.

  9. #29
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo alias_host,
    willkommen im Forum.

    Die 3 letzten warnings in deinem Programm kommen dadurch, dass du
    --> void Sleep3ms(short b); <--- mit Kleinbuchstaben bei 3ms deklarierst, aber
    --> void Sleep3MS(short b) <-- mit GROSSBuchstaben bei 3MS definierst.
    Woher das erste warning kommt sehe ich im Moment nicht.

    P.S.: Sorry, auch ich tendiere, wie damaltor, zur Konsole.
    Lieber Asuro programieren als arbeiten gehen.

  10. #30
    Neuer Benutzer Öfters hier
    Registriert seit
    28.07.2007
    Beiträge
    26
    also wenn ich heute mal noch zeit habe, dann mache ich mal ne doku, wie ich das alles installiere und einstelle. dann kann ehenkes noch mal gucken. wenn er den fehler nicht findet, dann mach ich alles über konsole... ich habe gehört, es soll auch ein plugin für eclipse geben???

Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress