- LiFePO4 Speicher Test         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 32

Thema: Library 2.70

  1. #11
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Anzeige

    Praxistest und DIY Projekte
    Hallo

    Das setup sagt jedoch: kein AVR da! Warum?
    Hast du den Path eingetragen? Unter Arbeitsplatz->Eigenschaften->Erweitert->Umgebungsvariablen->Path.

    Gruß

    mic
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken avr-path.jpg  
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    17.02.2007
    Alter
    37
    Beiträge
    49

    Wies geht!

    OK jetz weiß ich wies geht.
    Folgendes:
    Wer eine alte WinAVR Version hat diese Deinstallieren
    Pathvariable löschen (in der Registry und der Systemsteuerung)
    -> bei mir waren die komischerweiße unterschiedlich
    Neue AVR Version installieren (wegen neuem Compiler)
    AVR Asuro Lib instaöllieren
    Fehlermeldung ignorieren
    Geht.


    Jetzt kommt bei mir aber:
    print.c:137: warning: pointer targets in passing argument 1 of 'SerPrint' differ in signedness
    heißt das das eine Librury doppelt ist oder stimmt der Quellcode von SerPrint nocht?
    Mein Programm sieht an der stelle so aus:
    PrintInt(msright);
    habs aber auch schon so versucht
    PrintInt(msright [5]);
    die PrintInt sieht so aus:


    Code:
    void PrintInt (
      int wert)
    {
      char text [7];                        // "-12345"
    
      itoa (wert, text, 10);
      SerPrint (text);
    }
    und die SerPrint so


    Code:
    void SerPrint (
      unsigned char *data)
    {
      unsigned char i = 0;
    
      while (data [i] != 0x00)
        UartPutc (data [i++]);
    }

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo NomiS,
    diesen warning kannst du ausnahmsweise mal vergessen.

    Die SerPrint()-Funktion erwartet einen String, der mit "unsigned char"-Variablen definiert ist.
    Da z.B. ein Aufruf der Funktion mit "SerPrint ("Hallo");" gemacht wird, wird hier leider ein "signed char" in die Funktion gegeben.
    Diese Version vom Compiler liefert dir hierfür nun ein warning.

    Dieses warning kannst du beheben, indem du in der Funktion PrintInt() die Variable text auf "unsigned char" umbaust. Dann allerdings kann es sein, das die Funktion itoa() rummeckert.


    Aber Achtung, nicht bei jedem warning kommst du so ungeschoren davon.

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    17.02.2007
    Alter
    37
    Beiträge
    49
    @ Sterntaler
    Hi danke das du dich hier auch mal einmischst!!!
    Ich habe mit der neuen Lib leider immer noch Probleme.
    Ich Arbeite mit der neuen AVR Version 20070525.
    Diese hat schon eine eigenes make. Ich habe trotzdem noch mal ein make und ein clean ersetllt. Wenn ich nun mein Programm mit dem orginal make ausführe kommt:
    Code:
    > "make.exe" all
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT globals.o -MF dep/globals.o.d  -c  globals.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT adc.o -MF dep/adc.o.d  -c  adc.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT encoder.o -MF dep/encoder.o.d  -c  encoder.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT encoder_low.o -MF dep/encoder_low.o.d  -c  encoder_low.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT i2c.o -MF dep/i2c.o.d  -c  i2c.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT leds.o -MF dep/leds.o.d  -c  leds.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT lcd.o -MF dep/lcd.o.d  -c  lcd.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT motor.o -MF dep/motor.o.d  -c  motor.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT motor_low.o -MF dep/motor_low.o.d  -c  motor_low.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT print.o -MF dep/print.o.d  -c  print.c
    print.c: In function 'PrintInt':
    print.c:98: warning: pointer targets in passing argument 1 of 'SerPrint' differ in signedness
    print.c: In function 'PrintLong':
    print.c:137: warning: pointer targets in passing argument 1 of 'SerPrint' differ in signedness
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT rc5.o -MF dep/rc5.o.d  -c  rc5.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT sound.o -MF dep/sound.o.d  -c  sound.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT switches.o -MF dep/switches.o.d  -c  switches.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT time.o -MF dep/time.o.d  -c  time.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT uart.o -MF dep/uart.o.d  -c  uart.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT version.o -MF dep/version.o.d  -c  version.c
    avr-ar cru libasuro.a globals.o adc.o encoder.o encoder_low.o i2c.o leds.o lcd.o motor.o motor_low.o print.o rc5.o sound.o switches.o time.o uart.o version.o 
    rm -rf *.o *~
    
    > Process Exit Code: 0
    > Time Taken: 00:02
    mit der selbsterstellten kommt:
    Code:
    > "D:\ASURO\ASURO_src\FirstTry\Test-all.bat" 
    
    D:\ASURO\ASURO_src\FirstTry>make all 
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT globals.o -MF dep/globals.o.d  -c  globals.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT adc.o -MF dep/adc.o.d  -c  adc.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT encoder.o -MF dep/encoder.o.d  -c  encoder.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT encoder_low.o -MF dep/encoder_low.o.d  -c  encoder_low.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT i2c.o -MF dep/i2c.o.d  -c  i2c.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT leds.o -MF dep/leds.o.d  -c  leds.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT lcd.o -MF dep/lcd.o.d  -c  lcd.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT motor.o -MF dep/motor.o.d  -c  motor.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT motor_low.o -MF dep/motor_low.o.d  -c  motor_low.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT print.o -MF dep/print.o.d  -c  print.c
    print.c: In function 'PrintInt':
    print.c:98: warning: pointer targets in passing argument 1 of 'SerPrint' differ in signedness
    print.c: In function 'PrintLong':
    print.c:137: warning: pointer targets in passing argument 1 of 'SerPrint' differ in signedness
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT rc5.o -MF dep/rc5.o.d  -c  rc5.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT sound.o -MF dep/sound.o.d  -c  sound.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT switches.o -MF dep/switches.o.d  -c  switches.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT time.o -MF dep/time.o.d  -c  time.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT uart.o -MF dep/uart.o.d  -c  uart.c
    avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -Os -I./inc -MD -MP -MT version.o -MF dep/version.o.d  -c  version.c
    avr-ar cru libasuro.a globals.o adc.o encoder.o encoder_low.o i2c.o leds.o lcd.o motor.o motor_low.o print.o rc5.o sound.o switches.o time.o uart.o version.o 
    rm -rf *.o *~
    
    > Process Exit Code: 0
    > Time Taken: 00:02
    in meinem Ordner erscheint nach dem Compilieren aber kein Hex file und wenn ich nach test.hex Suche kommen nur die schon fertigen vom Hersteller.
    Was kann ich noch alles falsch gemacht haben. Funktioniert die Lib wenn da Process Exit Code: 0 steht?

  5. #15
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    aktualisiere das fenster mal, ich hatte mit nem windoof pc mal das probllem dass die hexfiles zwar sa waren, aber erst nach dem druck auf F5 sichtbar wurden...
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  6. #16
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo NomiS,
    ich glaube, dass du aktuell den Wald vor lauter Bäumen nicht siehst. (Ist nicht böse gemeint, sondern liegt in der Natur/Verständnis der Dinge wenn es um eine Lib geht.)

    Dein geposteter Screenshot sagt mir folgendes:

    - Du rufst im Verzeichnis D:\ASURO\ASURO_src\FirstTry\ die BAT-Datei Test-all.bat auf.
    - Dein Makefile übersetzt schön brav alle angegeben Dateien:
    --- globals.c
    --- adc.c
    --- encoder.c
    --- encoder_low.c
    --- i2c.c
    --- leds.c
    --- lcd.c
    --- motor.c
    --- motor_low.c
    --- print.c --- mit den 2 warnings zur Funktion SerPrint() wegen signedness
    --- rc5.c
    --- sound.c
    --- switches.c
    --- time.c
    --- uart.c
    --- version.c

    Diese Dateien stammen alle aus der Asuro-Lib. Sie haben eigendlich nichts im Verzeichnis D:\...\FirstTry\ verloren. In diesem Verzeichnis wird ja von der ASURO-CD nur das Originalprogramm zum 'ersten Versuch' abgespeichert. Und die Entwickler vom ASURO wusten ja noch nichts davon, dass wir im Forum eine Lib basteln.


    Jetzt kommt aber noch aus deinem geposteter Screenshot folgende Zeile:
    "avr-ar cru libasuro.a globals.o adc.o encoder.o encoder_low.o i2c.o leds.o lcd.o motor.o motor_low.o print.o rc5.o sound.o switches.o time.o uart.o version.o"

    Auch dieses Kommando wird fehlerfrei ausgeführt.
    Aber was wird damit gemacht?
    --- Das Programm avr-ar wird aufgerufen.
    --- Steuernde Parameter dafür sind "cru"
    Als Ergebnis wird dir die dann angegeben Datei libasuro.a gebaut. Die muss nun im Verzeichnis D:\ASURO\ASURO_src\FirstTry\ 'rumliegen'.
    Alle weiteren Angaben mit dem .o am Ende sind die Übersetzten C-Dateien.
    Was macht cru? Es sammelt Object-Dateien (*.o) zu/in einer Lib-Datei (*.a)
    - c: create (ohne warung, wenn *.a angelegt werden muss)
    - r: replace (ersetzen oder neu hinzufügen von *.o Dateien)
    - u: update (nur ersetzen, wenn die *.o-Datei neuer ist als der Inhalt in *.a)
    (Ruf mal zum Spaß avr-ar in einem DOS-Fenster auf. Nicht erschrecken, es kommen nur die 'paar' Parameter, die man da mitgeben kann.)

    Du hast nicht eine HEX-Datei, sondern eine LIB-Datei fehlerfrei erzeugt.

    Ich bin mir relativ sicher, das dies aber nicht dein Wunsch ist.
    Gibt es in deinem Verzeichnis D:\ASURO\ASURO_src\FirstTry\ noch irgendeine C-Datei, in der du eigenen Programmcode reingeschrieben hast? Meistens wird hier im Forum die Datei test.c benutzt. (Mann/Frau ist ja so faul das Makefile anzupassen.)

    Du solltest mal kurz sagen ob du nur die LIB erstellen willst, oder ob du ein eigenes Programm in D:\...\FirstTry\ übersetzen möchtest.

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

  7. #17
    Benutzer Stammmitglied
    Registriert seit
    17.02.2007
    Alter
    37
    Beiträge
    49
    Hi Sterntaler,

    erst mal zu deiner Frage. Ich möchte mein Programm mit den Funktionen aus der Lib übersetzen.

    Also in das ASURO_src habe ich die Lib kopiert da es anfangs nicht funktioniert hat. Das Asuro.h/.c file sind aber die neuen. Es gibt aber die Lib auch noch mal in einem anderen Ordner. Mein c-file liegt in ASURO_src.
    Wenn ich aber nur das makefile make.bat clean.bat und mein test.c in dem ordner lasse kommt das:
    Code:
    > "C:\Programmiertools\ASURO_src\FirstTry\Test-all.bat" 
    
    C:\Programmiertools\ASURO_src\FirstTry>make all 
    make: *** No rule to make target `globals.o', needed by `libasuro.a'.  Stop.
    
    > Process Exit Code: 2
    > Time Taken: 00:00
    Ich habe libasuro.a aber in C:\Programmiertools\Winavr\avr\lib
    Das makefile wurde auf C:\Programmiertools\Winavr\ angepasst.

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    17.02.2007
    Alter
    37
    Beiträge
    49
    So ich habe das ganze jetzt noch mal anderst versucht.
    Ich habe in ASURO_src zwei Ordner.
    Den Orginal First try mit:
    test.c -> meins
    makefile -> verändet auf AVR pfad
    test-all.bat -> wird von AVR als make verwendet
    clean.bat -> wird von AVR als clean verwendet
    dann gibt es den Ordner lib. Das ist der Lib-Ordner aus dem ZipFile.
    Dort bin ich auf makelib gegangen und habe das auurolib a file in avr/lib
    1.) kopiert -> dann mekert AVR
    2.) ausgeschnitten dann kommt
    Code:
    > "C:\Programmiertools\ASURO_src\FirstTry\Test-all.bat" 
    
    C:\Programmiertools\ASURO_src\FirstTry>make all 
    make: *** No rule to make target `globals.o', needed by `libasuro.a'.  Stop.
    
    > Process Exit Code: 2
    > Time Taken: 00:00
    ich habe das make auch schon in die lib kopiert und und und. Im moment fallen mir keine Lösungsmöglichkeiten mehr ein.

  9. #19
    Benutzer Stammmitglied
    Registriert seit
    08.11.2007
    Ort
    Flehingen
    Alter
    36
    Beiträge
    45
    Also bei mir funktioniert das Ganze mit der neuen lib auch nicht. Immerhin findet er inzwischen alle lib-Teile, jedoch erstellt er mir keine hex-Datei.
    An was kann das liegen??

    Code:
    C:\ASURO_SRC\AsuroLib\lib>make all 
    -------- begin --------
    avr-gcc --version
    avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
    Copyright (C) 2006 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: *** No rule to make target `test.hex', needed by `all'.  Stop.
    
    > Process Exit Code: 2

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

    was treibt ihr beiden (becci und NomiS) eigentlich da?
    NomiS kopiert alle Files aus dem Lib Ordner in den FirstTry Ordner und becci kopiert das Makefile aus dem FirstTry Ordner in den lib Ordner.

    So kann das nichts werden.

    Also nochmal ganz von Anfang.

    Im lib Ordner stehen die Quellfiles der Asuro Lib. Dort gibt es auch ein spezielles Makefile zum Erstellen der Lib, d.h. es wird ein File libasuro.a erzeugt, kein test.hex File. Die erzeugt Lib wird zudem noch in das WinAVR-Lib Verzeichnis kopiert, damit es beim Erzeugen eines Projektes auch gefunden wird. Das alles wird durch Aufruf der Datei make-lib.bat gemacht. Evtl muß man vorher noch im Makefile den Pfad zum WinAVR Lib Verzeichnis anpassen, damit in das richtige Verzeichnis kopiert wird.

    im examples\FirstTry Ordner befindet sich ein Beispielprojekt mit einem Makefile zum Erstellen des Beispielsprojektes (das erzeugt eine test.hex).
    Zum Erstellen des test.hex Files wird aber die vorher erstellte Asuro Lib benötigt.

    Ich hoffe bis zum Wochenende iene neue Asuro Lib veröffentlichen zu können. Dann wird die Installation und das ganze drumherum viel einfacher.

    Bis dann.

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test