Attualmente ho un numero seriale hardcoded nel mio firmware per un design con cui sto lavorando. Il firmware può leggere e riportare il numero seriale. Funziona bene per quello che mi serve. Il problema è che ogni nuovo numero seriale mi richiede di modificare il mio codice e ricompilare. Questo è ingombrante quando ci sono molte unità da costruire, ha forse il rischio di introdurre errori ed è una cattiva pratica a tutto tondo. I numeri di serie mi vengono forniti e il design dell'hardware è impostato su pietra, quindi non posso aggiungere alcuna funzionalità nell'hardware per serializzare le unità (EEPROM / Silicon ID Chip / Pull-Ups). Quello che vorrei fare è individuare il numero seriale a un indirizzo fisso, compilare il codice una volta, quindi modificare quell'indirizzo nel file HEX compilato per ogni nuovo numero seriale. Il numero viene referenziato in diversi punti, quindi idealmente, voglio definirlo e localizzarlo una volta, quindi fare riferimento a quella "variabile" in qualsiasi altra parte del mio codice. Qualcuno sa come individuare dati costanti in una specifica posizione di memoria indirizzabile di mia scelta, utilizzando il compilatore C18? C'è un modo migliore che qualcuno può suggerire?