Vai al contenuto
PLC Forum


Aggiornare il pic on-board con una sd, possibile?


PlayPic

Messaggi consigliati

Ciao a tutti, vorrei aggiornare il programma del mio pic18f4431 on_board, ma non con i soliti 3 pin, vorrei provarci con una memoria SD. In questo modo non è più necessario un pc ed un programmatore biggrin.gif .

In pratica vorrei che un secondo Pic oppurtunamente programmato, possa trasferire il programma dalla SD al micro con la semplice pressione di un pulsante. Ho preso spunto da una demo board della mikroelektronika, dove usano un Pic "secondario" per trasferire i dati dall'usb all micro in prova.

Grazie mille per l'aiuto smile.gifsmile.gif

Link al commento
Condividi su altri siti


Ls flash del pic la si programma solo tramite gli appositi segnali di clock e data con il pin di MR che viene messo in configurazione programmazione. Che poi i dati arrivino da un programamtore collegato ad un PC, o da un altro microcontrollore che legge i dati da un qualsiasi supporto di memeoria, per il PIC da programamre è indifferente.

Devi comunque realizzare il dispositivo master di programamzione. Ci sono AN della Microchip che danno tutte le indicazioni Hw e, soprattutto, Sw per programamre i PIC.

Link al commento
Condividi su altri siti

Ho girato un pò nel sito della microchip, ma non trovato molto!!! Se qualcuno mi potrebbe indicare quanche AN, o qualsiasi altra cosa, utile al mio caso giene sarei molto grato worthy.gifworthy.gif

Grazie ancora a tutti...

Link al commento
Condividi su altri siti

teoricamente e' fattibile... in pratica non credo sia conveniente con il pic da te indicato...

devi creare un programma di bootloader... sul sito del produttore ne trovi già pronti per la programmazione via usb ( ovviamente per i pic con uSB biggrin.gif )

questo programma si installa nella parte finale della memoria e viene caricato all'accensione se e' presente una combinazione predefinita su una delle porte... se attivato abilita l'usb e permette di riscrivere il firmware da pc senza usare il programmatore... ( in pratica diventa come un aggiornamento del firmware di un lettore cdrom per intenderci )

quello che vuoi fare te e' piu complesso perche prevede il dialogo con l'sd ( ti porta via 2 banchi di ram ) e la gestione del filesistem ( altri 2 banchi ) ma e' il meno...il codice ti prenderebbe piu del 70% della memoria progrmma disponibile solo per la lettura da sd su fat32... non so se ci stanno anche le routine di aggiornamento ma di sicuro non ti resta molto spazio per il tuo programma

Comunque da programma e' possibile riscrivere la memoria flash ma in blocchi da 512byte se non ricordo male... questo e' sicuro per la serie 18f e successive, non ricordo per la 16f

Modificato: da _AnDrEa_83
Link al commento
Condividi su altri siti

No, se non ho capito male, vuol fare qualche cosa di più semplice: dando un comando esterno (..con la semplice pressione di un pulsante) scaricherebbe l'aggiornamento sul micro leggendo da un secondo PIC che prende i dati dalla SD e li trasferisce al target.

In pratica andrebbe a fare un po' più di quello che fa l'ICD usato come programamtore.

Link al commento
Condividi su altri siti

Esatto, devo fare in modo di non utilizzare il pc, aggiornando la mia board tramite una semplice sd!!

Se avete qualche altra idea sarebbe ben gradita, grazie a tutti biggrin.gifbiggrin.gif

Link al commento
Condividi su altri siti

  • 1 month later...

Puoi utilizzare il programmatore pickit2 della microchip + un alimentatore portatile a batteria da collegare alla porta usb.

Per la serie 18F però hai dei limiti di memoria. Per altre info cerca sul sito della microchip.

Edit:

Qui trovi il pdf -> Link

Modificato: da antenore
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...