Sto lavorando a un piccolo progetto per un firmware del dispositivo USB.
Ho iniziato da un esempio funzionante e sto gradualmente aggiungendo nuove funzionalità e testando le cose. Tuttavia, la nuova funzionalità non è interamente destinata a essere utilizzata nel progetto finale. Lo sto scrivendo per imparare come fare le cose su questa piattaforma concreta e per risolvere problemi imprevisti nel processo (ad esempio, sui miei PC di test sono state installate porte USB non funzionanti).
Cosa devo fare con il vecchio codice? Il codice è controllato in versione, ovviamente. Vedo due possibilità:
- Cambia il vecchio codice in uno nuovo. Un esempio qui sarebbe, quando si passa da un Loopback sull'UART (a scopo di test) e passando a un uso più ragionevole dell'UART, cambiare il codice DMA per leggere non dall'input dell'UART, ma dal buffer della CPU , che deve essere inviato.
- Utilizza un gruppo di istruzioni
#if
per configurare il codice sorgente, in modo che qualsiasi versione del codice possa essere compilata fornendo solo il#define
corretto.
Se si raccomanda l'ultimo approccio, dov'è la linea divisoria? Non riesco a mantenere ogni riga di codice che scrivo, nascondendola dietro un #if
.