Freedom III e compilazioni fallite

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
1 Anno 6 Mesi fa #11 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Freedom III e compilazioni fallite
Salve Marco,

per il commento, devi usare /*****/ e non //*******.....

Avevo apportato un'altra modifica nella libreria 5.2.0 ed è stata quella di commentare uint64_t e int64_t . Il formato 64 bits non è suppportato.
Il compilatore reclamava.
Fatte queste modifiche ha funzionato con la nuova versione MPLAB X 6.2 e compilatore XC8 2.5 e il nuovo 3.0

Puoi ripostare la lista degli errori/messaggi del compilatore?

Saluti,

Mauro


 

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
1 Anno 6 Mesi fa #12 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Freedom III e compilazioni fallite
Chiarimento.
Il commento su una riga dovrebbe funzionare anche come //*******

Ho replicato il tuo errore.

E' la versione nuova del compilatore. Devi compilare con la versione precedente a alla 3.0
Scarica la versione 2.x

Vedrò poi i dettagli per aggiornare, se necessario al compilatore XC8 3.0.
E' uscito da poco e lo zero lo evito comunque.

Saluti,

Mauro Laurenti

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
1 Anno 6 Mesi fa #13 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Freedom III e compilazioni fallite
L'archivio dei compilatori lo trovi qui:

www.microchip.com/en-us/tools-resources/.../mplab-ecosystem#xc8

Saluti,

Mauro

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Black
  • Autore della discussione
  • Nuovo Utente
  • Nuovo Utente
Di più
1 Anno 6 Mesi fa #14 da Black
Risposta da Black al topic Freedom III e compilazioni fallite
Buonasera a tutti,
ho appena provato a ricompilare il progetto Freedom_III_Test_Suite con il seguente software:
MPLAB X v6.20, XC8 v2.4, Packs v1.4.87 ed LTlib v5.2.0. Finalmente la compilazione è arrivata in fondo.
La differenza di software rispetto all'ultimo test che ho postato (fallito) è il compilatore. La versione 3.0 in effetti non funziona, mentre la 2.4 ha funzionato.

Le modifiche che ho apportato sono solamente nel file di libreria module_UART.h delle LTlib v5.2.0, ovvero relativamente alla UART2 ho sostituito:
"#define UART2_is_busy( ) (!TXSTA2bits.TRMT)" con "#define UART2_TX_busy( ) (!TXSTA2bits.TRMT)", così come avevamo già visto alcuni giorni fa.

Il commento su una riga dovrebbe funzionare anche come //*******

Ma infatti. Il parser del compilatore dovrebbe considerare tutto ciò che segue il doppio slash "//" come commento, ovvero dovrebbe ignorarlo. Nella versione XC8 v3.0 sembra invece che interpreti i caratteri successivi a "//" ed interpreta quindi un asterisco come sequenza di caratteri /* che ovviamente vuole prima o poi una chiusura (*/).

L'archivio dei compilatori lo trovi qui: .....

Grazie. Avevo la v2.4 ed ho usato questa e, come detto, riuscendo a compilare.

Sono comunque usciti 5 warning. Tutti di tipologia simile, ovvero di una conversione implicita. Te ne riporto un paio per completezza, ma a me non sembrano problemi particolari:

./analog_test.c:61:32: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
                delta_read = reference_value - read;
                           ~ ~~~~~~~~~~~~~~~~^~~~~~

e, con nomi di tipi diversi:

./analog_test.c:164:22: warning: implicit conversion loses integer precision: 'unsigned long' to '__s_int16' (aka 'int') [-Wconversion]
                LCD_write_integer (sum,2, LCD_ZERO_CLEANING_ON);
                ~~~~~~~~~~~~~~~~~  ^~~

Grazie per tutte le dritte. Abbandonerò la versone 3.0 di XC8 finchè non sarà necessario eseguire qualche upgrade del compilatore.

 

Si prega Accesso o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
1 Anno 6 Mesi fa - 1 Anno 6 Mesi fa #15 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Freedom III e compilazioni fallite
Grazie della conferma.

Ho fatto dei test aggiuntivi dopo essermi documentato sulla nuova versione XC8 3.0

Non sono presenti cambiamenti grossi se non per la versione Clang e controlli aggiuntivi.
Tutti gli errori di direttive non terminate erano legate sempre ai commenti

//***************************
non lo accetta più
deve essere:
/**************************/

ha fatto dei cambi veloci alle librerie e sono riuscito a compilare con 3.0.

Devo ripulire il codice, delle librerie 5.2 visto che faccio uso ampio dei commenti:

//***************************

Per il resto le librerie 5.2 sono compatibili con il compilatore 3.0

Per le warning non sono presenti errori, ma lavorerò per eliminarle o limitarle. 

Saluti,

Mauro
 
Ultima Modifica 1 Anno 6 Mesi fa da Mauro Laurenti.

Si prega Accesso o Crea un account a partecipare alla conversazione.

Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.