Self programming

Tutti i firmware dei dispositivi incorporano una routine di auto-programmazione. Non si tratta del cosidetto "bootloader" ma di un software che consente al dispositivo di ricevere una nuova versione del proprio firmware tramite rete can - inviato da un apposito software di comunicazione installato sul PC e tramitato dal dispositivo CAN132 (web server); se però la vostra nuova versione dovesse bloccarsi o andare in loop non sarebbe più in grado di far ripartire una auto-riprogrammazione. In tal caso non resta che usare la porta ICSP e riprogrammarlo con pickit3.

Fa eccezione CAN132 che prevede un vero bootloader e può essere riprogrammato con il software Microchip.

Il modulo di auto-programmazione va incluso nel progetto di ciascun firmware, richiede delle specifiche direttive di link (vedi sotto) per poter essere allocato in una specifica area di memoria protetta.

Sorgenti

CANREPRO_B.ASM  routine di auto-programmazione

18F26K80_B.LKR direttive di link 

SOFTWARE pc di comunicazione con i dispositivi can-network attraverso CAN132