- LiFePO4 Speicher Test         
Ergebnis 1 bis 4 von 4

Thema: Bash script zum compilileren und flashen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    15.07.2006
    Alter
    36
    Beiträge
    50

    Bash script zum compilileren und flashen

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi ihr,

    meine Idee ist folgende:
    Da ich es leid bin immer mit avr-gcc, avr-objcopy und avrdude befehlen in der Konsole rumzuwursteln, deshalb will ich ein kleines bash script für linux schreiben, das mir (uns allen) dieses gewurstel abnimmt.
    Geplant ist das man die input datei(en) eingibt und das kleine script dann die intel HEX Datei erstellt.
    Dann soll eine abfrage kommen, ob man den Controller flashen will.

    Bis jetzt klappt das noch nicht so gut, denn ich hab noch nicht so den Plan von bash-scripting, aber vielleicht könnt ihr mir helfen.

    Hier das was ich schon geschrieben habe:
    Code:
    #!/bin/sh
    clear
    
    echo "*** Bitte Quelldateien mit leerzeichen getrennt eingeben ***"
    read inputfiles
    
    echo "\n*** Bitte Ausgabedateiname für die HEX Datei eingeben (z.B. output.hex) ***"
    read hexfile
    
    avr-gcc -O2 -mmcu=atmega32 $inputfiles;
    avr-objcopy -O ihex -j .text -j .data a.out $hexfilele
    
    
    echo "\n*** Soll der Controller mit dieser Datei geflasht werden? ***"
    echo "j oder n?"
    read input
    avrdude -p m32 -c stk200 -P /dev/parport0 -U flash:w:roboter.hex:i
    Es fehlt noch die if-Abfrage, ob der uC geflasht werden soll, da kam immer nur mist raus und außerdem weiß ich noch nicht so genau wie ich das realisieren soll, das ich keine Zieldatei angeben muss (Dateiname der eingegeben wurde von der Dateiendung trennen).

    Des weiteren könnte man noch alle möglichen Optionen die der avr-gcc compiler zulässt einbauen und diese z.B. in einer Datei spiechern, die dann automatisch geladen wird beim start, aber so weit bin ich noch nicht

    Ich hoffe ihr helft mir ein bisschen und habt interesse an meinem kleinen Projekt.

    Gruß Marcel

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Code:
    echo "\n*** Soll der Controller mit dieser Datei geflasht werden? ***"
    echo "j oder n?"
    read input
    if  [ $input = "j" ]; then
    avrdude -p m32 -c stk200 -P /dev/parport0 -U flash:w:roboter.hex:i
    fi
    So würde die if Abfrage aussehen...

    Ich finde, aber Du solltest es besser mit Makefile machen und nicht mit der Frage nach den Quellen...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    15.07.2006
    Alter
    36
    Beiträge
    50
    Hm, ok, hast wohl recht.
    Ich hab mich noch nicht so recht mit Makefiles beschäftigt, aber das hab ich grad nachgeholt und festgestellt das es dann ähnlich einfach geht wie mit meinem script.

    Gruß Marcel

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Hm, ok, hast wohl recht.
    Ich will Dich von Scripten schreiben nicht abhalten, es hat einen guten Lerneffekt und mächtig sind sie ja auch,
    aber wie Du schon rausgefunden hast ist make zum Kompilieren doch besser geeignet .
    Viel Spaß noch beim Scripten

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress