- 12V Akku mit 280 Ah bauen         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Neue Asurolib 2.70

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    20.02.2007
    Alter
    35
    Beiträge
    45

    Neue Asurolib 2.70

    Anzeige

    Praxistest und DIY Projekte
    Tja trotz umfangreichen suchen werde ich einfach nicht schlauer.

    Ich möchte eigentlich nur die neue Lib verwenden aber ich mache zwei dinge immernoch falsch.

    1. #include <libasuro.a> <- ist das die richtige include ?

    ( ich habe das neue Programmers Notepad und libasuro.a sowie asuro.c in die entsprechenden ordner kopiert )
    aber ich finde kein make und clean .bat

    das programmers notepad hat diese zwar von anfang an aber wenn ich die entsprechenden aus firstTry in den lib ordner kopiere

    ( in die entpackte lib wo ich auch mein test.c speichere )

    dann bekomme ich folgendes
    Code:
    > "H:\Dokumente und Einstellungen\Administrator\Desktop\ASURO\SRC\lib\Test-all.bat" 
    
    H:\Dokumente und Einstellungen\Administrator\Desktop\ASURO\SRC\lib>make all 
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT globals.o -MF dep/globals.o.d  -c  globals.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT adc.o -MF dep/adc.o.d  -c  adc.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT encoder.o -MF dep/encoder.o.d  -c  encoder.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT leds.o -MF dep/leds.o.d  -c  leds.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT motor.o -MF dep/motor.o.d  -c  motor.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT print.o -MF dep/print.o.d  -c  print.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT sound.o -MF dep/sound.o.d  -c  sound.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT switches.o -MF dep/switches.o.d  -c  switches.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT time.o -MF dep/time.o.d  -c  time.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT uart.o -MF dep/uart.o.d  -c  uart.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -O2 -I./inc -MD -MP -MT version.o -MF dep/version.o.d  -c  version.c
    cc1.exe: warning: `dwarf-2': unknown or unsupported -g option
    avr-ar cru libasuro.a globals.o adc.o encoder.o leds.o motor.o print.o sound.o switches.o time.o uart.o version.o
    rm -rf *.o *~
    
    > Process Exit Code: 0
    > Time Taken: 00:01
    ... vermutlich einfach nur igendetwas falsch gemacht .. bitte sagt mir was =)

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    Drei Dinge sind mindestens falsch.
    1. die asuro.c wird nirgendwo hinkopiert.
    2. In seinen eigenen Quellen wird weiterhin nur die asuro.h included.
    Code:
    #include "asuro.h"
    Man kann auch die eckigen Klammern verwenden.
    Code:
    #include <asuro.h>
    Dazu muß sich dann aber die asuro.h im Verzeichnis
    C:\WinAVR\avr\include befinden.
    3. Die test.c kopiert man nicht in den Lib Ordner


    um die neue Asuro Lib verwenden zu können,geht man folgendermaßen vor:

    1. man entpackt das Zip File in ein beliebiges Verzeichnis, z.B. nach
    C:\ASURO
    Die Verzeichnisstruktur der Asuro Lib und der Beispiele ist dann:
    C:\ASURO\lib
    C:\ASURO\lib\inc
    C:\ASURO\examples
    C:\ASURO\examples\FirstTry
    C:\ASURO\examples\SelfTest
    ...
    Wenn man diese bestehende Verzeichnisstruktur nicht ändert, braucht man an den mitgelieferten Makefiles auch nichts zu ändern.
    2. Um die Lib zu installieren kopiert man das File
    C:\ASURO\lib\libasuro.a
    in den WinAVR Lib Ordner, das ist normalerweise:
    C:\WinAVR\avr\lib\
    3. Zudem empfielt es sich das File
    C:\ASURO\lib\inc\asuro.h
    in den WinAVR include Ordner kopieren
    C:\WinAVR\avr\include
    4. Als nächstes sollte man versuchen, ob sich die mitgelieferten Beispiele übersetzen lassen.
    5. Um ein eigenes Projekt zu erzeugen, kopiert man am besten den kompletten Ordner
    C:\ASURO\examples\FirstTry
    in ein anderes Unterverzeichnis. Wichtig ist dabei die Verzeichnistiefe beizubehalten, also entweder ein neuer Ordner im examples Verzeichnes zu erstellen oder einen Ordner
    C:\ASURO\projects
    anlegen, und dort die Files eines Projektes jeweils in einen eigenen Unterordner zu kopieren, z.B.
    C:\ASURO\projects\SecondTry
    Die Makefiles sind so angelegt das Include Files und asuro.c relativ eingebunden werden, und zwar genau 2 Verzeichnisebenen nach unten zum Wurzelverzeihnis, und dann wieder hoch in das lib Verzeichnis.
    Code:
    VPATH=..\..\lib
    -I=..\..\lib\inc

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    20.02.2007
    Alter
    35
    Beiträge
    45
    ... vermutlich einfach nur igendetwas falsch gemacht .. bitte sagt mir was =)
    .... vermutlich einfach alles falsch gemacht *g*


    vielen dank !

    jetzt hab ichs richtig hinbekommen

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.05.2007
    Alter
    33
    Beiträge
    183
    ich komme mit dieser lib auch noch nicht so richtig klar.
    die libasuro.a ist bei mir jetzt in C:\Programme\WinAVR\avr\lib und die myasuro.h ist in C:\Programme\WinAVR\avr\include.

    Allerdings bekomme ich beim compillieren der Beispiele diesen Fehler:
    C:\Programme\Asuro>make 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
    -------- begin --------
    avr-gcc --version
    avr-gcc (GCC) 3.3.1
    Copyright (C) 2003 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.

    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
    test.c: In function `main':
    test.c:30: warning: implicit declaration of function `SerPrint'
    test.c:31: warning: implicit declaration of function `PrintInt'
    test.c:35: warning: statement with no effect
    avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
    asuro.c: In function `Init':
    asuro.c:172: error: `autoencode' undeclared (first use in this function)
    asuro.c:172: error: (Each undeclared identifier is reported only once
    asuro.c:172: error: for each function it appears in.)
    asuro.c: In function `__vector_4':
    asuro.c:208: error: `count36kHz' undeclared (first use in this function)
    asuro.c:210: error: `timebase' undeclared (first use in this function)
    asuro.c: In function `__vector_2':
    asuro.c:247: error: `switched' undeclared (first use in this function)
    asuro.c: In function `__vector_14':
    asuro.c:282: error: `autoencode' undeclared (first use in this function)
    asuro.c:300: error: `encoder' undeclared (first use in this function)
    make: *** [asuro.o] Error 1

    > Process Exit Code: 2
    zum proggen nehme ich Programmers Notepad und übersetzen tue ich wie in der Asuro Anleitung beschrieben. Was mache ich falsch?

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    68
    Beiträge
    699
    Ich halte garnichts davon, manuell irgendwelche Dateien durch die Gegend zu kopieren, denn sobald man an einer Stelle etwas ändert, muss man dies per Kopie der Datei auch an der zweiten machen. Das ist absoluter Murks!
    Bei mir kopiert sich die libasuro.a aus dem Verzeichnis C:\ASURO_SRC\AsuroLib\lib automatisch in das Verzeichnis C:\WinAVR\avr\lib
    Das ist dann o.k. Die Datei asuro.h wird leider auch automatisch kopiert, aber nicht nach C:\WinAVR\avr\include, denn dort hat sie überhaupt nichts zu suchen.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.05.2007
    Alter
    33
    Beiträge
    183
    ich weiß nicht mehr, was ich noch falsch mache. kann mir jemand genau erklären, WAS ich da jetzt machen muss (das kopieren hab ich ja schon) damit ich meine Programme aus dem Programmers Notepad übersetzen kann?

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    68
    Beiträge
    699
    asuro.c:172: error: 'autoencode' undeclared
    Er kennt also in asuro.c die Variable 'autoencode' nicht. Diese Variable wird in asuro.h deklariert: "extern volatile int autoencode;"
    Fazit: Er findet asuro.h nicht.

    asuro.c:208: error: `count36kHz' undeclared
    asuro.h: "extern volatile unsigned char count36kHz;"

    Also gib dem Compiler asuro.h, dann wird er den Rest für dich erledigen.

    Ich würde asuro.h hier deponieren:
    C:\ASURO_SRC\AsuroLib\lib\inc
    und von mir aus auch noch hier (das kopiert er bei mir automatisch dahin):
    C:\ASURO_SRC\AsuroLib\lib

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.05.2007
    Alter
    33
    Beiträge
    183
    mmh. ich habe sie in C:\Programme\Asuro\AsuroLib\lib und in C:\Programme\WinAVR\avr\include und in C:\Programme\WinAVR\avr\lib.

    Wo ist denn festeglegt, wo welche Datei sein muss? doch in der Makefile, oder? Ich kapier das alles nicht...

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    68
    Beiträge
    699
    Bei mir:
    C:\ASURO_SRC\AsuroLib\lib

    Bei Dir:
    C:\Programme\Asuro\AsuroLib\lib\

    schau mal in die make-Datei, bei mir steht da:
    # Define directories, if needed.
    DIRAVR = c:/winavr
    DIRAVRBIN = $(DIRAVR)/bin
    DIRAVRUTILS = $(DIRAVR)/utils/bin
    DIRINC = .
    DIRLIB = $(DIRAVR)/avr/lib

    Bei Dir müsste da C:/Programme/WinAVR stehen.
    asuro.h sollte dort im Verzeichnis stehen, wo asuro.c ist., denn es heisst:
    #include "asuro.h" in asuro.c

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    68
    Beiträge
    699
    Kopiere asuro.h auch noch nach:
    C:\Programme\Asuro\AsuroLib\lib\inc

    Bei mir wird das automatisch von ...\lib\inc nach ...\lib kopiert, wenn ich die libasuro.a compiliere und linke.

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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

12V Akku bauen