Abbiamo 4 firmware embedded a portata di mano. Due di questi sono rilasciati, sono in fase di manutenzione. Altri due saranno rilasciati. Il prodotto rilasciato utilizza OKI 411 micro, dove i prodotti ancora da rilasciare sono su OKI 431 micro.
Finora abbiamo compilato il codice usando il compilatore CCU8 3.08 di OKI. Supporta sia l'hardware 411 che 431. Recentemente hanno aggiornato il compilatore alla 3.10 e abbiamo iniziato a usarlo per tutti i prodotti.
All'improvviso abbiamo scoperto che 3.10 sta producendo un comportamento imprevisto in un progetto basato su 431. È legato all'ottimizzazione del compilatore. Quindi la versione di rilascio ha mostrato un bug e sono stati sprecati due giorni interi per capire che il firmware funziona bene se compilato con la versione 3.08 del compilatore. Si noti che l'altro prodotto basato su 431 non ha mostrato alcun problema.
Quindi abbiamo deciso di abbandonare l'ultimo compilatore per tutti i progetti e utilizzare quello precedente.
Quali misure dovrebbero essere prese quando si verifica questo tipo di situazione? Inoltre, durante l'aggiornamento del compilatore, cosa si deve fare per assicurarsi che non interrompa alcuna compilazione?