Go Down

Topic: Arduino Due, Runtime Path finding error (Read 366 times) previous topic - next topic

blitz007

Sep 06, 2016, 02:52 pm Last Edit: Sep 06, 2016, 02:59 pm by blitz007
Hello, Im trying to upload the following sketch for a CAN BUS onto my Due.


Code: [Select]
/*
 *        ------ CAN Bus Basic Example --------
 *
 *  This sketch shows how to send data through CAN Bus standard.
 * 
 *  Copyright (C) 2014 Libelium Comunicaciones Distribuidas S.L.
 *  http://www.libelium.com
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program. If not, see <http://www.gnu.org/licenses/>.
 *
 *  Version:          0.3
 *  Design:           David Gascon
 *  Implementation:   Ahmad Saad, Rubén Martín
 */

#include <Wire.h>

// Cooking API libraries
#include <arduinoUtils.h>

// Include always these libraries before using the CAN BUS functions
#include <arduinoCAN.h>
#include <SPI.h>

// ID numbers
#define IDWAITED 200
#define OWNID 100

// Create an instance of the object
CAN myCAN = CAN();


// Setting up our devices and I/Os
void setup() {
  // Inits the UART
  Serial.begin(115200);
  delay(100);

  // Let's open the bus. Remember the input parameter:
  // 1: 1Mbps
  // 500: 500Kbps  <--- Most frecuently used
  // 250: 250Kbp
  // 125: 125Kbps
  // Only allowed in SOCKET 0
  myCAN.begin(125);
}


void loop() {
 
  //****************************************
  // 1. Receive data
  //****************************************
 
  if (myCAN.messageAvailable() == 1) {
    // Read the last message received.
    myCAN.getMessage(&myCAN.messageRx);
    // Print in the serial monitor the received message
    myCAN.printMessage(&myCAN.messageRx);
  }
 

  //****************************************
  // 2. Send data
  //****************************************
 
  // Insert the ID in the data structure
  myCAN.messageTx.id = OWNID;
  // These fields include the data to send
  myCAN.messageTx.data[0] = 0;
  myCAN.messageTx.data[1] += 1;
  myCAN.messageTx.data[2] = 2;
  myCAN.messageTx.data[3] = 3;
  myCAN.messageTx.data[4] = 4;
  myCAN.messageTx.data[5] = 5;
  myCAN.messageTx.data[6] = 6;
  myCAN.messageTx.data[7] = 7;

  // The length of the data structure
  myCAN.messageTx.header.length = 8;
  // Send data
  myCAN.sendMessage(&myCAN.messageTx); 
  // A time delay
  delay(1000);
}




(All credits for the writing of the code to the original authors, I appreciate your work)

The problem is that each time i try uploading my sketch onto the due i get the following error.

Cannot run program "{runtime.tools.arm-none-eabi-gcc.path}\bin\arm-none-eabi-g++" (in directory "."): CreateProcess error=2, The system cannot find the above mentioned file

This is really odd as I have the mentioned file in copied in the given path, under \...\Arduino\hardware\tools\arm-none-eabi-gcc\bin, and also under \...\Arduino\hardware\tools. The possibility that the duplication might be causing the error is unlikely and without the duplication I get the exact same error.

My IDE version is 1.6.5
My SAM Boards libraries' version is 1.6.4 downloaded from here, and finally,
My dependencies are version 4.8.3-2014q1 and were downloaded from here

Any and all help on how to deal with this error and upload my sketch successfully onto the board will be very much appreciated.

Go Up