-         

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

Thema: Verändertes Beispielprogramm in den Rp6 laden

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.04.2010
    Beiträge
    27

    Verändertes Beispielprogramm in den Rp6 laden

    Anzeige

    Hallo Com,
    was ich vorraus sagen möchte:Ich habe keine Ahnung von Robotik.Ich habe mir ein bisschen etwas über die C-Sprache durchgelesen und will jetzt-wie empfohlen-ein bisschen Learning by doing betreiben.
    Mein Problem:Ich habe in Programmers Notepad(WinAVR) das erste Move-Beispiel aus dem Ordner Rp6Examples geöffnet(Der Roboter fährt einen Kreis).Ich wollte aber,dass der Rp6 rückwärts einen Kreis fährt,also habe ich bei der Main-Funktion aus FWD(vorraus) BWD gemacht(rückwärts).Dann habe ich wie in der Anleitung auf Make All geklickt und dann in einem neuen Ordner auf meinem PC gespeichert.Dann habe ich den Rp6 angeschlossen und den Rp6 Loader geöffnet.Aber als ich das geänderte Beispielprogramm öffnen wollte war keine hex.-Datei in dem Ordner,obwohl doch aus dem Beispielprogramm mit einem Klick auf Make All eine hex.-datei werden sollte bzw. sie auf den Mikrocontroller abgestimmt werden sollte.
    Was habe ich falsch gemacht?
    Danke schonmal für die Antworten.

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    Moin,
    hast Du auch die "[RP6] Make All" verwendet?. Ich habe nach der Installation von WinAVR mit PN2 festgestellt, dass bereits eine "Make All" vorhanden war. Auch musste ich erfahren, dass ich bei meinem 64bit Rechner erstmal speichern musste, bevor die richtige Datei kompiliert wurde - beim 32bit-System war das egal. Zuletzt könntest Du ja mal den Compiler-Text posten.

    Gruß Magelan

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    06.04.2010
    Beiträge
    27
    Es war von Anfang an schon ein Make All Button da.
    Ich verstehe nicht was du im 2. Teil meinst.Muss ich wenn ich im Haptfenster die Beispieldatei verändert habe(also den Text) speichern und erst danach auf Make All klicken?
    Hier der veränderte Beispieltext:

    #include "RP6RobotBaseLib.h"

    void bumpersStateChanged(void)
    {
    if(bumper_left || bumper_right)
    {
    moveAtSpeed(0,0);
    setLEDs(0b010000);
    startStopwatch1();
    }
    }

    void blink(void)
    {
    if(getStopwatch1() > 500)
    {
    statusLEDs.LED2 = !statusLEDs.LED2;
    statusLEDs.LED5 = !statusLEDs.LED5;
    updateStatusLEDs();
    setStopwatch1(0);
    }
    }

    int main(void)
    {
    initRobotBase();
    setLEDs(0b111111);
    mSleep(1500);
    setLEDs(0b100001);

    BUMPERS_setStateChangedHandler(bumpersStateChanged );

    powerON();

    changeDirection(BWD);
    moveAtSpeed(80,30);

    while(true)
    {
    blink();
    task_RP6System();
    }
    return 0;
    }

    mfG

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    1. Wegen der [RP6]Make All:
    Im Manual v RP6_MANUAL_DE_20071219 Seite 51f(Menüeinträge erstellen) stehen die Prameter die für die Make All gelten müssen. Kannst diese ja mal vergleichen.
    2. Ja genau das meinte ich, erst speichern dann kompilieren.
    3. Mit dem Compiler-Text meinte ich den Text, der nach dem Compilieren unterhalb des Quelltextfensters erscheint. Nicht den Quelltext. Hatte mich da wahrscheinlich unsauber ausgedrückt.

    Gruß Magelan

    Edit: Du kannst ja mal versuchen nonsense in den Quellcode einzubauen, wenn da keine Fehlermeldung (rot ist nie gut )kommt, dann kompiliert er nicht.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    06.04.2010
    Beiträge
    27
    Also in der Anleitung auf Seite 51-54 oder so stand bei den Screens nur 2 mal Parameter und danach in der Spalte nichts mehr.In der Anleitung stand auch,dass das wenn es schon vorhanden ist [WinAVR]Make All heißt(so steht es auch bei mir).
    Ich habe jetzt erst gespeichert und dann auf Make All geklickt.Dann kam aber ein Fehler bzw. nur das hier kam heraus:

    > "make.exe" all
    make.exe: *** No rule to make target `all'. Stop.

    > Process Exit Code: 2
    > Time Taken: 00:00

    Der Compilertext ist so(dieses mal ohne das ich dazwischen gespeichert habe):

    > "make.exe" all

    -------- begin --------
    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.


    Size before:
    AVR Memory Usage
    ----------------
    Device: atmega32

    Program: 6342 bytes (19.4% Full)
    (.text + .data + .bootloader)

    Data: 149 bytes (7.3% Full)
    (.data + .bss + .noinit)




    Creating load file for EEPROM: RP6Base_Move_01.eep
    avr-objcopy -j .eeprom --set-section-flags .eeprom=alloc,load \
    --change-section-lma .eeprom=0 -O ihex RP6Base_Move_01.elf RP6Base_Move_01.eep
    avr-objcopy: there are no sections to be copied!
    avr-objcopy: --change-section-lma .eeprom=0x00000000 never used
    make.exe: [RP6Base_Move_01.eep] Error 1 (ignored)

    Size after:
    AVR Memory Usage
    ----------------
    Device: atmega32

    Program: 6342 bytes (19.4% Full)
    (.text + .data + .bootloader)

    Data: 149 bytes (7.3% Full)
    (.data + .bss + .noinit)



    -------- end --------


    > Process Exit Code: 0
    > Time Taken: 00:00

    Wie du siehst bin ich ziemlich planlos

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    Okay, dann mal weiter:
    Versuch es mal mit der aktuellsten Version von WinAVR (bei mir avr-gcc (WinAVR 20100110) 4.3.3). Dann noch eine Frage: Hast du ein 32bit oder 64bit OS ?

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    06.04.2010
    Beiträge
    27
    Ok dann werde ich es mit einer neueren Version versuchen,aber mir ist nicht klar was das bringen soll.Der RP6 soll ja nur genau das selbe machen wie im Beispielprogramm,nur soll er rückwärts und nicht vorwärts fahren.Naja ich versuch das morgen.
    Ich habe einen 64bit PC.(bzw. da stand bei System irgendwo was mit 64 bit)
    Aber was ist ein OS?

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.269
    OS ist das Operatingsystem auf Deutsch Betriebssystem. Das kann Windows oder ähnliches sein. Unter Systeminformationen sollte stehen ob du eine 32 oder eine 64 Bit Version hast

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    OK, sollte es ein 64bit System sein, dann verwende bitte die neuste Version von WinAVR und ersetzte nach der installation die Datei msys-1.0.dll in dem Verzeichnis WinAVR\utils\bin. Ach ja, installiere WinAVR direkt im Root-Verzeichnis (C:\WinAVR ).

    Gruß Magelan
    Angehängte Dateien Angehängte Dateien

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    06.04.2010
    Beiträge
    27
    Also ich downloade mir grade die Version 20100110 . Die Datei msys-1.0.dll soll ich dann durch diese Zip-Datei aus der CD ersetzen?

    Edit: Hier sind 2 Datein:
    1. msys-1.0 (DLL-Datei)
    2. msys-1.0.dll.old (OLD-Datei)

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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