- Messaggi: 127
- Ringraziamenti ricevuti 14
XC8 e PICkit2
- stainless
- Autore della discussione
- Premium Utente
-
Less
Di più
11 Anni 7 Mesi fa #1
da stainless
int main void{
while(1){
eat();
drink();
have_fun();
ride();
}
}
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?
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();
}
}
Si prega Accesso o Crea un account a partecipare alla conversazione.
- StefA
-
- Moderatore
-
Less
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 7 Mesi fa #2
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic XC8 e PICkit2
posta il codice se puoi...
Ste
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
-
Less
Di più
- Messaggi: 127
- Ringraziamenti ricevuti 14
11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #3
da stainless
int main void{
while(1){
eat();
drink();
have_fun();
ride();
}
}
Risposta da stainless al topic XC8 e PICkit2
Questo il sorgente compilato con C18
con i relativi file di configurazione dei fuses di mappatura della memoria
questo invece il sorgente compilato con XC8
e relativi file come sopra
gli header e le librerie dei ritardi sono quelli di Mauro
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;
}
}
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
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
-
Less
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 7 Mesi fa #4
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
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
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.
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
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.
Forum - Ultimi messaggi
-
- progetto can
- da marcelloraja
-
- MODULO GSM SIM900A
- da Mauro Laurenti
-
- Freedom III e compilazioni fallite
- da Mauro Laurenti
-
- Gestione degli errori su comunicazione seriale
- da Mauro Laurenti
-
- Timer0 e interrupt
- da Mauro Laurenti