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.
microcontroller
pic
compiler
Adán
fuente
fuente
Respuestas:
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.
fuente
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.
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):
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:
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.
fuente
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.
fuente
Receta general:
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.
fuente
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.
fuente