XC8 e PICkit2

  • stainless
  • Autore della discussione
  • Premium Utente
  • Premium Utente
Di più
11 Anni 7 Mesi fa #1 da stainless
XC8 e PICkit2 è stato creato da stainless
Ciao a tutti, ho fatto un programmino di prova che accende un led su RB2 con compilatore XC8 e nel caricarlo nel pic18F4580 con il software dedicato al PICkit2 ottengo questa warning



nella user's guide del programmatore dice che l'avvertimento è dovuto a locazioni di memoria contenute nel file hex che non esistono nel dispositivo selezionato e che queste locazioni non saranno caricate nel micro. Caricato il firmware tutto funziona e se provo a compilare lo stesso programma sempre con MPLABX e C18 (ovviamente con le opportune modifiche) l'avvertimento non compare più.
Potrebbe essere un errore "fantasma" di XC8? Come faccio a capire a quali locazioni di memoria si fa riferimento?

int main void{
while(1){
eat();
drink();
have_fun();
ride();
}
}
Allegati:

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

  • StefA
  • Moderatore
  • Moderatore
Di più
11 Anni 7 Mesi fa #2 da StefA
Risposta da StefA al topic XC8 e PICkit2
posta il codice se puoi...

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

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

  • stainless
  • Autore della discussione
  • Premium Utente
  • Premium Utente
Di più
11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #3 da stainless
Risposta da stainless al topic XC8 e PICkit2
Questo il sorgente compilato con C18
Code:
#include <p18f4580.h> #include "conf.h" #include "delay.h" #include "delay.c" #define LED LATBbits.LATB2 /* * */ void main(void) { TRISB=0xFB; LATB=0x00; while(1) { LED=1; delay_ms(500); LED=0; } }
con i relativi file di configurazione dei fuses di mappatura della memoria

File allegato:

Nome del file: conf.h
Dimensione del file:4 KB



File allegato:

Nome del file: mappatura2.txt
Dimensione del file:176 KB



questo invece il sorgente compilato con XC8
Code:
#include <xc.h> #include "config.h" #include "delay.h" #include "delay.c" #define LED LATBbits.LATB2 /* * */ int main(void) { TRISB=0xFB; LATB=0x00; while(1) { LED=1; delay_ms(500); LED=0; delay_ms(500); } }

e relativi file come sopra

File allegato:

Nome del file: config.h
Dimensione del file:4 KB



File allegato:

Nome del file: mappatura.txt
Dimensione del file:19 KB



gli header e le librerie dei ritardi sono quelli di Mauro

int main void{
while(1){
eat();
drink();
have_fun();
ride();
}
}
Ultima Modifica 11 Anni 7 Mesi fa da stainless.

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

  • StefA
  • Moderatore
  • Moderatore
Di più
11 Anni 7 Mesi fa #4 da StefA
Risposta da StefA al topic XC8 e PICkit2
non conosco quel pic, quindi se devo azzardare un'ipotesi, direi che c'è qualcosa che non va nel file di configurazione.
Programmando da MPLABX + C18 probabilmente il compilatore risolve, programmando da software per pickit invece resta un "problema".

Oppure potrebbe essere un problema di non piena compatibilità del pickit2.

Non so darti una risposta, aspettiamo qualcuno che passi da qui e ne sappia di più.

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
I seguenti utenti hanno detto grazie : stainless

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

  • Mauro Laurenti
  • Moderatore
  • Moderatore
Di più
11 Anni 7 Mesi fa #5 da Mauro Laurenti
Risposta da Mauro Laurenti al topic XC8 e PICkit2
I due ambienti di sviluppo cambiano un poco per quanto riguarda il modo in cui vengono impostate le configuration words ed eventuali valori di default.

Se guardi i due file .hex dovresti vedere che il file .hex per il quale non vengono generate le warning ha al suo interno definite le configuration words ai relativi indirizzi (mentre l'altro no).
Il formato dei file .hex e INTEL HEX e i primi numeri che vedi sono gli indirizzi.
Il valore dei registri di configurazione li trovi dentro il file header di configurazione delle librerie LaurTec.

Saluti,

Mauro
I seguenti utenti hanno detto grazie : stainless

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

Moderatori: Mauro Laurenti

Registrati al sito

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

Registrati al sito LaurTec.

Forum - Ultimi messaggi