Newsgroup: it.hobby.elettronica.digitale
Titolo: E sensata la paginazione su un PIC?

Ho sviluppato uno strumento basato su PIC 16F876A.
Il codice durante lo sviluppo è cresciuto a dismisura a causa delle nuove
feature implementate nel tempo.
Purtoppo il limite degli 8Kb di codice sta per cedere nonostante le mille
ottimizzazioni e io sto cercando una soluzione.
Secondo voi è possibile in qualche modo scaricare pezzi di codice da una
E2prom ed eseguirli solo quando servono.
Per fare un esempio, la gestione del display mi serve solo raramente ma
occupa molto spazio.
La mia idea è quella di sostituire l'area di codice del protocollo con
quello del display, eseguire la visualizzazione richiesta e poi ripristinare
il codice precedente, sullo stile della paginazione di windows.
Secondo voi è possibile, e se si, avete qualche riferimento utile allo
scopo?
Grazie
Alberto Scarin

"Alberto" <alberto(nospam)scarin@tiscali(fuckspammer).it> ha scritto nel
messaggio news:cmjk2c$tks$1...@lacerta.tiscalinet.it...

E' sicuramente possibile, ma comporta attese durante la riprogrammazione, e
tieni anche conto del numero massimo di programmazione delle celle flash
(sicuramente alto ma non infinito).
Hai pensato di passare ad un modello 18Fxxx compatibile pin to pin ma con
16K o 32K di Flash ?
Devi rimaneggiare un poco il sw (se scritto in linguaggio ad alto livello ci
pensa in gran parte il compilatore), ma eviteresti questo tipo di problema.
Ciao, Robby

 Ciao, Robby
Scemo che sono, no non ci avevo pensato.
E dire che abbiamo un altro strumento fatto con la serie 18Fxx.
Ma non avevo realizzato che erano pin compatibili.
Grazie mille...

Non penso si possa fare una cosa del genere
Pagiazione e simili hanno bisogno di uno specifico supporto hardware
Inoltre ti manca un compilatore capace di compilare oltre la memoria 
standard del micro
-- 
_____________________________________________________________
Edmondo Di Tucci 
http://edmondo.no-ip.info
 - su messenger: 
snar...@tin.it
 

Secondo me è possibile, anche se non ho
mai sentito parlare di nulla del genere.
Però la paginazione richiederebbe
un bel po' di tempo, non tanto per la lettura
dalla memoria esterna, quanto per la riprogrammazione
della memoria interna. Tieni conto poi che la eeprom
è garantita per un certo numero di riprogrammazioni,
e se fai questa paginazione spesso, e il circuito
deve svolgere le sue funzioni per qualche anno,
potrebbe non farcela.
La paginazione in Windows
avviene in RAM, quindi è veloce, invece il PIC
che usi legge le istruzioni da eseguire solo da EEProm,
che è molto lenta per essere scritta.
Alcuni PIC della famiglia 18Fxxxxxx,
invece, supportano EMI (External Memory Interface)
e possono eseguire programmi direttamente da ram esterna,
molto più grossa e molto più veloce, invece
il PIC16F876A non la supporrta.
Capisco i tuoi nervi nel dover rimettere
mani al circuito per pochi Kb.
Hai già una memoria EEprom sul circuito?
Per questo pensavi alla paginazione su Eeprom?
Per non dover rifare il circuito?
Se devi comunque rifare il circuito per aggiungere
la EEProm esterna, perché non aggiungi invece
un secondo microcontrollore e fai comunicare
tra di loro i due con lo standard che preferisci,
per esempio con SPI (3 fili) o trasmissione seriale (1 filo).
Delega al secondo micro le funzioni più pesanti
come occupazioni in ROM, ed eseguite
più sporadicamente, e che possibilmente richiedano
di trasferire pochi dati per la nuova elaborazione.
Benissimo si prestano a questo approccio routine
di visualizzazione: un PIC fa da scheda video per l'altro.
Paolo Sancono - Genio Incompreso  
http://www.ideegeniali.it/
--
Chi di un po' di cervello fu dotato,
soffi il vento o scenda acqua intorno,
deve essere felice del suo stato
anche se dovesse piovere ogni giorno.
Shakespeare, Re Lear

Il fatto è che ho gia un centinaio di questi strumenti in giro, sono schede
sviluppate totalmente in tecnologia SMD perché lo volevamo tascabile (è
grande come un pacchetto di sigarette, ma pieno  come un uovo di componenti)
In pratica è un prodotto già lanciato, che dovrei modificare sostenendo i
costi dei nuovi impianti e del cambio di immagine.
E' probabilmente più semplice sostituire il Pic16F876A con un 18F2520 che
sembra essere pin compatibile.
Comunque si, ho 64Kb di E2prom a bordo e confermo le tue supposizioni.
Altra cosa, invece... Conosci qualche chip di memoria E2prom SPI di taglio
Almeno 2Mbyte facilmente reperibile? Non riesco a trovare niente in giro...
Grazie
Alberto