¿Todos los PIC necesitan un gestor de arranque?

1

¿Cada chip PIC necesita un cargador de arranque como los chips Arduino?

    
pregunta user40327

3 respuestas

5

Como han dicho otros, no necesita un gestor de arranque para los microcontroladores PIC (y la mayoría de otras compañías, de hecho, no conozco ningún microcontrolador que lo requiera).

Sin embargo, una razón para tener una es permitir que el firmware se actualice sin necesidad de conectar un programador como el ICD3 o un REALICE. (Algunos productos están diseñados con encabezados que permiten que un programador se conecte después de colocar el producto en un estuche, pero la mayoría no lo está).

He utilizado dos formas diferentes de actualizar el firmware sin un programador de hardware. Ambos requieren que los cargadores de arranque estén guardados en la memoria del programa, generalmente al principio o al final del área de la memoria del programa. Idealmente, una vez que el cargador de arranque se actualice, entonces esta parte de la memoria puede estar protegida contra escritura, por lo que un programa de aplicación errante no puede borrar el cargador de arranque.

Una forma de actualizar el firmware es proporcionar la aplicación en una tarjeta SD y tener una ranura en el producto que permita acceder a esta. Cada vez que se inicia el microcontrolador, verifica si la aplicación en la tarjeta SD es diferente de la de flash, y si es así, actualícela. (No es recomendable descargar y actualizar el programa a ciegas cada vez, ya que flash tiene un número limitado de ciclos de borrado). Esto requiere que el gestor de arranque tenga el código necesario para acceder a la tarjeta SD (que probablemente tendrá un FAT16 o FAT 32). sistema de archivos en él.)

Otra forma de actualizar el firmware es FOTA: firmware por aire. En este caso, el firmware se descarga a través de alguna conexión inalámbrica, como un módem de celda, bluetooth o Wi-Fi. Luego se guarda en la memoria del programa.

Una variación es combinar los dos, mientras que el nuevo programa se descarga y se escribe en una tarjeta SD, ya que puede que no sea práctico actualizar el programa mientras se está descargando. Tenga en cuenta que, en este caso, el cargador de arranque no necesita tener ninguno de los códigos para acceder a la red inalámbrica, ya que el programa de aplicación puede descargar el código y escribirlo en la tarjeta SD antes de cambiar al cargador de arranque.

El PIC32 es particularmente adecuado para tener un gestor de arranque, ya que tiene un segmento de memoria de 12 KB específicamente reservado para este propósito.

    
respondido por el tcrosley
4

Primero, no hay chips Arduino, solo chips AVR de Atmel. En segundo lugar, el gestor de arranque Arduino existe para permitir al usuario novato desarrollar sin experiencia o herramientas profesionales. Los chips Atmel por sí solos no requieren ningún tipo de cargador de arranque, ni tampoco los chips PIC.

Los cargadores de arranque existen para facilitar la actualización del firmware en el campo, sin el uso de un programador. Esto no es de ninguna manera un requisito de diseño. Si el producto en desarrollo no tiene conectividad de PC, agregar un cargador de arranque incurrirá en un costo inútil. Piense en todos los dispositivos electrónicos en su hogar que no se conectan a una computadora, como hornos de microondas y relojes de alarma. Le apostaré a que estos dispositivos utilizan algún tipo de microcontrolador y no tienen cargadores de arranque.

    
respondido por el Matt Young
2

Si compra el adaptador de programación (PICkit o ICD), puede programar el chip directamente. Después de todo, así es como se pone inicialmente un cargador de arranque. Utiliza 5 cables para la conexión.

Un cargador de arranque le brinda la comodidad de programarlo de forma remota y elimina la necesidad de tener el ICD presente. Pero tener el ICD para fines de depuración es muy útil.

    
respondido por el gbarry

Lea otras preguntas en las etiquetas