La programación en circuito ( ing. programación en sistema , abreviatura ISP , también programación en serie en circuito, ICSP ) es una tecnología para programar componentes electrónicos ( FPGA , microcontroladores , etc.) que le permite programar un componente ya instalado en el dispositivo. Antes de la llegada de esta tecnología, los componentes se programaban antes de instalarlos en el dispositivo, lo que requería que se retiraran del dispositivo para reprogramarlos.
La principal ventaja de la tecnología es la capacidad de combinar el proceso de programación y prueba durante la producción, eliminando una fase separada de programación de componentes antes del ensamblaje final. La tecnología también permite a los fabricantes de dispositivos prescindir de la compra de componentes preprogramados al realizar la programación correctamente en el proceso de producción. Esto le permite reducir el costo de producción y realizar cambios en la parte programable del dispositivo sin detener la producción.
Los chips con capacidad de programación en circuito suelen tener un circuito especial que genera los voltajes necesarios para la programación a partir de un voltaje de suministro normal, así como un circuito para comunicarse con el programador a través de una interfaz serial (la mayoría de los chips usan variaciones del protocolo JTAG ). La programación a través de la interfaz ISP se realiza a través de cinco líneas de comunicación: MOSI, MISO, SCK , RESET y GND .
Hay dos métodos principales de ISP:
La ventaja del cargador de arranque es que es posible programar el MK a través de cualquier interfaz que tenga con cualquier protocolo conveniente (incluso encriptado, si el cargador de arranque se hace cargo del descifrado). El cargador de arranque también es útil cuando se actualiza el firmware de MK de forma remota. La desventaja es que parte de la ROM no está disponible para alojar el programa principal.
Después de que el cargador de arranque haya escrito el firmware en la memoria del microcontrolador, inicia el programa de aplicación o espera algún comando del programa de control en la computadora, depende de la implementación del cargador de arranque específico.
El mismo gestor de arranque también puede actualizar el firmware del microcontrolador, mientras que no se sobrescribe [1] (aunque tal posibilidad existe).
Microcontroladores | ||||||||
---|---|---|---|---|---|---|---|---|
Arquitectura |
| |||||||
Fabricantes |
| |||||||
Componentes | ||||||||
Periferia | ||||||||
Interfaces | ||||||||
sistema operativo | ||||||||
Programación |
|