Vai al contenuto
PLC Forum


Bootloader Pic18 - entrare ed uscire dal boot mode


Il Novizio

Messaggi consigliati

Salve a tutti.

Ho scaricato l'application note an851 in cui la microchip fornisce un bootloader per la famiglia 18, e anche un programmino windows per inviare tramite la seriale l'user code al micro.

http://ww1.microchip.com/downloads/en/Devi...ceDoc/00851.zip.

Qualcuno usa questo bootloader?

Lo chiedo perchè avrei bisogno di un chiarimento.

L'application note dice che il bootloader usa il valore nell'ultima locazione della eeprom dati per sapere se eseguire il boot mode(prepararsi a ricevere dalla seriale l'user code da programmare in memoria) , o il normal mode, (eseguire l'user code).

Se l'ultima locazione ha il valore 0xFF allora esegue il boot mode, qualsiasi altro valore fa eseguire il normal mode.

Una volta che è stato caricato tramite seriale il codice .hex corrispondente al user code, il programmino fornito da microchip mette 0x00 nell'ultima locazione della eeprom dati e resetta il micro.

A questo punto quindi ci troviamo nel normal mode e tutto va bene.

Ma se io a questo punto volessi tornare nel boot mode, perchè voglio cambiare l'user code nella memoria di programma, come faccio?

Avevo pensato di mettere un pulsante (o un jumper) su un pin, e scrivere all'inizio dell'user code una routine che testa questo pin.

Nel caso di valore basso, la routine va a scrivere nell'ultima locazione della eeprom dati il valore 0xFF e resetta il micro.

Così dopo il reset il bootloader dovrebbe accorgersi di dover eseguire il boot mode.

Ma è proprio così? Qualcuno lo ha già usato e sa aiutarmi.

Voglio dire, avevo già trovato un altro bootloader fatto dalla microchip specificatamente per il pic16f877 che andava a testare un pin per sapere quale dei due modi eseguire.

Ma lo testava il bootloader, non era l'utente a dover scrivere la routine di test all'interno del suo user code.

Non vorrei aver preso fischi per fiaschi, ed essendo alle prime armi può essere molto probabile.

Sto sbagliando qualcosa?

Grazie a tutti quelli che avranno avuto la pazienza di leggere tutto sto messaggio. :rolleyes:

Ciao,

francesco

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...