Vai al contenuto
PLC Forum


Cosa è Un Linker ? - Ovvero perchè non mi genere un file Hex


tatonilo

Messaggi consigliati

Sono ancora quì, ;)

Premetto che ho già fatto alcuni programmini con l' MPLAB e relativa compilazione, test SIM, verifica e programmazione del micro, e tutto funzionava a meraviglia.

Ora ho però voluto seguire le regole del gioco imposte dall'MPLAB ed ho usato la sequenza del wizard di progetto.

Ho inserito i miei files .ASM un file .INC gentilmente offerto dalla Microchip (quello di default del pacchetto MPLAB) , ed avendo letto (nel tutorial MPlab) che il file linker serve solo se andiamo ad usare un loro programmatore non l'ho caricato.....

La compilazione va a buon fine, ma alla fine mi dice:

Clean: Done.

Executing: "C:\Programmi\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F627 "f627temp.asm" /l"f627temp.lst" /e"f627temp.err" /o"f627temp.o"

Executing: "C:\Programmi\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F627 "f627tmpo.asm" /l"f627tmpo.lst" /e"f627tmpo.err" /o"f627tmpo.o"

Skipping link step. The project contains no linker script.

BUILD FAILED: Fri Aug 05 16:01:45 2005

e non mi genera nessun file .HEX :angry:

Come mai negli altri casi l'assemblaggio è andato bene anche senza file link e stavolta invece non se ne parla ? Non vi sono altri errori elencati e la fase/finestra di assemblaggio si chiude bene (ovvero sempre con la barretta verde attiva)....

Cortesemente, mi potete aiutare a capire cosa è un linker, a cosa serve + o - esattamente, e quando si può usare, quando si deve usare e quando se ne può fare a meno?

Grazie per l'aiuto. :rolleyes:

Saluti

Tatonilo

Modificato: da tatonilo
Link al commento
Condividi su altri siti


Ancora un volta, Sig. Orsini la devo ringraziare (non che la cosa mi dispiaccia, ovviamente)

Non ho però ben chiaro un concetto:

da quanto mi dice, se io genero il programma in un solo file .ASM e non gli aggiungo null'altro il compilatore MPASM fa il suo lavoro regolarmente e, pur non essendoci un fiule linker, mi fornirà in uscita un file .HEX richiesto.

Se invece prendo un file .ASM da una parte, l'inizializzazione di default dall'altra (file di header) e genero a mia volta una parte di codice in un altro file .ASM) devo anche fornire un file .LKR che appunto dica al compilatore dove andare a prendere cosa e come.... Giusto!

Esistono dei modelli o testi da cui imparare tutto questo (non credevo fosse così intricato ?!?) poichè io conosco un minimo di istruzioni, mi sto facendo un piccolo bagaglio di esperienza, ma non ho le basi.

In un altro post, ho notato che sia Lei che un suo "pari" (esperto conoscitore/programmatore anch'egli) consigliavate un volume della Hoepli ad un mio "pari" ovvero giovane (si fa per dire, anagraficamente parlando) ed inesperto "strimpellatore di tastiere di PC" (non me ne volgia il suo interlocutore in quella conversazione, io parlo solo con riferimento alla mia persona)

Siccome non riesco a rintracciare il post in oggetto mi potrebbe fornire qualche lume in merito.

Granzie ancora !

Tatonilo

(Danilo)

Link al commento
Condividi su altri siti

Danilo sul forum ci diamo tutti del tu come da bravi colleghi :)

Poi vediamo il problema secifico.

Qualsiasi programma, anche se è un unico modulo, ha necessità di essere elaborato con il linking-locator per ottenere il codice assoluto da caricare in memoria. Questo o lo fa automaticamente il programma o bisogna dare un comando specifico.

Dovresti scaricarti e leggerti il manuale dello MPLAB dal sito microchip.

Relativamente al testo, credo che a suo tempo avessi consigliato il bugbook ma, dato che era ottimo e comprensibile, sarà difficile reperirlo ancora, visto che era edito da Jackson.

Testi attuali sull'ABC dei micro non saprei cosa consigliarti, visto che i miei studi elementari su questi dispositivi risalgono agli anni '70

Link al commento
Condividi su altri siti

Grazie, ........ Livio. :)

P.S.

Complimenti vivissimi per il Curriculum !!!! :blink:

Persone come Te fanno essere orgogliosi il fare questo lavoro !!!

Ancora ciao e Grazie!

Danilo

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...