El desarrollo de aplicaciones para sistemas integrados generalmente se realiza en una computadora de escritorio, utilizando un lenguaje de alto nivel como C o lenguaje ensamblador. Después de que el binario ejecutable haya sido creado por las herramientas de desarrollo cruzado, este binario debe cargarse en el tablero de destino.
Hay tres formas de programar un microcontrolador.
- Programador de dispositivos: estos son dispositivos de propósito especial que vienen con una ranura para insertar el chip. Los programadores de dispositivos están conectados a la computadora a través del puerto paralelo o puertos USB. Se proporciona un software a través del cual seleccionamos el archivo hexadecimal o bin para programar en el controlador. Para programar un controlador, uno tiene que insertar el chip en la ranura provista y programar el controlador. El chip debe retirarse del programador e insertarse en la placa de destino para probar el firmware.
Por ejemplo: programador All-100 - Programador en el sistema: se utiliza para programar el controlador sin quitarlo de la PCB. Generalmente, los ISP se alimentan de la placa de destino. Los ISP están conectados a la computadora y se proporciona un software especial para los dispositivos ISP. Se proporciona un conector en la placa de destino para la programación en el sistema. Después de conectar el ISP a la placa de destino, el archivo de destino se programa en el controlador.
Por ejemplo: AVR ISP, JTAG - Firmware de carga de arranque: los microcontroladores de nueva generación vienen con una función de programación automática que elimina la necesidad de dispositivos de hardware especiales. BootLoader es un pequeño programa de software que se graba en una memoria flash alta para ser el principal medio para grabar el código de usuario en el restablecimiento de la memoria flash.
Por ejemplo: Arduino, STM32
- Soy un estudiante de ingeniería mecánica que recientemente ha desarrollado un interés en el Internet de las cosas (IoT). ¿Cómo debo proceder? ¿Dónde debería aprender C incrustado, dado que ya he terminado con la introducción C? ¿Qué más debería estar en mi lista de tareas para estar en el campo IoT cuando se trata de tener un trabajo?
- Estoy a dos años de graduarme de la escuela de ingeniería y creo que he perdido mucho tiempo concentrándome en aprobar los exámenes en lugar de aprender los materiales. ¿Cómo puedo convertirme en un buen ingeniero de sistemas integrados en dos años?
- Cómo construir mi propio microcontrolador (placas Arduino)
- ¿Cómo debo comenzar con la programación del microcontrolador 8051? ¿Alguien puede dirigirme a programas 8051 simples?
- ¿Rust o Go comenzarán a usarse en dispositivos integrados e IoT en lugar de C?