[WIN] Aggiornam. compilatore IDE 0022-0023-1.0 all'ULTIMA VERSIONE ATMEL

@ Dancol90: se stai testando la versione WIN devi seguire ogni passaggio alla lettera, lascia stare i confronti...

Più tardi allora provo...per curiosità: che cosa è stato modificato in quegli include rispetto agli originali?

dancol90:

[quote author=Michele Menniti link=topic=96976.msg916430#msg916430 date=1346959052]
@ Dancol90: se stai testando la versione WIN devi seguire ogni passaggio alla lettera, lascia stare i confronti...

Più tardi allora provo...per curiosità: che cosa è stato modificato in quegli include rispetto agli originali?
[/quote]
NIENTE, quella è un'intera cartella preparata da Astro, e non è stato a partire dagli originali, per questo ti deico che l'operazione va fatta alla lettera.
Sinceramente io non ho più provato dopo la versione di Toolchai che c'era ad aprile ma ho fatto fare questo lavoro ad altri un paio di mesi fa e non hanno avuto problemi, penso non ne avrai nemmeno tu.

NIENTE, quella è un'intera cartella preparata da Astro, e non è stato a partire dagli originali, per questo ti deico che l'operazione va fatta alla lettera.
Sinceramente io non ho più provato dopo la versione di Toolchai che c'era ad aprile ma ho fatto fare questo lavoro ad altri un paio di mesi fa e non hanno avuto problemi, penso non ne avrai nemmeno tu.
[/quote]

Appena posso provo, non volevo dare contro a te, la mia era solo curiosità sul "come funziona il tutto" :slight_smile:

Fino alla versione precedente della toolchain non ho riscontrato nessun problema, e io ormai uso solo la toolchain Atmel per compilare, con questa nuova release devo verificare se ci sono problemi, però non posso farlo adesso, se ne parla non prima di fine mese.

@ Dancol90
Le modifiche agli include sono a livello di dipendenze, percorsi, precedenze di annidamento e alcune #define, i file modificati sono 12, per semplice comodità e facilità di installazione a suo tempo ho optato per copiare in toto tutta la cartella, il che include anche i file non modificati, e farla sostituire integralmente a quella esistente in Arduino.

ho notato solo adesso questo topic e ho provato a fare le operazioni descritte nel post iniziale...
ora io non so se è perchè uso l'ultima versione dell'IDE o della toolchain, però compilando uno programma qualsiasi selezionando come board un ATtiny mi da questi errori:

In file included from c:\users\user\skydrive\documenti\arduino\arduino-sw\hardware\tools\avr\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h:46:0,
                 from c:\users\user\skydrive\documenti\arduino\arduino-sw\hardware\tools\avr\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/avr/delay.h:39,
                 from C:\Users\User\SkyDrive\Documenti\Arduino\Arduino\hardware\tiny\cores\tiny\/wiring_private.h:32,
                 from C:\Users\User\SkyDrive\Documenti\Arduino\Arduino\hardware\tiny\cores\tiny\WInterrupts.c:37:
c:\users\user\skydrive\documenti\arduino\arduino-sw\hardware\tools\avr\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h:426:15: error: expected identifier or '(' before 'double'
c:\users\user\skydrive\documenti\arduino\arduino-sw\hardware\tools\avr\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/math.h:426:15: error: expected ')' before '>=' token

compilando con altre board non ci sono problemi

?R:
ho notato solo adesso questo topic e ho provato a fare le operazioni descritte nel post iniziale...
ora io non so se è perchè uso l'ultima versione dell'IDE o della toolchain, però compilando uno programma qualsiasi selezionando come board un ATtiny mi da questi errori:

La modifica ha un senso solo con i processori più grossi degli ATtiny, in particolare serve per i MEGA25660, il core per gli ATtiny è diverso da quello per gli altri AVR e la modifica non è ne testata ne garantita per funzionare con questi, anzi sicuramente non funziona :slight_smile:
Sto aspettando una versione stabile e definitiva dell'IDE 1.5 per rilasciare una nuova release della patch, anche se per il momento funziona senza problemi con l'IDE 1.x, con la 1.5x le cose cambiano un pochino e serve una patch adattata appositamente.

Effettivamente se ti vai a leggere i motivi per i quali Astro ha rilasciato questa prima patch, vedrai che si parla della corretta gestione della memoria flash oltre i 128kb, praticamente parliamo solo di schede come la Arduino Mega2560. Personalmente sul pc ho lasciato sia la 0022 che la 1.0.1 e nelle rispettive cartelle avr ho lasciato sia l'originale che quella patchata; in base alle condizioni le rinomino e così non ho alcun problema.

quindi per i tiny non posso fare niente?
in una discussione privata con Leo lui mi dice che riesce a compilare dei programmi per i tiny che a me su windows mi da questi errori:

c:/users/user/skydrive/documenti/arduino/arduino-sw/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr25/crttn85.o:(.init9+0x2): relocation truncated to fit: R_AVR_13_PCREL against symbol `exit' defined in .fini9 section in c:/users/user/skydrive/documenti/arduino/arduino-sw/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr25\libgcc.a(_exit.o)

avevo avuto questi problemi anche un anno fa e avevo risolto passando a linux :slight_smile:
però speravo di trovare il modo di compilarlo anche su windows, perchè al momento ho altri problemi con linux :frowning:

?R:
quindi per i tiny non posso fare niente?

Non capisco la tua domanda, per Tiny usa l'IDE standard con il relativo core e non ci sono problemi sia sotto Windows che sotto Linux.

astrobeed:

?R:
quindi per i tiny non posso fare niente?

Non capisco la tua domanda, per Tiny usa l'IDE standard con il relativo core e non ci sono problemi sia sotto Windows che sotto Linux.

boh, io se provo con l'IDE standard a compilare un codice dove uso la SoftwareSerial e qualche altra cosa selezionando come board un tiny mi viene l'errore scritto nel mio post precedente
mentre se lo compilo su linux va senza problemi (provato l'anno scorso personalmente e l'altro ieri con Leo)

ad esempio questo codice: (lasciate stare che non fa niente di logico e che è scritto male, è solo di prova)

#include <SoftwareSerial.h>

SoftwareSerial TinySerial(0,1);

void setup()
{
 pinMode(0,INPUT);
 pinMode(1,OUTPUT);
 pinMode(2,INPUT);
 pinMode(3,OUTPUT);
 pinMode(4,INPUT);
 
 TinySerial.begin(9600);
}

void loop()
{
 Start:
 
 for (byte er=0;er<50;er++) 
 {
  unsigned int d=random();
  tone(3, 500,d);
  
  unsigned long time=millis();
  while(millis()-time<d*1.30)
  {
   if(pulseIn(2, LOW) < 400)
   { 
    if(IR_Receive()) goto Start;
   }
  } 
 }
 
 noTone(3);
}

boolean IR_Receive()
{
 noTone(3);
 
 unsigned int d[12];
 
 for(byte er=0;er<11;er++) d[er]=pulseIn(2, LOW);
  
 for(byte er=0;er<11;er++) 
 {	    
  if(d[er]>800)d[er] = 1;
  else if(d[er]>500)d[er] = 0;
  else return 0;
 }

 unsigned int r=0;
 for(byte er=0;er<11;er++)if(d[er]==1) r|=(1<<er);
 
 switch(r)
 {
  case 14: 
  {
   TinySerial.write((char)r);
   //other functions...
  }
  break;
  
  case 15: 
  {
   TinySerial.write((char)r);
   //other functions...
  }
  break;
 
  case 16: 
  {
   TinySerial.write((char)r);
   //other functions...
  }
  break;
 
  case 17:
  {
   TinySerial.write((char)r);
   //other functions...
  }
  break;
 
  case 18:
  { 
   TinySerial.write((char)r);
   //other functions...
  } 
  break;
  
  case 5:
  { 
   TinySerial.write((char)r); 
   //other functions...
  }
  break;
  
  case 19:
  { 
   TinySerial.write((char)r); 
   //other functions...
  }
  break;
  
  default: return 0;
 }

 return 1;
}

astrobeed:
Non capisco la tua domanda, per Tiny usa l'IDE standard con il relativo core e non ci sono problemi sia sotto Windows che sotto Linux.

Sembra che ci siano invece delle differenze, che non capisco da cosa derivino.
Lui ha quel problema che cita, io no.

sono appena riuscito a riavere un sistema linux a disposizione, su fedora 17 virtualizzato su vmware quel codice me lo compila... boh... :cold_sweat:

?R:
sono appena riuscito a riavere un sistema linux a disposizione, su fedora 17 virtualizzato su vmware quel codice me lo compila... boh... :cold_sweat:

Allora è certo, la toolchain per Windows ha qualcosa da modificare per funzionare perfettamente con il core Tiny.

Una domanda: ma tu hai qualche tool diverso su Windows? Hai WinAvr, o AvrStudio installati, per caso? Non è che questi installano una propria toolchain? Io so che l'IDE, se vede che sul sistema c'è installata una toolchain, non usa quella integrata ma quella esterna.

no non ho mai installato quei programmi lì, però adesso che mi va su fedora provo a pulire tutto windows, la speranza è sempre l'ultima a morire :stuck_out_tongue:
(anche perchè non sono ancora riuscito a far vedere l'arduino all'IDE della macchina virtuale)

?R:
(anche perchè non sono ancora riuscito a far vedere l'arduino all'IDE della macchina virtuale)

La vedo dura. Con VirtualBox a me non riusciva.
Però il mio SO host era Linux, non so se avendo un host Windows cambi qualcosa.

leo72:

?R:
(anche perchè non sono ancora riuscito a far vedere l'arduino all'IDE della macchina virtuale)

La vedo dura. Con VirtualBox a me non riusciva.
Però il mio SO host era Linux, non so se avendo un host Windows cambi qualcosa.

domani provo meglio, comunque sto usando vmware che è un programma abbastanza professionale (ha anche la licenza a pagamento) e quindi mi aspetterei che funzionasse in qualche maniera...

leo72:
Allora è certo, la toolchain per Windows ha qualcosa da modificare per funzionare perfettamente con il core Tiny.

Questa cosa non mi risulta, Michele ha realizzato diversi progetti con gli ATtiny senza avere nessun problema di compilazione, ovviamente stiamo parlando della toolchain di serie dell'IDE, con quella Atmel che ho modificato io non garantisco nulla visto che non l'ho testata con questi micro.

Una domanda: ma tu hai qualche tool diverso su Windows? Hai WinAvr, o AvrStudio installati, per caso? Non è che questi installano una propria toolchain? Io so che l'IDE, se vede che sul sistema c'è installata una toolchain, non usa quella integrata ma quella esterna.

Qui posso tranquillamente dirti che non è così, sotto Windows l'IDE usa esclusivamente la toolchain fornita di serie che viene installata nella relativa cartella che contiene tutto l'IDE, non vede e non usa altre toolchain, pure se compatibili, installate sul pc.

Confermo appieno quanto afferma Astro, a parte l'aggiunta indispensabile del core, io ho sempre lavorato ESCLUSIVAMENTE con l'IDE 0022 originale; come ho già detto nel post precedente la modifica di Astro l'ho inserita in una cartella specifica che rinomino all'occorrenza, ma in genere lavoro con il software originale, quindi anche la toolchain, e non ho altre installazioni "parallele" di software ATMEL. Da qualche mese ho installato anche l'IDE 1.0.1 ma con lo stesso "schema" organizzativo.

Mi fido di voi, non avendo Windows non posso controllare il motivo per cui a ER non vada.