Compilazione in assembler.

  • mauri
  • Avatar di mauri
  • Offline
  • New Member
  • New Member
Di più
1 Mese 2 Settimane fa #1 da mauri
Compilazione in assembler. è stato creato da mauri
Buongiorno a tutti del forum.
E' da tanto tempo, che ho scritto un programmino in assembler per una scheda elettronica auto costruita. Ora mi vedo costretto a rivedere il programma scritto con il vecchio compilatore MPASMWIN.
Stò usando l'ambiente MPLAB X IDE 5.45 con il compilatore XC8 2.32 settato con il programma "pic-as".
Ho modificato il programma in assembler per adattarlo alle specifiche del nuovo compilatore. Ora non mi dà nessun errore di compilazione, ma mi memorizza il codice, nella memoria EEPROM invece che nella memoria flash.
Sicuramente c'è qualche stringa da aggiungere al programma, che io ignoro, in modo che faccia fare al compilatore il suo dovere.
Vi ringrazio anticipatamente.
Maurizio.

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

Di più
1 Mese 1 Settimana fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Compilazione in assembler.
Sotto l'ambiente di sviluppo MPLAB X non ho più lavorato in assembly (escluso debug di codice C).
In ogni modo il programma viene posizionato tramite la direttiva ORG 0xXXXX dove XXXX è l'indirizzo dove posizionare il programma.
Tra le impostazioni del progetto è anche possibile impostare degli offset o esclusioni per la memoria programma.
Gli offset sono aggiunti a eventuali indirizzi impostati tramite ORG 0xXXXX nel programma.
Potresti controllare anche tali impostazioni.

Saluti,

Mauro

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

  • mauri
  • Avatar di mauri
  • Offline
  • New Member
  • New Member
Di più
1 Mese 1 Settimana fa - 1 Mese 1 Settimana fa #3 da mauri
Risposta da mauri al topic Compilazione in assembler.
Ti ringrazio Mauro,Guardando sulla rete ho trovato una direttiva per far caricare il programma nella "Memoria Programma":

PSECT code

Ora il problema è indirizzarlo all'inizio dell'area di memoria e non alla fine come accade adesso, nonostante aver messo le direttive

ORG 0x0000

File allegato:

Nome del file: Prova_assembler.zip
Dimensione del file:2 KB


Nel programma ho inserito le routine da eseguire in interrupt; ma non essendo indirizzate nella zona giusta non hanno effetto.Per ogni evenienza allego il progetto in questione.
Maurizio.
Allegati:
Ultima Modifica 1 Mese 1 Settimana fa da mauri.

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

Moderatori: Mauro LaurentiPinnaStefAMatteo Garia