¿Qué necesito para poner mi código en un microcontrolador?


8

Aprendí a codificar un controlador, pero nunca puse el código en el dispositivo físico. Estoy tratando de averiguar qué necesito para comenzar a desarrollar un sistema embebido básico.

Por ejemplo, si tengo un PIC18F1330, tengo MPLAB IDE y el compilador XC8. Genial, así que tengo el código compilado, y estoy listo para poner esto en el controlador. ¿Qué debo tener para transferir mi código compilado en mi PC al controlador?

He visto cosas como un depurador en circuito y un kit PIC. Estoy perdido en este punto.


Entonces, una vez que tengo un PICkit, ¿me permite conectar físicamente mi PC al microcontrolador?
Adam

Sí, hay un conector en el PICKit, ICD, etc. que conecta a su placa para la programación y depuración en circuito.
Spehro Pefhany

Respuestas:


4

Hay varias formas de actualizar su código a un microcontrolador.

En la web, encontrará bastantes programadores hechos a sí mismos, pero por lo general también tienen software hecho a sí mismo y no están (bien) integrados en el IDE MPLAB.

La solución más barata de Microchip es un PicKit por ~ 40 € que acaba de conectarse a la PC a través de USB. Aunque el PicKit tiene algunas opciones de depuración, también está el ICD 'In Circuit Debugger' más poderoso por ~ 180 €, que tiene más funciones de depuración, pero por supuesto también puede flashear los chips.

Siempre sentí que PicKit es suficiente para mí.

Existen versiones de terceros, ya que el microchip publica firmware y esquemas para PicKit, pero si los compra, asegúrese de obtener realmente lo que piensa. Una vez vi una oferta para PicKit 3, pero no estaba seguro de si no es PicKit 2.


Solo como comentario: hay Microchip MCU, que pueden flashearse. Por ejemplo, utilizamos la familia PIC18F2450 / 2550/4450/4550 con USB incorporado y le pusimos un cargador de arranque. Cuando se cierra un puente, la MCU ingresa al modo de cargador de arranque al inicio, y puede flashear su MCU con su código. Todo eso está disponible en Microchip.

Para usar esto, necesita algunas modificaciones a su código. Y, por supuesto, necesita un programador regular para actualizar inicialmente el cargador de arranque en la MCU. Por lo tanto, esta característica no tiene sentido si tiene un programador. Pero es bueno si quieres actualizaciones de firmware para tus clientes.


12

Dado que está utilizando MPLAB IDE con el compilador XC8 C, puede verificar la compatibilidad desde el menú Configurar-> Seleccionar dispositivo (el indicador verde significa que es totalmente compatible, el amarillo es parcial y el rojo no es compatible).

En este momento, las mejores opciones serían Pickit 3, ICD3 o RealICE (en orden de aumento de precio)

Aquí están los programadores compatibles, depuradores:

Realmente desea tener soporte de depuración, así como soporte de programación.

ingrese la descripción de la imagen aquí

Una vez que los controladores del dispositivo están instalados, puede seleccionarlos y conectarse a ellos (un dispositivo determinado solo se puede instalar como depurador o programador en un momento dado):

ingrese la descripción de la imagen aquí

Luego, cuando se compila el programa (ya sea en forma de depuración o liberación), puede programar el microcontrolador con los botones que se muestran a continuación:

ingrese la descripción de la imagen aquí

Físicamente, el PICkit u otra unidad de depuración / programador tiene un conector que se conecta a su sistema. Hay 6 pines, de los cuales 5 se utilizan, incluidos la alimentación y la tierra.

ingrese la descripción de la imagen aquí


4

Al momento de escribir, hay 3 formas principales de grabar un binario en un microcontrolador. Dependiendo de un micro particular, 3 de ellos pueden estar disponibles. El método más antiguo es el programador / depurador específico del dispositivo. Los actuales para las piezas de Microchip son Pickit3 / ICD3, son compatibles con todos los micros PIC actuales y algunos más antiguos. No puede usarlos para programar piezas hechas por otros fabricantes.

El segundo método se llama gestor de arranque. Es un pequeño programa grabado en el micro antes de que tome posesión de la pieza. El cargador de arranque permite la programación a través de las interfaces estándar de micro: UART, SPI, Ethernet, etc. Los chips ARM a menudo vienen con un cargador de arranque precargado, así como AVR. No necesita equipo de programación patentado si hay un gestor de arranque, pero no podrá realizar la depuración en un solo paso fácilmente.

El tercero se llama JTAG. Es una interfaz semi-genérica, puede programar muchas partes diferentes con ella y también depurar. Necesitará una pieza de equipo llamada dongle JTAG. Algunas piezas PIC tienen JTAG. Los chips ARM generalmente tienen JTAG, y muchos no tienen ninguna otra interfaz de depuración.


3

Receta general:

  1. Escriba su código en un editor de texto usando el idioma que elija
  2. Traduzca ese idioma al código de máquina usando un compilador. El código de máquina es una lista de números hexadecimales: algunos representan una instrucción, el resto son argumentos / parámetros para estas instrucciones. Comúnmente llamado "archivo HEX". Cualquier programa se reduce a esta sucesión de instrucciones elementales + sus parámetros.
  3. Transfiera este código de máquina a la memoria de programa de su dispositivo. Esto se hace usando un programador. El programador se envía con un controlador, que es una pieza de software que controla al programador: dele un archivo HEX, hará el resto. El programador leerá su archivo HEX y moverá las líneas de programación del dispositivo (algo así como un código Morse) de forma codificada para escribir realmente la memoria del programa. Cuando se carga el programa, el dispositivo se reinicia y luego, el dispositivo comienza a ejecutar automáticamente el código al comienzo de la memoria del programa. Ese es tu código. Esto se dice groseramente, pero es más o menos lo que necesita saber por ahora.

Ya casi estás ahí . Tiene el entorno de desarrollo integrado que hace 1 y 2 de una manera muy fácil de usar. Incluso tiene interfaces para programadores para que no tenga que preocuparse por lo que es un archivo HEX (presione "reproducir" y listo).

Sin embargo, aún necesita el programador físico para interconectar su dispositivo con la PC; hay un número para PIC. Pickit es uno de ellos. Si tiene la intención de ponerse serio con la programación integrada, probablemente debería invertir en un depurador en circuito (ICD). Es un programador, y también algo que le permite echar un vistazo a las variables y los registros en el micro, e incluso avanzar y detener un programa a voluntad.


3

Un dispositivo de programación de microcontrolador es lo que necesita. Esa es una pieza de hardware que se conecta a su PC y al microcontrolador, para realizar las funciones necesarias para cargar el programa en el chip. In Circuit Debugger es un dispositivo que tiene más funcionalidad que un programador, como depurar su código mientras se ejecuta en el chip. Puede usar el ICD o el kit PIC para programar el uC. O, si lo desea, puede usar un circuito muy simple como el programador JDM también.

Tenga en cuenta que MPLAB IDE admite el kit PIC y el ICD. Pero si usa un programador JDM, tendrá que usar otro software como PICPgm para cargar su chip compilado.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.