Necesito informacion para crear un bootloader

#1
Buenasss.

Mirad, tengo la siguiente duda. Un bootlaoder se encarga, normalmente, de cargar un archivo .hex en la memoria del PIC. Ahora bien, si abrimos un archivo .hex con el bloc de notas y comparamos el mismo archivo con el correspondiente una vez cargado en la memoria del PIC, podemos observar que ciertas lineas del bloc de notas se transformadorrman en las direcciones de memoria y que los datos están invertidos y estos poseen un "fin de instrucción"

Simplemente lo que quiero saber es: El programa para cargar el .hex que usa el bootloader es el que decodifica las direcciones y los finales de instrucción? o lo hace el propio bootloader?

En la primera opción el programa para cargar el .hex decodificaría los datos y los cargaría en la memoria atrevas del bootloader.

En la segunda opción el programa de carga se limitaría a enviar todo el .hex y el bootloader se encargaría del direccionamiento de memoria.

Me gustaría que me dijesen de qué forma trabaja el bootloader, dado que estoy trabajando en uno.

Un saludo y muchas gracias de antemano, cualquier opinión o teoría que digan será bienvenida y tenida en cuenta para solventar el problema.

Gracias otra vez.
 

Adjuntos

#3
Bueno... de echo estaba en programacion, pero como es un bootloader crei que era mas adecuado moverlo a microcontroladores ya que funciona dentro de uno y es dependiente del tipo de microcontrolador que uses...
 
#4
Que alguien que tenga el compilador CSS abra el archivo "ex_usb_bootloader.c" que esta en los ejemplos y me confirme que este bootloader se encarga de los redireccionamientos. Lo digo porque me lo estoy mirando y pienso basar mi bootloader en este código, con bastantes cambios.
 
#5
Hola a lo mejor llego un poco tarde y ya has solucionado tu problema. Mira el que se encarga de decodificar el .hex es el programa con el que lo trasfieres al pic(hay uno en la pagina de microchip). El bootloader lo unico que hace es detectar que le estan llegando datos por la usart e ir guardandolos en la memoria de programa.

Si sigues con tu proyecto a ver si nos ponemos en contacto porque yo tengo qe desarrollar algo parecido y podriamos ayudarnos.

Un saludo

Lo que yo estoy desarrollando es un automata basado en un pic 16f877 y la idea que tengo es hacer un bootloader para asi una vez grabado en el pic, poder instroducirle el programa de usuario por usb usando un conversor Usb->RS232.(sin usar ningun hardware grabador).
Si alguien tiene informacion de esto le agradeceria que me la facilitara.
Gracias
 
Última edición:
Arriba