Go Down

Topic: Errore di compilazione progetto gps (Read 184 times) previous topic - next topic

pippopippoli

Buongiorno, oggi il compilatore mi ha dato un errore ma senza dirmi dove.
leggendo i mesaggi in rosso ho letto Please submit a full report, ed eccomi qui.

Arduino:1.8.8 (Windows Store 1.8.19.0) (Windows 10), Scheda:"Arduino Nano, ATmega328P (Old Bootloader)"

In function 'global constructors keyed to 65535_0_Antifurto.ino.cpp.o':

lto1.exe: internal compiler error: Segmentation fault

Please submit a full bug report,

with preprocessed source if appropriate.

See <http://gcc.gnu.org/bugs.html> for instructions.

lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.19.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/program files/windowsapps/arduinollc.arduinoide_1.8.19.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

exit status 1
Errore durante la compilazione per la scheda Arduino Nano.

Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"


il codice in questione:
Code: [Select]

#include <SoftwareSerial.h>

#define PinSim 7

int latitudine = 0;
int longitudine = 0;
int altezza = 0;
int posizione_delimitatore = 0;
int index = 0;
int campo = 0;
String NMEA;


//pin 2 RX e pin 3 TX
SoftwareSerial mySerial(2, 3);

void setup() {
  Serial.begin(9600);    // baud serial arduino to pc
  mySerial.begin(9600);  // baud rate modulo sim 808
  delay(1000);
  mySerial.write("AT\r");
  delay(10);
  mySerial.write("AT+CGPSPWR=1\r"); // accende gps
  delay(10);
  mySerial.write("AT+CGPSSTATUS?\r");
  /* AT+CGPSSTATUS?
    "Location Unknown": if GPS is not run
    "Location Not Fix": after GPS is run ,and haven't fixed
    "Location 2D Fix" : after GPS status is 2D fixed
    "Location 3D Fix" : after GPS status is 3D fixed
  */

}

void loop() {
 
  //controllo se nella seriale software ci sono dati
  if (mySerial.available()) {
    //leggo la prima riga
    char c = mySerial.read();
    if (c != '\n'){
      NMEA += c;
    }
    else{
      posizione_delimitatore = 0;
      //indice di partenza 0
      index = 0;
      //questa variabile viene usata per contare tutti i campi trovati
      campo = 0;
      //if (NMEA.substring(0, 6) == "+CGPSINF: 0"){ //$GPGGA
      while (posizione_delimitatore != -1){
        //ottieni la posizione della prima virgola
        posizione_delimitatore = NMEA.indexOf(",", index); //invia al Serial Monitor la sotto stringa usando come indice il dato ottenuto da indexOf
        //in funzione del campo invio al serial monitor
        //solo i dati che mi interessano
         switch (campo)
          {
            case 2:
            case 4:
            case 9:
              Serial.println(NMEA.substring(index, posizione_delimitatore));
              break;
          }
       
 Serial.println(NMEA.substring(index, posizione_delimitatore));
        index = posizione_delimitatore; //memorizza il nuovo indice di partenza       
        index++; //incrementa di 1 per escudere la virgola
        campo++; //incrementa il campo trovato
      }
      //}
      NMEA = ""; //resetto la stringa, altrimenti acoderei tutti i caratteri ricevuti
    }
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

nid69ita

#1
Dec 16, 2018, 12:41 pm Last Edit: Dec 16, 2018, 12:44 pm by nid69ita
Compilato senza problemi con versione 1.8.8 (installato semplicemente da zip e non da windows store)
my name is IGOR, not AIGOR

Claudio_FF

lto1.exe: internal compiler error: Segmentation fault
Compila anche con una vecchia versione 1.0.5
Un segmentation fault è un errore interno del compilatore, forse la versione presente nel win store ha qualche problema.
* * * *    'if' e 'case' non sono cicli   * * * *
* * * Una domanda ben posta è già mezza risposta. * * *
* La corrente si misura in 'mA', la quantità di carica in 'mAh' *

Go Up