è possibile aumentare la memoria programma di un PIC18F4550?

12 Anni 2 Settimane fa #1 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

..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
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
12 Anni 2 Settimane fa #2 da Mauro Laurenti
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
Ringraziano per il messaggio: Cosimix, StefA

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 2 Settimane fa - 12 Anni 2 Settimane fa #3 da Cosimix

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
  • Avatar di Cosimix
  • Elite Member
  • Elite Member
Di più
12 Anni 2 Settimane fa #4 da StefA
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

..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
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
12 Anni 2 Settimane fa #5 da Mauro Laurenti
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
Ringraziano per il messaggio: StefA

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login