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

8

Aprendí cómo codificar un controlador, pero nunca puse el código en el dispositivo físico. Estoy intentando averiguar qué debo ordenar para comenzar a desarrollar un sistema integrado básico.

Por ejemplo, si tengo un PIC18F1330, tengo el IDE MPLAB y el compilador XC8. Genial, tengo el código compilado y estoy listo para poner esto en el controlador. ¿Qué necesito para tener que 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.

    
pregunta Adam

5 respuestas

4

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

En la web, encontrará muchos programadores de creación propia, pero generalmente también tienen software de creación propia y no están (bien) integrados en el IDE de MPLAB.

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

Siempre sentí que el PicKit es suficiente para mí.

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

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

Para usar esto, necesitas algunas modificaciones a tu 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.

    
respondido por el sweber
12

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

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, los depuradores:

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

Unavezquesehayaninstaladoloscontroladoresdedispositivo,puedeseleccionarlosyconectarseaellos(undispositivodeterminadosolosepuedeinstalarcomoundepuradoroprogramadorenunmomentodado):

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

Físicamente,elPICkituotraunidaddeprogramación/depuracióntieneunconectorqueseconectaasusistema.Hay6pines,deloscuales5seutilizan,incluidalapotenciaytierra.

    
respondido por el Spehro Pefhany
4

Al momento de escribir, hay 3 formas principales de grabar un binario en un microcontrolador. Dependiendo de un micro en 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 utilizarlos para programar piezas fabricadas por otros fabricantes.

El segundo método se llama un gestor de arranque. Es un pequeño programa grabado en el micro antes de que usted tome posesión de la pieza. El cargador de arranque permite la programación a través de la interfaz estándar de micro [s]: UART, SPI, Ethernet, etc. Los chips ARM a menudo vienen con un cargador de arranque precargado, así como AVR. No necesita un equipo de programación propietario si hay un gestor de arranque, pero no podrá realizar la depuración de 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 partes de PIC tienen JTAG. Los chips ARM normalmente tienen JTAG y muchos no tienen ninguna otra interfaz de depuración.

    
respondido por el Oleg Mazurov
3

Receta general:

  1. Escriba su código en un editor de texto usando el idioma de su elección
  2. Convierta ese idioma en 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 un "archivo HEX". Cualquier parte del programa se reduce a esta sucesión de instrucciones elementales + sus parámetros.
  3. Transfiera este código de máquina a la memoria del programa de su dispositivo. Esto se hace utilizando un programador. El programador se envía con un controlador, que es una pieza de software que controla al programador: dale un archivo HEX y se encargará del resto. El programador leerá su archivo HEX y moverá las líneas de programación del dispositivo (algo así como el código Morse) de forma codificada para escribir realmente la memoria del programa. Cuando se carga el programa, el dispositivo se reinicia y, a continuación, el dispositivo inicia automáticamente la ejecución del 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 necesitas saber por ahora.

Ya casi llegas . Usted tiene el entorno de desarrollo integrado que hace 1 y 2 de una manera muy fácil de usar. Incluso tiene interfaces para los programadores para que no tenga que preocuparse por lo que es un archivo HEX (presione "jugar" y listo).

Sin embargo, aún necesita que el programador físico conecte su dispositivo a la PC: hay un número para los PIC. Pickit es uno de ellos. Si tiene la intención de ser serio con la programación incorporada, probablemente debería invertir en un depurador de 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.

    
respondido por el Mister Mystère
3

Un dispositivo de programación de microcontroladores 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. En el circuito, el depurador es un dispositivo que tiene más funcionalidad que un programador, como la depuración de su código mientras se ejecuta en el chip. Puede usar el ICD o el PIC Kit 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 es compatible con PIC Kit y ICD. Pero si usa un programador JDM, tendrá que usar otro software como PICPgm para cargar su chip compilado.

    
respondido por el chamod

Lea otras preguntas en las etiquetas

Comentarios Recientes

Una placa de inicio ATmega168F (se vende en paquetes de 8 para tener un equivalente similar) Una amiga (siéntase cómodo preguntándole si lo buscará) Si su Microcontrolador es perfectamente capaz de ejecutar 100 % de sus circuitos, aproximadamente el 85% se puede vincular al servicio en el servo y los amplificadores de audio, y el 85% se carga en su servo de nivel de audio. El primer ejemplo que tendría que modificar depende de hacia qué se orienta su sistema. En términos de radios, el MFXX3000 tiene chips de... Lees verder