Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problema file .hex

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Problema file .hex

Messaggioda Foto Utentewizard » 20 mar 2014, 23:12

Salve a tutti, proverò a spiegare quanto più chiaramente possibile il mio problema.
Ho un microcontrollore PIC18F4550 su cui ho caricato il bootloader HID per poterlo programmare caricando direttamente il codice via USB.
Ho sempre utilizzato MPLAB IDE per scrivere il codice e C18 come compilatore e non ho mai avuto problemi.
Ora sono passato a MPLABX e uso XC8 come compilatore.
Il problema è che dopo aver avviato il bootloader (con la tipica sequenza di tasti), dopo aver caricato il file .hex nel PIC attraverso l'apposito software di programmazione e dopo aver aver premuto il tasto reset per far partire il programma, non ottengo alcun risultato.
Ho letto su internet che è necessario installare MCHPFSUSB (che da quanto ho capito serve per far comunicare il PIC col PC via USB) e così ho fatto (anche perché quando usavo MPLAB IDE e il C18 lo avevo installato) ma il problema rimane.
Premettendo che il programma è ben scritto (semplice accensione di un led) e che funziona perfettamente con MPLAB e C18, vi chiedo: quale potrebbe essere il problema? c'è qualcosa che manco? qualcuno ha riscontrato il mio stesso problema nel passare dall'uno altro? :roll:
Avatar utente
Foto Utentewizard
25 1 5
Frequentatore
Frequentatore
 
Messaggi: 138
Iscritto il: 12 gen 2013, 17:48

2
voti

[2] Re: Problema file .hex

Messaggioda Foto Utentec1b8 » 21 mar 2014, 10:00

E' difficile rispondere senza vedere il codice/progetto, prima ipotesi: il programma comincia dall'indirizzo giusto?
Come saprai quando utilizzi il bootloader il programma che vai a caricare deve cominciare dall'indirizzo 0x1000 altrimenti non viene trasferito nel PIC. Sei sicuro che il nuovo progetto sia configurato correttamente?
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[3] Re: Problema file .hex

Messaggioda Foto Utentewizard » 21 mar 2014, 16:56

Ciao, mi rendo conto che è difficile rispondere così, senza sapere molto...tuttavia la mia speranza era quella di aver commesso un errore da matita blu, tale che saltava subito all'occhio
Comunque il codice scritto è il seguente

Codice: Seleziona tutto
#include <xc.h>
#include <pic18f4550.h>

#pragma config PLLDIV   = 5       // (20 MHz input)
#pragma config CPUDIV   = OSC1_PLL2
#pragma config USBDIV   = 2       // Clock source from 96MHz PLL/2
#pragma config FOSC     = HSPLL_HS
//#pragma config FCMEN    = OFF
#pragma config IESO     = OFF
#pragma config PWRT     = OFF
#pragma config BOR      = ON
#pragma config BORV     = 3
#pragma config VREGEN   = ON
#pragma config WDT      = OFF
#pragma config WDTPS    = 32768
#pragma config MCLRE    = ON
#pragma config LPT1OSC  = OFF
#pragma config PBADEN   = OFF
#pragma config CCP2MX   = ON
#pragma config STVREN   = ON
#pragma config LVP      = OFF
//#pragma config ICPRT    = OFF       // Dedicated In-Circuit Debug/Programming
#pragma config XINST    = OFF       // Extended Instruction Set
#pragma config CP0      = OFF
#pragma config CP1      = OFF
#pragma config CP2      = OFF
//#pragma config CP3      = OFF
#pragma config CPB      = OFF
#pragma config CPD      = OFF
#pragma config WRT0     = OFF
#pragma config WRT1     = OFF
#pragma config WRT2     = OFF
//#pragma config WRT3     = OFF
#pragma config WRTB     = ON       // Boot Block Write Protection
#pragma config WRTC     = OFF
#pragma config WRTD     = OFF
#pragma config EBTR0    = OFF
#pragma config EBTR1    = OFF
#pragma config EBTR2    = OFF
//#pragma config EBTR3    = OFF
#pragma config EBTRB    = OFF

void main(void)
{
TRISBbits.TRISB2=0;   //Set come output

PORTBbits.RB2=0;         //Led OFF
while(1)
PORTBbits.RB2=1;      //Led ON
}   //End main 


Una domanda: nel progetto va incluso il linker? ho letto sulla guida del compilatore che non ce n'era bisogno e che era tutto "automatico" (grande differenza rispetto MPLAB)
Comunque anche inserendo il file .lkr non ottengo risultati.
Avatar utente
Foto Utentewizard
25 1 5
Frequentatore
Frequentatore
 
Messaggi: 138
Iscritto il: 12 gen 2013, 17:48

0
voti

[4] Re: Problema file .hex

Messaggioda Foto Utentewizard » 21 mar 2014, 17:02

Questo invece è ciò che vedo nel file .lkr

Codice: Seleziona tutto
CODEPAGE   NAME=bootloader START=0x0                END=0xFFF          PROTECTED
CODEPAGE   NAME=vectors    START=0x1000             END=0x1029          PROTECTED
CODEPAGE   NAME=page       START=0x102A            END=0x7FFF
CODEPAGE   NAME=idlocs     START=0x200000          END=0x200007       PROTECTED
CODEPAGE   NAME=config     START=0x300000          END=0x30000D       PROTECTED
CODEPAGE   NAME=devid      START=0x3FFFFE          END=0x3FFFFF       PROTECTED
CODEPAGE   NAME=eedata     START=0xF00000          END=0xF000FF       PROTECTED


Ovviamente non si tratta dell'intero file ma solo dei range di memoria in cui vengono memorizzate le varie "componenti"
Avatar utente
Foto Utentewizard
25 1 5
Frequentatore
Frequentatore
 
Messaggi: 138
Iscritto il: 12 gen 2013, 17:48

0
voti

[5] Re: Problema file .hex

Messaggioda Foto Utentec1b8 » 21 mar 2014, 17:06

Non utilizzo MPLAB X, però proverei ad andare sulle proprietà del progetto, XC8 Linker e quindi impostare la propietà CODEOFFSET.
Prova a guardare qui
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[6] Re: Problema file .hex

Messaggioda Foto Utentewizard » 21 mar 2014, 17:33

Niente, nessun risultato degno di nota :(
Avatar utente
Foto Utentewizard
25 1 5
Frequentatore
Frequentatore
 
Messaggi: 138
Iscritto il: 12 gen 2013, 17:48

1
voti

[7] Re: Problema file .hex

Messaggioda Foto Utentec1b8 » 21 mar 2014, 17:36

Se hai un po' di pazienza potrebbe essere la volta che mi decido di provare MPLab X... e così provo direttamente.
Comincio con lo scaricare IDE e compilatori.

Se intanto qualcuno ha la soluzione meglio.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[8] Re: Problema file .hex

Messaggioda Foto Utentewizard » 21 mar 2014, 17:40

:lol: la pazienza ce l'ho anche se volevo approfittare di questo week end per migliorarmi ed imparare ad usare questo nuovo editor/compilatore...comunque aspetto tranquillamente, tanto da qui non scappa :ok: anzi ti ringrazio per la disponibilità e la pazienza :D
Avatar utente
Foto Utentewizard
25 1 5
Frequentatore
Frequentatore
 
Messaggi: 138
Iscritto il: 12 gen 2013, 17:48

0
voti

[9] Re: Problema file .hex

Messaggioda Foto Utentec1b8 » 21 mar 2014, 17:56

Mentre aspetto il download ho guardato il codice che hai postato.
Vedo che il led è connesso alla porta B pin RB2, a seconda del valore di PBADEN i pin da RB0 a RB4 sono digitali o analogici al reset.
Tu hai impostato PBADEN a OFF (quindi digitali), ma in realtà il valore di PBADEN è quello imposto dal bootloader che hai caricato sul PIC: non so quale sia.
Per essere del tutto certi che il pin sia digitale di converrebbe configuralo in modo esplicito impostando il registro ADCON1.

Prova e fammi sapere.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[10] Re: Problema file .hex

Messaggioda Foto Utentewizard » 21 mar 2014, 18:05

Guarda l'unica cosa di cui sono sicuro è il codice...usando C18 e MPLAB-IDE va tutto alla grande e non ho problemi
Per questa ragione ritengo che il problema non sia da ricercarsi nel codice, poi non so, posso sbagliarmi
Comunque ora mi viene in mente un "difetto" che ho notato e che non sono ancora riuscito a capire...carico il file .hex nel PIC e premo reset...ovviamente non succede nulla ma se premo il secondo tasto (quello che non si trova SU MCLR per capirci) mi rientra in fase di bootloader :? (me ne accorgo perché i 2 led cominciano a lampeggiare e il software per caricare il file .hex si imposta come se avessi avviato volontariamente il bootloader)
Avatar utente
Foto Utentewizard
25 1 5
Frequentatore
Frequentatore
 
Messaggi: 138
Iscritto il: 12 gen 2013, 17:48

Prossimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite