1 Reply Latest reply on Feb 24, 2014 12:03 PM by Intel_Raad

    Modify "clupload_win.sh" script and save C:\Galileo\sketch.elf to windows directory only?

    mdelgert

      How may someone modify the Arduino 1.5.3 for windows to just save the sketch file to (C:\Galileo\sketch.elf) and not upload the file to Galileo?

       

      For example if I load example BlinkWithoutDelay in the IDE if I only wanted to compile and get only the output file that gets generated and upload to the Galileo and wanted to save this file later for manual upload.

       

      Later I would like to ftp sketch.elf to Galileo /sketch/sketch.elf directory and execute the sketch manually from Linux command.

       

      The Arduino IDE uses the following script for uploading sketch.elf to the Galileo C:\Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v0.7.5\arduino-1.5.3\hardware\arduino\x86\tools\izmir\clupload_win.sh. I would imagine the attached script could be modified to tell windows IDE to save the file only to directory C:\Galileoeo\sketch.elf".

       

      In windows I see file C:\Users\MDELG_~1\AppData\Local\Temp\build6182462130264368330.tmp/BlinkWithoutDelay.cpp.elf get generated. Could the file build6182462130264368330.tmp be renamed and uploaded as sketch.elf.

       

      It is useful to upload sketch files manually for example when a windows Galileo drivers don't load or I want to create windows IDE program for uploading via sketch.elf commands.

       

      Also it would be useful if I could just compile sketch from the command prompt not using the IDE. Is it possible to compile BlinkWithoutDelay.ino from command prompt only without needing to open Arduino IDE?

       

      I see Arduino line toolkit for working with Arduino please see link Arduino Playground - CommandLine. It is called Ino and available at Ino — Ino 0.3 documentation will this work on the Galileo as well? Or does the Galileo Arduino IDE create proprietary or incompatible sketch.elf files?

       

      Thank you in advance for your comments,

       

      Matthew

       

      The Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v0.7.5 IDE outputs the following log file would like to skip the upload step putting sketch file in a windows directory I specify.

       

      Binary sketch size: 49,217 bytes (of a 262,144 byte maximum) - 18% used

      #!/bin/sh

       

      echo "starting download script"

      echo "Args to shell:" $*

      starting download script

       

      # ARG 1: Path to lsz executable.

      # ARG 2: Elf File to download

      # ARG 3: COM port to use.

       

      #path contains \ need to change all to /

      path_to_exe=$1

      fixed_path=${path_to_exe//\\/\/}

      Args to shell: C:\Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v0.7.5\arduino-1.5.3/hardware/tools/x86/bin C:\Users\MDELG_~1\AppData\Local\Temp\build6182462130264368330.tmp/BlinkWithoutDelay.cpp.elf COM4

      COM PORT 4

      Converted COM Port COM4 to tty port /dev/ttyS3

      Sending Command String to move to download if not already in download mode

       

      #COM ports are not always setup to be addressed via COM for redirect.

      #/dev/ttySx are present. Howwever, COMy -> /dev/ttySx where x = y - 1

       

      com_port_arg=$3

      com_port_id=${com_port_arg/COM/}

      echo "COM PORT" $com_port_id

      tty_port_id=/dev/ttyS$((com_port_id-1))

      echo "Converted COM Port" $com_port_arg "to tty port" $tty_port_id

       

      echo "Sending Command String to move to download if not already in download mode"

      echo "~sketch download" > $tty_port_id

      Deleting existing sketch on target

      C:\Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v0.7.5\arduino-1.5.3/hardware/arduino/x86/tools/izmir/clupload_win.sh: line 24: /dev/ttyS3: No such file or directory

       

      #Move the existing sketch on target.

      echo "Deleting existing sketch on target"

      $fixed_path/lsz.exe --escape -c "mv -f /sketch/sketch.elf /sketch/sketch.elf.old" <> $tty_port_id 1>&0

      C:\Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v0.7.5\arduino-1.5.3/hardware/arduino/x86/tools/izmir/clupload_win.sh: line 28: /dev/ttyS3: No such file or directory

       

      # Execute the target download command

       

      #Download the file.

      host_file_name=$2

      $fixed_path/lsz.exe --escape --binary --overwrite $host_file_name <> $tty_port_id 1>&0

      C:\Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v0.7.5\arduino-1.5.3/hardware/arduino/x86/tools/izmir/clupload_win.sh: line 34: /dev/ttyS3: No such file or directory

       

      #mv the downloaded file to /sketch/sketch.elf

      Moving downloaded file to /sketch/sketch.elf on target

      target_download_name="${host_file_name##*/}"

      echo "Moving downloaded file to /sketch/sketch.elf on target"

      #$fixed_path/lsz.exe --escape -c "cp sketch /sketch/sketch.elf" <> $tty_port_id 1>&0

      $fixed_path/lsz.exe --escape -c "mv $target_download_name /sketch/sketch.elf; chmod +x /sketch/sketch.elf" <> $tty_port_id 1>&0

      C:\Intel_Galileo_Arduino_SW_1.5.3_on_Windows_v0.7.5\arduino-1.5.3/hardware/arduino/x86/tools/izmir/clupload_win.sh: line 40: /dev/ttyS3: No such file or directoryno, uark,

        • 1. Re: Modify "clupload_win.sh" script and save C:\Galileo\sketch.elf to windows directory only?
          Intel_Raad

          mdelgert,

           

          You can compile a sketch from a command window and copy the executable to Galileo. I did it. You will need to capture all the commands. In the IDE select File->Preferences, click on the link of the file for more preferences, edit the file, close the IDE, change the build.verbose=true in the file, save the file, start the IDE, compile the sketch, copy/paste the log from the IDE into a new file, edit the new file and make it a powershell or DOS .cmd or .bat file or whatever batch/script file you like.

           

          Intel_Raad