Pagina 1 di 1

Abosulte code o Relocatable code?

MessaggioInviato: 15 ott 2013, 15:51
da mros
Buonasera

che differenza passa tra le due tecniche di assemblaggio ?

rosario

Re: Abosulte code o Relocatable code?

MessaggioInviato: 15 ott 2013, 16:28
da c1b8
Ti dico quello che so io, poi aspettiamo anche altre risposte.

Absolute code:
Devi specificare indirizzi fissi di memoria RAM e codice. In genere basta l'indirizzo iniziale per entrambi.
Non è facile portare una parte di codice da un progetto ad un altro per il motivo detto sopra.
Mi sembra che il codice debba essere tutto in un unico file (non ho mai provato il contrario e quindi potrebbe nonessere vero).

Relocatable code:
Non si specificano indizzi fissi di memoria, è il linker che si occupa di assegnare gli indirizzi.
Serve un file di link (.lnk) che descriva le varie aree di memoria al linker.
Puoi utilizzare più file sorgente.
Hai modo di riutilizzare codice da un progetto all'altro.
E' il metodo su cui punti Microchip per i futuri sviluppi

Nota: anche con absolute code (o come lo chiamo io codice non rilocabile), puoi riutilizzare codice da un progetto ad un altro, ma la cosa è più complessa e necessita di particolare attenzione nello scrivere il codice originale.

Re: Abosulte code o Relocatable code?

MessaggioInviato: 15 ott 2013, 16:48
da mros
Grazie Fabio

dopo la mia precedente disavventura con la dichiarazioni delle variabili (mi hai supportato e sopportato per molti post) mi volevo imbattere in questo favoloso mondo :twisted: della allocazione della memoria.
Purtroppo mi sono reso conto che facevo meglio a farmi i fatti miei.......purtroppo sto scrivendo un programma per un 16F877 e dopo aver utilizzato c.a. il 12% della memoria flash quando lo vado a compilare mplab mi da errore per la creazione del file link ...... mi dice che ho superato la memoria disponibile (almeno credo).

insomma come mi muovo faccio danni #-o

grazie
rosario

Re: Abosulte code o Relocatable code?

MessaggioInviato: 15 ott 2013, 16:52
da c1b8
E' giusto così... almeno provi da subito tutti i possibili inconvenienti che si possono incontrare :mrgreen:

Ma che errore ti segnala di preciso?