TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: manwenwe en 27 de Diciembre de 2006, 20:06:41

Título: ¿Para qué sirve el Boot Block?
Publicado por: manwenwe en 27 de Diciembre de 2006, 20:06:41
Hola, no se si es una pregunta demasiado genérica pero me gustaría saber para que sirve la región de memoria "boot block" que tienen los PIC18 (se nota que he tratado poco con estos  :?). He intendado buscar por "boot block" en el buscador del foro y solo he encontrado referencias a fuses... Supongo que servirá como bootloader o algo así pero no lo tengo muy claro... ¿alguien puede darme una explicación aunque sea de 2 o  3 lineas?

Gracias y saludos!
Título: Re: ¿Para qué sirve el Boot Block?
Publicado por: psykhon en 27 de Diciembre de 2006, 20:19:58
que te dice el pdf?
Título: Re: ¿Para qué sirve el Boot Block?
Publicado por: manwenwe en 27 de Diciembre de 2006, 20:31:07
Me dice basicamente esto:

Citar
Self-programmability: These devices can write
to their own program memory spaces under internal
software control. By using a bootloader routine
located in the protected Boot Block at the top of
program memory, it becomes possible to create
an application that can update itself in the field.

que es lo mismo que sabía antes, lo que pasa es que no estoy muy familiarizado con lo que es un bootloader, por eso he preguntado... para saber como y cual es su uso... espero no haber molestado a nadie que piense que he posteado por postear, si es así espero que me podais dar un link dentro del foro que explique algo de lo estaba preguntando y pido disculpas de antemano si pregunté algo que no supe buscar....

Saludos!
Título: Re: ¿Para qué sirve el Boot Block?
Publicado por: santiago en 27 de Diciembre de 2006, 22:23:30
Hola a todos,
no estoy muy familiarizado con la serie de los 18 pero lo que mas o menos te puedo decir es que un bootloader es un programita que grabas en el pic y trabaja conjuntamente con una plicación de pc que la puedes buscar en google o directamente en www.microchip.com. la idea es que en tiempo de ejecución, es decir, estando trabajando el microcontrolador tu puedes modificar el programa original (por el puerto serie)que cargaste utilizando un grabador.
Título: Re: ¿Para qué sirve el Boot Block?
Publicado por: psykhon en 28 de Diciembre de 2006, 00:55:39
basicamente un bootloader es un pequeño programa de aprox 100 bytes que se ejecuta cada ves que se reinicia el micro, cuya funcion es recibir un programa desde la pc via el puerto serie y meterlo en la memo del micro cosa de que no tengas que sacarlo o usar un icsp para programarlo, aprovecha la capacidad de algunos pic para reprogramarse a si mismos. En un micro de la linea 16 como los 87x o el 88 este programa ocupa los primeros 4 bytes y el resto en el final de la memoria pero por lo visto los 18 tienen un area especial para cargar el bootloader. Este programa espera unos instantes y si no hay nada para descargar continua con lo que hay programado previamente (no hay que descargarle el prog cada vez que se reinicia)
Yo uso este http://www.microchipc.com/PIC16bootload/ (http://www.microchipc.com/PIC16bootload/) que no se si es peor o mejor que otros pero lo uso hace un tiempo y anda sin problemas. Si tenes mas dudas avisa. slds
Título: Re: ¿Para qué sirve el Boot Block?
Publicado por: maunix en 28 de Diciembre de 2006, 09:09:06
Todos los pics autoprogramables permiten que se haga un bootloader.  Si bien la posibilidad de autograbarse se usa para grabar "datos" en memoria de programa, también se puede hacer para que el pic se autograbe a sí mismo.

Un bootloader como bien te han dicho aquí es un programa que permite autoactualizar al pic al inicio del software, de ahí la palabra "boot" y "loader".  Boot es un término informático que hace referencia al "arranque" del sistema.   "Loader" significa cargar.  Con esto un bottloader es un programa que carga "algo" al arrancar el sistema (que en un pic sería al encenderlo o resetearlo).



Ese bootloader se puede comunicar con el exterior de varias formas, tan bastas como la imaginación de cada uno.  Ejemplo: Usart (el más usado), usb, spi, can bus, psp, uart por software, etc.

La ventaja de los 18F frente a los 16F es que permiten que hagas un bootloader y que por diversas razones la región que ocupa el mismo no sea leída y/o sobreescrita.

La protección de que no sea sobreescrita es para evitar que por accidente el bootloader se autoborre.  Para evitar esto está el

WRTB: Boot Block Write Protection bit

Esto previene que el pic pueda grabarse a sí mismo en ese bloque de código de programa.

Si por otra parte queremos evitar que un tercero nos lea el código de nuestro bootloader, podemos proteger el bootloader (y dejar el resto del pic desprotegido).  De esa forma el usuario puede usar y actualizar su pic pero no leer nuestro código.

Para eso es que está el

CPB: Boot Block Code Protection bit


Saludos
Título: Re: ¿Para qué sirve el Boot Block?
Publicado por: manwenwe en 28 de Diciembre de 2006, 12:27:43
Muchisimas gracias por vuestras respuestas: me ha quedado totalmente claro. Saludos!