- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: nach update funktioniert nix mehr

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2008
    Beiträge
    20

    nach update funktioniert nix mehr

    Anzeige

    LiFePo4 Akku selber bauen - Video
    hallo, ich hab grad versucht die neue asuro lib von der asuro Wiki zu installieren. nun kann ich keine hex dateien mehr erzeugen. ich bekomme immer folgende meldung:
    "make: *** No rule to make target `test.hex', needed by `all'. Stop."

    hab laut Wiki alles richtig gemacht. was muss ich nur tun???

    danke für jede hilfe,
    christian

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2008
    Beiträge
    20
    ok.. jetzt wird zumindest wieder kompiliert. aber ich merke nichts von folgender sache:
    Der Vorteil der Objekt Bibliothek gegenüber der Quellode Bibliothek ist die drastisch reduzierte Größe der Hex-Files. Im Gegensatz zur Quellcode Bibliothek werden nur die Objekt Files gelinkt, die vom Benutzer Programm aufgerufen werden. Bei der Quellcode Bibliothek werden immer alle Files gelinkt, unabhängig davon ob sie überhaupt benötigt werden.
    das FlashProgramm überträgt immer noch genau so viele Pages wie vorher... Wo könnte mein Fehler liegen?

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.12.2008
    Ort
    Dresden
    Alter
    37
    Beiträge
    100
    ich glaube die reduzierte größe der hex dateien macht sich erst bei sehr großen, komplexen programmen bemerkbar. und da du - wie ich auch - anfänger bist, gehe ich davon aus, dass deine programme noch recht klein sind.

    ist bei mir aber auch so. meine hex-files sind teilweise sogar größer als vorher, weil asuro ja jetzt - dank der neuen lib - theoretisch MEHR kann.
    Der Optimist: \"Das Glas ist halb voll.\"
    Der Pessimist: \"Das Glas ist halb leer.\"
    Der Ingenieur: \"Das Glas ist doppelt so groß wie es sein müßte.\"

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2008
    Beiträge
    20
    aha. das klingt plausibel... danke

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

    So wie ich das verstanden habe sollten Funktionen nur eingebunden werden wenn sie auch benötigt werden. Hier mal ein Test:
    Code:
    //#include "asuro.h"
    
    int main(void)
    {
       while(1);
    }
    ..erzeugt bei mir 102 Bytes Programm. Mit include der normalen asuro-Library (Version 2.3 mit IR-Erweiterung) sind es über 1800 Bytes. Nun sollte man das noch mit der aktuellen Lib kompilieren. Da ich die aktuelle Lib nicht verwende kann ich das nicht testen, würde aber erwarten, dass irgendwas dazwischen, idealerweise nahe bei den 102 Bytes erzeugt wird. Und ich würde erwarten dass der Code länger wird wenn eine Funktion der Lib verwendet wird. Und der Codezuwachs bei der ersten Verwendung einer Funktion sollte größer sein als bei weiteren Verwendungen der selben Funktion (außer Inline ;)....

    Gruß

    mic

    Hab' ich gleich mal weitergetestet:

    1814 Bytes:
    #include "asuro.h"

    int main(void)
    {
    while(1);
    }
    1818 Bytes:
    #include "asuro.h"

    int main(void)
    {
    StatusLED(RED);
    while(1);
    }
    (Funktionsaufruf und Konstante?)

    1822 Bytes:
    #include "asuro.h"

    int main(void)
    {
    StatusLED(RED);
    StatusLED(RED);
    while(1);
    }
    Wie erwartet bindet die normale Lib die Funktionen immer ein, das Programm wird nur um die Aufrufe länger.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2008
    Beiträge
    20
    hm. Interessanterweise ergibt das bei mir eine hex Datei mit 2026 Bytes

  7. #7
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Welche Version ist denn deine Lib? Das steht in asuro.c ganz oben. Ich verwende die ältere Version mit Wastes IR-Modifikation:

    Code:
    /*******************************************************************************
    *
    * File Name:   asuro.c
    * Project  :   ASURO
    *
    * Description: This file contains ASURO main features
    *
    * Ver.     Date         Author           Comments
    * -------  ----------   --------------   ------------------------------
    * 1.00	   14.08.2003   Jan Grewe		 build
    * 2.00     14.10.2003   Jan Grewe        LEFT_VEL, RIGHT_VEL -> MotorSpeed(unsigned char left_speed, unsigned char right_speed);
    *										 LeftRwd(),LeftFwd(),RightRwd(),RigthFwd() -> MotorDir(unsigned char left_dir, unsigned char right_dir);
    *                                        GREEN_ON,GREEN_OFF,RED_ON,RED_OFF -> StatusLED(unsigned char color);
    *                                        LED_RED_ON, LED_RED_OFF -> FrontLED(unsigned char color);
    *                                        Blink(unsigned char left, unsigned char right) -> BackLED(unsigned char left, unsigned char right);
    *                                        Alles in Funktionen gefasst => leichter verständlich ?!?!
    * 2.10     17.10.2003   Jan Grewe        new Timer funktion void Sleep(unsigned char time36kHz)  
    *
    * Copyright (c) 2003 DLR Robotics & Mechatronics
    *****************************************************************************/
    /****************************************************************************
    *
    * File Name:   asuro.c
    * Project  :   asuro library "Robotrixer Buxtehude"
    *
    * Description: This file contains additional functions:
    *
    * signal (SIG_ADC)                 interrupt/signal routine for encoder-counter
    * signal (SIG_INTERRUPT1)          signal for switches
    * Encoder_Init()                   initializing encoder-counter
    * Encoder_Start()                  start autoencoding
    * Encoder_Stop()                   stop autoencoding
    * Encoder_Set(int,int)             set encodervalue
    * Msleep(int delay)                wait for delay in milliseconds
    * Gettime()                        get systemtime in milliseconds
    * PrintInt(int)
    *
    * modifications in Sleep, SIG_OUTPUT_COMPARE2, PollSwitch, LineData
    *
    * Ver.     Date         Author           Comments
    * -------  ----------   --------------   ------------------------------
    * beta1	   31.03.2005   Robotrixer		 asuro library
    * -------  ----------   --------------   ------------------------------
    * the encoder source is based on RechteckDemo.c ver 2.0 by Jan Grewe 22.10.2003 
    * Copyright (c) 2003 DLR Robotics & Mechatronics
    
    *****************************************************************************/
    /****************************************************************************
    *
    * File Name:   asuro.c
    * Project  :   asuro library modified for IR collision detector
    *
    * Description: modifications made in following functions:
    *
    * SIGNAL (SIG_OUTPUT_COMPARE2)	->	SIGNAL (SIG_OVERFLOW2)
    * Gettime()							counts now 36kHz
    * Init()							timer2 modified for adjustable duty cycle
    * Batterie()						bug fixed
    * Sleep()							counts now 36kHz
    * Msleep()							counts now 36kHz
    *
    * Ver.     Date         Author           Comments
    * -------  ----------   --------------   ------------------------------
    * beta2	   11.06.2005   Waste   		 asuro library
    * -------  ----------   --------------   ------------------------------
    *****************************************************************************/
    Die optimierten Versionen beginnen bei 2.7 oder so ... [Link]
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2008
    Beiträge
    20
    aha. ich habe die 2.8.0 version installiert. liegts vll. daran?

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

    ich komme auch auf 2026 Bytes Hexfile Größe für das 1. Beispiel von radbruch. Das liegt aber daran, weil im Makefile explizit noch die asuro.c eingebunden wird. Damit werden natürlich auch alle Funktionen aus der asuro.c eingebunden, und alle Funktionen, die aus der AsuroLib von asuro.c aus aufgerufen werden, bzw. alle Interrupt Funktionen.
    Wenn ich asuro.c aus dem Makefile entferne, komme ich auf 300 Bytes Hexfile Größe.

    @radbruch Sind deine Größenangaben der belegte Programmspeicher oder die Hexfile Größen?

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

    Ich verwende KamAVR und erhalte diese Ausgabe (im Anhang) nach einem Klick auf [Make].

    Das Hexfile mit 102 Bytes sieht so aus:
    Code:
    :1000000012C02BC02AC029C028C027C026C025C0C6
    :1000100024C023C022C021C020C01FC01EC01DC0DC
    :100020001CC01BC01AC011241FBECFE5D4E0DEBF28
    :10003000CDBF10E0A0E6B0E0E6E6F0E002C005903B
    :100040000D92A036B107D9F710E0A0E6B0E001C0EC
    :100050001D92A036B107E1F701C0D2CFCFE5D4E0C1
    :06006000DEBFCDBFFFCFA3
    :00000001FF
    6 komplette Zeilen zu je 16 Bytes + 6 einzelne Bytes. (Zieladresse, Daten, CRC?)

    Gruß

    mic
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 1814bytes.jpg  

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress