Jump to content
PLC Forum


PAOLO147

Pic 18F252 ..copia / Incolla : Non Funziona !

Recommended Posts

PAOLO147

Salve a tutti , premetto che' mi occupo di PIC per la prima volta , quindi quello che' diro' nel seguito potrebbe

essere insensato o peggio , arrivo al problema :

Ho necessita' di copiare il file HEX o programma di un Pic 18F252 Regolarmente Funzionante installato su

una scheda Driver per Led 3ch x350 mA con gestione in DMX.

Quindi ho pensato , trovo un programmatore e il suo software , leggo il PIC ,salvo il File e lo Scrivo su un Pic

vergine nuovo ....risultato pratico...come da titolo Non Funziona.

Vengo ai dettagli : il programmatore che' ho comprato e' il PIC Programmer K150 e il suo software e' il

DIY K150 PICmicro Programmer icona di avviamento MicroBrn.

Tutto apparentemente normale e semplice per l'uso di cui ho bisogno io , ma' qualcosa evidentemente

da ignorante della materia l'ho trascurata . Di seguito i passi eseguiti :

1_apertura del programma e connessione al programmatore mediante il caricamento del fileHex epk150

2_scelta del chip

3_Clear del file epk150

4_Read de Pic posizionato correttamente come da grafica sullo zoccolo textool

attendo il caricamento della ROM e della EEprom ,

Appare il file nella finestra........ dalla riga 0000 alla riga 1FF0 tutto 0000

dalla riga seguente 2000 alla 72C0 tutto una serie di numeri e lettere

mentre dalla riga seguente 72D0 fino alla riga 7FF0 tutto FFFF

segue la EEprom Data dalla riga 0000 alla riga 00F8 copie lettere e/o numeri credo dicasi Byte

Questo dovrebbe essere il File con cui il Pic esegue il programma di funzionamento......Giusto ?

Credo ! quindi per corretezza lo Salvo con estensione hex ( non lo fa' in automatico )

5_ sostituisco il Pic originale con uno vergine ( cosi' come si fa con la masterizzazione dei Cd/Dvd )

6_ Clicco su Program Chip vedo la procedura di scrittura ........attendo la fine,

appare la finestrella di OK Pic Programmato Correttamente

7_estraggo il Pic , lo inserisco sullo zoccolo del driver , alimento la scheda , NON succede NULLA

non esegue nessun comando !!!

Che' cosa NON ho fatto , oppure la procedura e' proprio sbagliata ?

Ho letto in un tutorial che' il programma potrebbe essere protetto dalla copia o modifica , in tal caso

durante la lettura il programma lo avrebbe evidenziato...o non esattamente.

Scusatemi se mi sono dilungato ma' volevo essere il piu' chiaro possibile.

CHI puo' aiutarmi in questo problema ...???

Grazie a tutti...Paolo.

Link to comment
Share on other sites


Livio Orsini

E' curioso che il programma inizi dalla locazione 2000h, quado dovrebbe, anzi deve, iniziare dalla 0000.

Alla locazione 0 è situato il vettore di reset, quindi all'accensione il PC si porta alla locazione 00000 dove troverà l'istruzione di salto all'indirizzo della routine di inizializzazione.

Dalla locazione 0008h alla locazione 0016h è situato il vettore degli interrupt ad alta priorità, dalla locazione 0018h parte il vettore degli interrupt a bassa priorità.

Io mi aspetto di leggere alcuni bytes dalla locazione 0 in poi, almeno l'istruzione di salto e l'indirizzo; potrebbero esserci poi degli zeri sinon ad oltre 0018h se non sono usati interrupt, poi dovrei trovare codice, che sono quei numeri e lettere che leggi.

Questo è il link al data sheet. legilo se ancora non lo hai fatto.

Come prima ipotesi io penserei ad un programma che neccessita di psw per leggere le prime 2000h locazioni di memoria.

Operativamente farei un confronto tra i 2 files leggendo la memeoria dei due pic. I 2 files devono essere uguali.

Esiste anche la possiiblità, da non sottovalutare, che il programamtore non sia adatto. La differenza di costo di u programmmatore Microchip, come il pickit3, ed un programamtore qaulsiasi non è elevata, anzi a volte si risparmia. Però il risultato con i dispsoitivi microchip è garantito, con gli altri...dipende.

Link to comment
Share on other sites

PAOLO147

...Mister Livio , sono onorato della sua gentile e veloce risposta , ...allora , come detto nel post sono alla prima esperienza di Pic , pero'

anche a me , ha sorpreso il fatto , che' la prima istruzione inizi dalla riga 2000h , pero' ho pensato subito a una scelta del programmatore in fase di compilazione , il resto , visto cosi , per me sono solo numeri e lettere , cosi come il data sheet , di cui avevo gia' scaricato , tranne alcune parti

tecniche , il resto e' arabo.

Ho fatto il confronto dei 2 file ( originale e copia ) a campionatura , sono identici .

Ho letto altri 2 Pic 18F252 diversi , con programma praticamente uguale , a parte il numero dei canali DMX , 3 oppure 6 e la data di produzione :

Il prodotto non cambia , COPIA Perfetta , ma' NON funziona e anche in questi due casi la prima istruzione inizia da 2000h.

Ho letto poi un PIC 16F84A , uno preso a caso , e questo SI , la prima istruzione inizia da 0000h

Per quanto riguarda la Password , ripeto , ho letto dell'impossibilita' della copia in tal caso , e anche se l'avessi , non saprei proprio come

usarla.

Infine il Programmatore , ho cercato e scelto questo , a parte il prezzo molto accessibile , mettendo in conto il fallimento dell'operazione , cosi' come si prospetta ormai , nelle caratteristiche e' dichiarato l'uso con 181 Pic diversi tra cui certamente quello in oggetto , ha poi lo zoccolo textool da 40Pin , pensando poi di usarlo in altre applicazioni .

Mentre scrivo ho cercato il pickit3 come suggerito e in effetti il costo e' lo stesso , gia' lo notai durante la prima ricerca , ma' per un discorso

puramente estetico e di semplicita' pratica , lo scartai ...ho persino installato il programma MPLAB IDE osannato da tanti... a questo punto , attendo qualche giorno eventuali altre risposte e poi lo compro , sara' mia cura e dovere informarVi del risultato ,

ancora Grazie a presto Paolo.

Link to comment
Share on other sites

Livio Orsini

Attenzione!

Il programma deve iniziare da 0000. Il fatto che le prime 2000h locazioni siano tutti 0, significa o che hanno usato una tecnica di programmazione masochistica o che non riesci a leggerli. Sembrerebbe che la seconda ipotesi sia la più reale, visto che poi il sistema non funziona.

Il pickit3 ti mette al riparo da cattivi funzionamenti del programmatore (attenzione che deve essere interfacciato da MPLABX), però non tigrantisce la copia in caso di micro protetti.

Link to comment
Share on other sites

PAOLO147

....Grazie ancora, dopo quest'ultima considerazione , ( il pic non viene letto correttamente ) mi viene da pensare una cosa ,

sto usando il tutto con PC dotato di Windows VISTA ^_^....non e' che' sara' lui la causa ! dal momento che' e' uno dei peggiori sistemi realizzati

dalla Microsoft , specialmente per uso tecnico , e dando uno sguardo alle caratteristiche del programmatore , NON parla di VISTA .

A questo punto appena possibile rifaccio il tutto su un Pc dotato di XP , che' problemi non e' ha quasi mai .... voglio vedere se cambia qualcosa !

dopo di che' , in caso negativo, compro il pickit3 .

a presto Paolo.

Link to comment
Share on other sites

Livio Orsini
con PC dotato di Windows VISTA

Se colloqui con il programmatore senza problemi non credo che il tipo di SO sia la causa, comunque la prova con XP costa poco e val la pena farla per togliersi i dubbi.

Usare un altro programmatore, anche se microchip originale, probabilmente non risolve il problema. A meno di usarlo come In Circuit Debugger, per analizzare il software originale (sempre che sia possibile).

Edited by Livio Orsini
Link to comment
Share on other sites

PAOLO147

Ok Grazie ..Vi aggiorno fra qualche giorno dopo ulteriori prove .

Ciao Paolo.

Link to comment
Share on other sites

PAOLO147

....Salve eccomi qui' finalmente...come mio dovere , volevo aggiornarVi sull'esito dell'operazione : NEGATIVA , purtroppo !

ho acquistato il pickit3 originale , con software MPLAB IDE v8.90 .. ho eseguito tutto come da manuale , cancellazione , lettura , scrittura e verifica , tutto OK , ma' nessun funzionamento pratico , anche in questo caso il programma che' vedo e' come quello visto dal programmatore precedente : dall'indirizzo 0000 fino all'indirizzo 1FFE = 0000 - NOP , dall'indirizzo 2000 = 0200 - MULWF 0, ACCESS in poi , prosegue il programma....questo e' tutto , NON so' che' altro fare.

GRAZIE per l'attenzione.

Ciao Paolo.

Link to comment
Share on other sites

RESNIC

Ciao,

Provo ad insinuare un dubbio : Programma protetto in lettura ?

Ciao

Link to comment
Share on other sites

Livio Orsini

Dal mio #2: "Come prima ipotesi io penserei ad un programma che neccessita di psw per leggere le prime 2000h locazioni di memoria."

Link to comment
Share on other sites

pierpa67

Un saluto a tutto il forum

Mi chiamo Pier e sono un  elettronico che si sta avvicinando pin piano al mondo dei PIC.

Sono da diverso tempo iscritto su questo forum ma  è la prima volta che scrivo per una richiesta specifica.

Come tutti i principianti in materia PIC anch'io mi sto facendo la gavetta sperimentando semplici circuiti per capire come comportarmi con la programmazione.

Come sw compilatore uso il Microcode studio in basic e come programmatore uso il K150.

Per iniziare i miei esperimenti elementari sono partito con in PIC12F683 a 5 I/O+1I a 8 pin e fino a qua' nessun problema con il caricamento del file HEX sul pic con il K150.

Ho acquistato dei PIC 12F675 piu' economici e anche piu' limitati rispetto il al F683 e qui' iniziano i promi problemi a cui mi affido a voi in quanto non capisco perche' il K150 (sebbene economico) mi dice il programma non supporta il modello 12F675 sebbene abbia settato nel menu' a tendina il tipo di pic e rientra tra quelli supportati.

La domanda che faccio e' questa? Ma tutta la lista di PIC che supporta e puo' programmare il K150 e' veritiera o fasulla? oppure ha bisogno di aggiornamenti questo probrammatore?

Controllando il sito del produttore aggiornamenti non ne esistono di recenti e quello instasllato da me è l'ultimo.

Cosa mi consigliate di fare? C'è da settare qualcosa nel menu' oltre al tipo di micro? con F683 nulla di tutto questo ed e' andato al primo colpo.

Un grazie ancora

Pier

 

Link to comment
Share on other sites

Livio Orsini

Non puoi accodarti ad una vecchia discussione.

Si confondono risposte ed argomenti; il regolamento vieta gli accodamenti.

Se vuoi apri una nuova discussione.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...