- Messaggi: 1222
- Ringraziamenti ricevuti 104
è possibile aumentare la memoria programma di un PIC18F4550?
12 Anni 2 Settimane fa #1
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
è possibile aumentare la memoria programma di un PIC18F4550? è stato creato da StefA
ho raggiunto il limite di memoria programma del 18F4550, mi sono accorto che in MPLAB IDE non avevo settato nessuna ottimizzazione e spuntando l'opzione recupero poco più di 1k. C'è un altro modo per aumentare la memoria o ottimizzare di più il programma?
Mi chiedevo...siccome aggiungo source ed header file di tuttle le librerie che mi servono, se le compilo a parte e utilizzo header file e file.lib risparmio qualcosa in termini di spazio, o non cambia nulla?
Grazie.
Ste
Mi chiedevo...siccome aggiungo source ed header file di tuttle le librerie che mi servono, se le compilo a parte e utilizzo header file e file.lib risparmio qualcosa in termini di spazio, o non cambia nulla?
Grazie.
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Autore della discussione
- Moderator
Riduci
Di più
12 Anni 2 Settimane fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: è possibile aumentare la memoria programma di un PIC18F4550?
Ciao Ste,
aumentare non e' proprio il termine giusto visto che la memoria rimane sempre la stessa.
Quello che cerchi e' diminuire il codice generato dal compilatore e unito linker.
Oltre alle ottimizzazioni, che dopo 60 giorni dall'istallazione MPLAB non vengono piu' eseguite al massimo, puoi ottimizzare il codice semplicemente rimuovendo le funzioni che non usi dalle librerie.
Infatti quando compili anche le funzioni non usate occupano spazio.
Per tale ragione ti conviene far uso direttamente dei file .c e .h e modificare il file .c
Alternativa sarebbe anche quella di usare un PIC18F4620 (come quello usato nel progetto del campanile).
Questo varrebbe nel caso in cui vuoi usare il modulo USB.
saluti,
Mauro
aumentare non e' proprio il termine giusto visto che la memoria rimane sempre la stessa.
Quello che cerchi e' diminuire il codice generato dal compilatore e unito linker.
Oltre alle ottimizzazioni, che dopo 60 giorni dall'istallazione MPLAB non vengono piu' eseguite al massimo, puoi ottimizzare il codice semplicemente rimuovendo le funzioni che non usi dalle librerie.
Infatti quando compili anche le funzioni non usate occupano spazio.
Per tale ragione ti conviene far uso direttamente dei file .c e .h e modificare il file .c
Alternativa sarebbe anche quella di usare un PIC18F4620 (come quello usato nel progetto del campanile).
Questo varrebbe nel caso in cui vuoi usare il modulo USB.
saluti,
Mauro
Ringraziano per il messaggio: Cosimix, StefA
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 2 Settimane fa - 12 Anni 2 Settimane fa #3
da Cosimix
Non mi era mai venuto in mente (sono ancora un pivello!). Ottimo consiglio, grazie!
Risposta da Cosimix al topic Re: è possibile aumentare la memoria programma di un PIC18F4550?
Mauro Laurenti ha scritto: puoi ottimizzare il codice semplicemente rimuovendo le funzioni che non usi dalle librerie.
Infatti quando compili anche le funzioni non usate occupano spazio.
Non mi era mai venuto in mente (sono ancora un pivello!). Ottimo consiglio, grazie!
Ultima Modifica 12 Anni 2 Settimane fa da Cosimix.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Cosimix
- Elite Member
Riduci
Di più
- Messaggi: 198
- Ringraziamenti ricevuti 26
12 Anni 2 Settimane fa #4
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Re: è possibile aumentare la memoria programma di un PIC18F4550?
intendevo proprio aumentare la memoria, magari avevano implementato la funzione di mettere il programma anche su memoria esterna, ma visto la risposta la vedo una cosa ancora lontanissima/impossibile...
Grazie della dritta del "ripulire" le librerie dalle funzioni non usate..proverò anche a mettere MPLAB in macchina virtuale per vedere quanto risparmierei con l'ottimizzazione al massimo.
Il progetto è ampio perché con la scusa sto cercando di imparare ad usare tutto quello che posso, magari da qualche parte posso stringere la cinghia..
Se riesco, vorrei rimanere sul 18F4550..poi si vedrà...
Grazie.
Ste
Grazie della dritta del "ripulire" le librerie dalle funzioni non usate..proverò anche a mettere MPLAB in macchina virtuale per vedere quanto risparmierei con l'ottimizzazione al massimo.
Il progetto è ampio perché con la scusa sto cercando di imparare ad usare tutto quello che posso, magari da qualche parte posso stringere la cinghia..
Se riesco, vorrei rimanere sul 18F4550..poi si vedrà...
Grazie.
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Autore della discussione
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
12 Anni 2 Settimane fa #5
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: è possibile aumentare la memoria programma di un PIC18F4550?
Ciao Ste,
in linea di massima potresti usare una memoria esterna ma significherebbe dover caricare ogni volta i pezzi di programma che ti servono (ovvero cancellare la memoria flash e riscrivere il nuovo programma). La cosa non e' banale visto che non puoi eseguire direttamente il programma dalla memoria. Questo vale per i PIC ma non in generale.
Gli MSP430 potrebbero per esempio eseguire il programma dalla RAM interna (non possibile nei PIC).
Architetture piu' complesse come Cortex M3, Cortex M4 hanno normalmente la possibilita' anche di poter eseguire programmi da memorie esterne (se la MCU lo supporta).
Saluti,
Mauro
in linea di massima potresti usare una memoria esterna ma significherebbe dover caricare ogni volta i pezzi di programma che ti servono (ovvero cancellare la memoria flash e riscrivere il nuovo programma). La cosa non e' banale visto che non puoi eseguire direttamente il programma dalla memoria. Questo vale per i PIC ma non in generale.
Gli MSP430 potrebbero per esempio eseguire il programma dalla RAM interna (non possibile nei PIC).
Architetture piu' complesse come Cortex M3, Cortex M4 hanno normalmente la possibilita' anche di poter eseguire programmi da memorie esterne (se la MCU lo supporta).
Saluti,
Mauro
Ringraziano per il messaggio: StefA
Si prega Accedi o Crea un account a partecipare alla conversazione.
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.