Bootloader

immagine2.gif

Non sopportavo più il bootloader caricato sul PIC del Mark III: occupa 2KB di preziosissima memoria programma, ha un'attesa di 5 secondi per il downloader, durante i quali i motori girano a pieno regime. I motori girano anche durante la fase di programmazione.

Avendo usato sempre il download in seriale non mi sono mai preoccupato del programmatore. Per sostituire il bootloader però... mi serve.
Tra gli inumerevoli schemi pubblicati su carta o su Internet, ho scelto quello di Nuova Elettronica, da un numero recente della rivista. Non riporto lo schema e non entro nelle polemiche di chi lo ha inventato e di chi ha copiato.
Io ho solo rifatto la parte di alimentazione (veramente oscena quella di NE) usando un regolatore a 15V (uA7815) con due diodi in serie per ottenere 13,8V. In ingresso ho bisogno di almeno 20V (15 + 0,7 del diodo di protezione + 3,5 di dropout del regolatore). Da questi, in cascata, ottengo la 5V con un altro regolatore. Partendo da 13,8V la potenza dissipata è più bassa e quindi va bene anche un 7805ls.
Ho usato uno spezzone di basetta millefori, ottimizzando bene gli spazi (i componenti sono montati anche sotto gli integrati e uno dei led nel foro del 7815) c'è rimasto spazio anche per ulteriori zoccoli
Niente di particolare, posso solamente dire che ha funzionato al primo colpo e non mi ha mai dato problemi.

Ora il programma di bootload: penso di aver provato tutti quelli disponibili in Internet.
Inizialmente avevo scelto questo:
http://www.sparkfun.com/tutorial/Bloader/bloader-1-main.htm
mi piaceva molto, a livello teorico, il fatto di demandare il grosso del lavoro al PC, alleggerendo tantissimo il codice da inserire nel PIC ma non sono riuscito a farlo funzionare con il PICC (mia ignoranza). Gli ho anche scritto ma non mi hanno risposto, loro trattano solo di CCS-C. Se lo usate anche voi fateci un pensierino.

Sto usando invece:
http://www.microchipc.com/PIC16bootload/index.htm
o anche dal sito dell'autore dell'ultima modifica.
http://www.htl-steyr.ac.at/~huep/bootldra.htm

Un po' più spartano, però funziona molto bene e sono riuscito anche a modificare il sorgente per adattarlo alle mie specifiche esigenze.

Durante le mie ricerche ad agosto lo avevo escluso perché non gestiva correttamente la serie 16fxxA. A settembre è uscita una nuova versione che risolve il problema della scrittura degli HEX a multipli di 4 byte, anche se ora supera i 256 byte di flash occupata.
La pagina del sito non è molto chiara in proposito ma leggendo i forum e i file di version h
istory si capisce qualcosa.

Se qualcuno ne vuole provare altri (ma ne vale la pena?):
http://www.voti.nl/wloader/index_1.html
http://www.seanet.com/~karllunt/picload.htm
http://www.microchipc.com/PIC16bootload/16F87xA/
http://www.thebytefactory.com/
http://www.ac.ugal.ro/staff/ckiku/software/picbootloader.htm
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011788
http://www.htsoft.com/forum/all/showflat.php?Cat=&Number=12362&page=0&view=collapsed&sb=5&o=&fpart=1

Questo invece è l'originale del MarkIII che ho tolto perché occupava troppa
memoria:
http://www.dontronics.com/rfarmer.html
aggiornato il 24 - 3 - 2005