Actualizar el firmware de manera remota

Que tal,
soy practicamente nuevo en este foro quisiera compartir opiniones sobre este tema, mi proyecto tiene un pic18f4620 y un modem GSM/GPRS SIMCOM, ya esta funcionando
pero lo que necesito ahora es poder actualizar el fimware de manera remota, esto es enviarlo desde cualquier computadora por medio de internet, la recepcion de los datos ya la tengo pues es una comunicacion serial con el modem, pero mi duda es en donde voy a guardar esos datos, que en realidad es el fimware a actualizar.
estoy utlizando el compilador PBP250(basic). de antemano gracias.
 
Necesitas información acerca del Bootloader para PIC18, que es un pequeño programa que se graba en el PIC, generalmente al inicio o al final de la memoria; este es el encargado del proceso que buscas y el método que más te conviene son los bootloader que usan el módulo USART del PIC puesto que usas un modem.

En la página de microchip hay uno; Bootloader for PIC16 and PIC18 Devices encuentras el bootloader pero creo que deberás de modificar un poco pero igual es posible que el compilador que uses tenga un bootloader.

Ahora creo que hay un problemita, puesto que todos los bootloader trabajan con su propio software y no creo que funcionen remotamente por lo que tendrías que hacer uno propio.

saludos
 
Casi todos los bootloader hacen los mismo, hay un pequeño programa que al encender el pic durante unos cuantos segundos espera una secuencia de arrranque, si no llega arranca el programa normalmente.
basicamente se trata de enviar al pic el fichero en firmware.HEX en formato ascii (miralo con el notepad)
El fichero contiene paquetes de datos
Cada linea tiene la posicion de memoria, numero de datos y un checksum (sun+XOR) para cpntrpñar la validez
Mas una linea de in de fichero

http://es.wikipedia.org/wiki/Intel_HEX

Una vez cargado y verificado salta al programa principal.

Es muy importante el control de la memoria para que NUNCA se sobrescriba el bootloader y la primera posicion de arranque.
 
Atrás
Arriba