Compilatore C HI-TECH
12 Anni 9 Mesi fa #1
da odessos
Compilatore C HI-TECH è stato creato da odessos
Ho iniziato a compilare in C18 utilizzando prima il compilatore incluso im MPLAB poi quello extra HI-TECH.
Quest'ultimo mi permette di utilizzare alcune librerie che girano con questo compilatore.
In fase di compilazione mi compare questo err.:
HI-TECH C Compiler for PIC18 MCUs (Lite Mode) V9.80
Copyright (C) 2011 Microchip Technology Inc.
Advisory[1233] Employing 18F4550 errata work-arounds:
Advisory[1234] * Corrupted fast interrupt shadow registers
Sto utilizzando un PIC 18F4550
ma sembra funzionare tutto bene...
Non capisco cosa si intenda per "work-arounds".
Quest'ultimo mi permette di utilizzare alcune librerie che girano con questo compilatore.
In fase di compilazione mi compare questo err.:
HI-TECH C Compiler for PIC18 MCUs (Lite Mode) V9.80
Copyright (C) 2011 Microchip Technology Inc.
Advisory[1233] Employing 18F4550 errata work-arounds:
Advisory[1234] * Corrupted fast interrupt shadow registers
Sto utilizzando un PIC 18F4550
ma sembra funzionare tutto bene...
Non capisco cosa si intenda per "work-arounds".
Si prega Accedi o Crea un account a partecipare alla conversazione.
- odessos
- Autore della discussione
- Visitatori
12 Anni 9 Mesi fa - 12 Anni 9 Mesi fa #2
da gcupini
Risposta da gcupini al topic Re: Compilatore C HI-TECH
Ciao il manuale riporta le seguente indicazioni:
(1233) Employing * errata work-arounds: (Driver)
The compiler is applying software workarounds for known issues in the selected device. Consult the
errata document for this device to see whether it is safe to disable the compiler’s workaround for any
of the listed problems.
(1234) * * (Driver)
Listing a silicon defect that the compiler is working around. Software workarounds generally increase
the overall code size. Refer to the errata document for the device you are using to see whether
the defect affects your program. If not, you may save space by disabling the workaround.
Ma non so dirti di più
Ciao
(1233) Employing * errata work-arounds: (Driver)
The compiler is applying software workarounds for known issues in the selected device. Consult the
errata document for this device to see whether it is safe to disable the compiler’s workaround for any
of the listed problems.
(1234) * * (Driver)
Listing a silicon defect that the compiler is working around. Software workarounds generally increase
the overall code size. Refer to the errata document for the device you are using to see whether
the defect affects your program. If not, you may save space by disabling the workaround.
Ma non so dirti di più
Ciao
Ultima Modifica 12 Anni 9 Mesi fa da gcupini.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- gcupini
- Visitatori
12 Anni 9 Mesi fa #3
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Compilatore C HI-TECH
In aggiunta a quanto riportato da Giovanni aggiungo una nota generale.
Un "work around" letteralmente significa "girare attorno" o lavoro per girarci attorno...
Rappresenta praticamente una soluzione per aggirare un problema.
Allo stesso modo di un software anche un chip puo' avere dei bug.
Si pensi che un chip viene comunque descritto per mezzo di linguaggi come Verilog e VHDL per cui si possono fare degli errori o non prevedere particolare funzioni.
Quando escono fuori degli errori non e' possibile cambiare il chip come si fa per i software. Unica soluzione possibile ma non sempre e' quella di usare un work around ovvero aggirare un problema noto cercando di non far manifestare un problema. Una volta scovati gli errori questi rimangono spesso anche nei nuovi chip prodotti dopo aver trovato l'errore a meno di avere nuove versioni. La ragione e' legata al fatto che creare nuove versioni può costare diversi milioni di euro!
Quindi a seconda della gravita' ed esistenza o meno dei work around si decide se creare o meno una nuova versione. Come hai potuto constatare i work around vengono implementati direttamente dal compilatore, ma se si scrivesse in assembler la responsabilità del work around spetterebbe al programmatore.
Saluti,
Mauro
Un "work around" letteralmente significa "girare attorno" o lavoro per girarci attorno...
Rappresenta praticamente una soluzione per aggirare un problema.
Allo stesso modo di un software anche un chip puo' avere dei bug.
Si pensi che un chip viene comunque descritto per mezzo di linguaggi come Verilog e VHDL per cui si possono fare degli errori o non prevedere particolare funzioni.
Quando escono fuori degli errori non e' possibile cambiare il chip come si fa per i software. Unica soluzione possibile ma non sempre e' quella di usare un work around ovvero aggirare un problema noto cercando di non far manifestare un problema. Una volta scovati gli errori questi rimangono spesso anche nei nuovi chip prodotti dopo aver trovato l'errore a meno di avere nuove versioni. La ragione e' legata al fatto che creare nuove versioni può costare diversi milioni di euro!
Quindi a seconda della gravita' ed esistenza o meno dei work around si decide se creare o meno una nuova versione. Come hai potuto constatare i work around vengono implementati direttamente dal compilatore, ma se si scrivesse in assembler la responsabilità del work around spetterebbe al programmatore.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Mauro Laurenti
- Moderator
Riduci
Di più
Moderatori: Mauro Laurenti, StefA
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.