ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Come controllare un file HEX. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica Enciclopedia della radioelettronica e dell'elettrotecnica / microcontrollori Molti radioamatori, cercando di ripetere questo o quel dispositivo su un microcontrollore secondo la pubblicazione di una rivista, incontrano spesso difficoltà inspiegabili a prima vista. Sembrerebbe che la salute del microcontrollore sia fuori dubbio, e il programmatore sia in perfetto ordine e il dispositivo sia assemblato esattamente secondo lo schema, ma si rifiuta di funzionare come dovrebbe. In una situazione del genere, le lamentele sull'autore dello sviluppo non sono rare: ha presentato, dicono, un programma inutilizzabile! Nella stragrande maggioranza dei casi, infatti, le cose stanno diversamente. La colpa è degli errori commessi durante l'inserimento manuale del file HEX del programma nel computer mediante la sua "stampa" sulle pagine dell'edizione stampata. Molto meno spesso si verificano errori durante la copia di file da floppy disk o il loro "scaricamento" da Internet. Come controllare un file HEX? La risposta a questa domanda è nell'articolo pubblicato. Qualsiasi, a prima vista, il più innocuo, a prima vista, errore di battitura nel file HEX porta all'esecuzione di un comando errato da parte del microcontrollore (MC), spesso distorce completamente l'algoritmo specificato del suo funzionamento e può portare a un comportamento completamente imprevedibile del dispositivo fabbricato. Nessuno specialista più qualificato in questa situazione sarà in grado di indicare con precisione la posizione dell'errore con segni esterni. Resta da controllare il file HEX con l'originale con molta attenzione e ripetutamente. La particolarità della nostra psiche è che, dopo aver controllato qualcosa una volta, siamo inconsciamente convinti della nostra infallibilità, e durante ripetuti controlli spesso perdiamo ciò che non abbiamo notato la prima volta. Pertanto, è utile avere un assistente che, senza nemmeno approfondire l'essenza del lavoro, effettuerà un "controllo indipendente". In nessun caso dovresti partire senza controllare i testi dei programmi letti dallo scanner con successivo riconoscimento utilizzando il programma FineReader e simili. La pratica dimostra che gli errori di riconoscimento dei caratteri sono inevitabili anche con testo stampato di altissima qualità. Quando si immettono i file HEX manualmente (dalla tastiera) o le loro versioni elettroniche ottenute mediante scansione, accade molto spesso quanto segue:
Il più innocuo di questi difetti è l'ultimo. A differenza di altri, non influisce sulle prestazioni del programma. Lo stesso nella maggior parte dei casi si può dire della violazione dell'ordine delle righe. Tuttavia, i programmatori che forniscono un controllo rigoroso sulla correttezza dei dati di input possono ancora rifiutare un file con tali errori. Va detto che il controllo della correttezza della struttura del file HEX nel processo di lettura dal disco viene eseguito dal software di moltissimi programmatori. Alcune possibilità per questo sono inerenti alla struttura stessa di un tale file, che può essere letto, ad esempio, nell'articolo dell'autore "Sviluppo e debug di dispositivi su MK" ("Radio", 2001, n. 5, p. 19). Il problema è che il programmatore spesso segnala solo il fatto che un errore è stato rilevato senza alcun dettaglio, lasciando che sia l'utente a capirlo da solo. In questo caso, il file difettoso risulta spesso essere caricato completamente o parzialmente nel programmatore e se si impartisce con noncuranza il comando "Programmazione", i dati errati verranno trasferiti nella memoria dell'MK. Successivamente, la verifica verrà completata con successo (verifica del contenuto della memoria di MK e del programmatore) e l'utente avrà l'impressione che tutto sia in ordine. A questo proposito, il programma PonyProg (versione 2.05 e precedenti) si comporta in modo molto pericoloso. Oltre a HEX, fornisce molti altri formati di file di input e, durante il caricamento, cerca di scegliere da solo quello giusto. Non riconoscendo correttamente il formato del file con errori, lo inserisce comunque come binario. Sulla fig. 1 mostra la vista della finestra del programmatore PonyProg dopo tale input. La memoria non contiene codici macchina di comandi, ma codici ASCI di lettere e numeri che compongono il file di testo HEX. Naturalmente, MK non funzionerà secondo un simile “programma”. La vista della stessa finestra dopo aver inserito un file identico al primo senza errori è mostrata in Fig. 2. Si noti che in entrambi i casi il programmatore non ha fornito alcun messaggio di errore o relativo al formato del file determinato automaticamente. Il programma sarà in grado di aiutare a trovare e correggere gli errori nel file HEX prima di inserirlo nel programmatore. Controllare HEX. Con il suo aiuto, puoi creare un nuovo file HEX digitandone il contenuto sulla tastiera del computer. In quest'ultimo caso, la verifica avviene contestualmente all'inserimento dei dati. La finestra dei dati del programma CheckHEX dopo aver inserito un file HEX contenente diversi errori è mostrata in Fig. 3. Nella sua parte superiore, a sinistra, vengono visualizzate le coordinate correnti del cursore, che mostrano dove verrà inserito il carattere quando si preme il tasto. Sulla destra è presente una finestra, cliccandoci sopra con il "mouse", è possibile annullare o riattivare in qualsiasi momento il controllo degli errori. Il controllo del blocco può essere utile per tutta la durata dell'inserimento manuale dei dati, altrimenti ogni riga incompleta è accompagnata da una marea di messaggi che distolgono solo l'attenzione. La finestra dei messaggi di avviso e di errore (Fig. 4) si trova sotto quella principale. I messaggi che iniziano con la parola "Informazioni" indicano solo lo stato speciale di alcune righe del file HEX. In questo caso, ci sono due linee di questo tipo. Il primo è facoltativo, poiché in sua assenza il conteggio degli indirizzi partirà da zero. Tali righe (potrebbero essercene diverse in punti diversi del file) consentono di indirizzare più di 64 KB (32 Kparole) di memoria. È la loro presenza che distingue i file HEX del formato INX32 da quelli del formato INX8M. La riga 25 segna la fine del file HEX. Se ci sono dati dopo (riga 26), non saranno accettati dal programmatore. Questo può essere utilizzato, ad esempio, per inserire un commento di testo in un file HEX. Nell'esempio, la riga 20 del file sorgente è stata semplicemente spostata qui, che è rimasta vuota. In linea di principio, la presenza di righe vuote in un file HEX è accettabile, ma alcuni programmatori potrebbero comunque considerarle errori. Il programma CheckHEX, per ogni evenienza, avverte di questo. Notare il messaggio di errore di checksum alla riga 3. Potrebbe essere il risultato di un carattere digitato in modo errato in qualsiasi carattere della stringa (tranne i due punti), che dovrebbe essere controllato con molta attenzione. Il checksum "corretto" dato tra parentesi è utile se uno o più caratteri della stringa sono stati modificati intenzionalmente (ad esempio, per correggere un vero e proprio errore del programma). In questo caso, l'errore è il risultato dell'inserimento del numero 8 invece della lettera B. La natura dell'errore nel quinto carattere della quarta riga è chiara. Notiamo solo che per facilitare la ricerca visiva degli errori, il carattere del testo nella finestra principale non contiene caratteri cirillici, il loro posto è occupato da caratteri che non hanno nulla a che fare con quelli corretti. Tuttavia, le lettere russe vengono presentate nei messaggi di errore. A destra della finestra dei dati, c'è una finestra che mostra l'immagine del riempimento della memoria MC con i codici del file analizzato. Un frammento di questa finestra è mostrato in Fig. 5. Il colore bianco corrisponde alle celle libere, blu o rosse - occupate. Le iscrizioni esplicative nella figura (non sono nella finestra reale) si riferiscono alla tipica distribuzione della memoria per i controller RIS, per altri MK ed EPROM può essere completamente diversa. Spostando il cursore del mouse all'interno della finestra, è possibile determinare l'indirizzo di una qualsiasi delle celle visualizzate. In questo caso, il cursore (mirino nella parte in alto a destra della finestra) punta sul byte all'indirizzo OOSON - junior nella parola a due byte all'indirizzo 0060H. Ovviamente un utente che non ha sviluppato un programma scaricabile e non lo ha analizzato attentamente, di norma, non sa quali celle dovrebbero essere occupate e quali no. Tuttavia, ha senso prestare attenzione alle lacune nella sequenza continua delle celle occupate e assicurarsi ancora una volta che non appaiano a causa di errori, come nel caso in esame. Il segmento rosso indica che i codici inseriti a questi indirizzi sono stati rilevati nel file più di una volta. Nell'esempio (vedi Fig. 3), la settima e l'ottava riga sono identiche. Se la riga duplicata è il risultato di una disattenzione durante l'inserimento manuale dei dati, può essere eliminata. Ma più spesso la colpa è dell'errore commesso nella parte dell'indirizzo della riga (caratteri dal quarto al settimo). In tal caso, non solo i codici agli indirizzi errati risulteranno distorti, ma anche l'area di memoria a cui originariamente apparteneva la data riga rimarrà indefinita. Tutto questo deve essere controllato ancora e ancora. In conclusione, notiamo che ci sono tre pulsanti di controllo nella finestra del programma CheckHEX: - creare un nuovo file HEX; - aprire e verificare esistenti; - salvare il file creato o modificato. Quando provi a caricare o creare un altro file senza prima salvare la versione modificata di quello vecchio, il programma ti ricorda sempre la necessità di farlo. Lo stesso accade prima che il programma termini. Autore: A. Dolgiy, Mosca Vedi altri articoli sezione microcontrollori. Leggere e scrivere utile commenti su questo articolo. Ultime notizie di scienza e tecnologia, nuova elettronica: Macchina per diradare i fiori nei giardini
02.05.2024 Microscopio infrarosso avanzato
02.05.2024 Trappola d'aria per insetti
01.05.2024
Altre notizie interessanti: ▪ Smartphone Fujitsu Arrows A 202F ▪ Immagine tridimensionale sullo schermo del monitor News feed di scienza e tecnologia, nuova elettronica
Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Motori elettrici. Selezione dell'articolo ▪ articolo I fatti parlano da soli. Espressione popolare ▪ Quali furono le caratteristiche dell'emergere dello stato romano antico? Risposta dettagliata ▪ articolo Dispositivi su elementi logici. Radio - per principianti
Lascia il tuo commento su questo articolo: Tutte le lingue di questa pagina Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito www.diagram.com.ua |