wpe1.jpg (21303 byte)

Nuovo sito su http://digilander.iol.it/bitblitbit/

Se trovate cose interessanti, che vi fanno risparmiare tempo e vi facilitano la vita...
vi saremmo grati se a vostra volta voleste facilitare la vita (magari con una piccola donazione) agli amici di...

http://web.tiscali.it/CasaFamigliaLP/

SITO IN SVILUPPO CONTINUO !!!

E-MAIL bitblit@tiscalinet.it

 

Su

 

ST7 Assemble e Linker (vedere ST7 USER GUIDE sezione 3)

La sequnza tipo da usare per generare un eseguibile e poi poter programmare un ST7 e':

.asm ---> ASSEMBLER ------> .obj
                                   I------> .lst

.obj ---> LINKER --------> .cod o .abs
                            I-----> .sym
                            I-----> .map

.cod o .abs ---> FORMATTER ----> .s19

.s19 ---> EPROM-PROGRAMMER ---> microcontroller

Va notato che di .asm e di .obj (e file associati ad essi) ve ne possono essere diversi perche' il SW puo' essere sviluppato modularmente.

Si possono avere piu' file .asm ognuno dedicato ad una funzione paricolare del programma. Dopo aver assemblato singolarmente ogni .asm si avranno altrettanti .obj che verranno uniti tramite il linker.

Un file .asm puo' far riferimento a label o variabili che sono definite in un'altro .asm, per evitare che l'assemblatore generi degli errori cercando le label/variabili sopra menzionate si deve fare ricorso alle dichiarazioni di EXTERNAL o PUBLIC.

EXTERNAL indica che la label a cui si fa riferimento e' in un'altro modulo .asm

PUBLIC indica che la label/variabile sara' usata ache da altri file .asm

La funzione primaria del linker e' quella di associare ad ogni istruzione il relativo indirizzo di memoria.

.obj e' un file in binario che serve per il linker.
.lst questo file contiene il cosice assembler scritto piu' la traslazione del medesimo nei suoi valori numerici.
.cod o .abs
.sym
.map
.s19

 

DEBUG...

Supponendo di avere due moduli in assembler dal nome module1.asm e module2.asm e di voler generare un eseguibile dal nome appli, la sequnza da usare per poter anche debagare il programma è:

asm -li module1.asm
asm -li module2.asm
lyn module1 + module2, appli.cod
asm module1 -fi=appli.map -sym
asm module2 -fi=appli.map -sym
obsend appli, f, appli.s19, s

 

 

 

Siete appassionati di elettronica, modellismo, automazione, home automation ecc, se la risposta è si cliccate qui sotto