En mi opinión, para un microcontrolador común (por ejemplo, AVR, PIC), generalmente hay dos métodos de programación de su memoria flash.
- Utilizando un programador: Programación en serie en circuito (¿o alguna variante?)
- Alguna forma de un gestor de arranque, con el que se comunica un dispositivo externo, permitiendo en última instancia que el microcontrolador emita su propia memoria.
Ciertamente, debe haber una muy buena razón para usar un gestor de arranque, de lo contrario, su uso generalizado actual sería muy extraño. Parece que aún no lo he comprendido completamente.
¿Es que un programador es caro? Pero luego, hay arduinos (microcontrolador ATmega) que pueden funcionar como programadores . ¿El costo de un IC adicional es suficiente para garantizar el uso de un cargador de arranque? Si no me equivoco, los Arduinos más recientes se deshacen completamente del chip FTDI y lo reemplazan con un procesador ATmega que hace que el USB se conecte en serie. ¿Seguramente sería posible integrar la función del programador en este IC, por ejemplo?
O tomemos por ejemplo, el microcontrolador PIC. Hay algo que he visto llamado programador JDM . Si algo como esto, prácticamente sin componentes activos, puede programar un PIC entonces,
- ¿Por qué usar un gestor de arranque?
- ¿Cuál es el propósito del PICkit relativamente mucho más complejo (aparte de la robustez)? ¿Capacidad de depuración?