las mejores herramientas de desarrollo para pic

10
Las mejores herramientas para empezar a desarrollar con PIC Micros (bootloaders, programadores, gnu tools...) Ing. Francisco J. Zamora N. [email protected] Enlace: ** última versión en línea actualizada disponible en googledocs **: ( https://docs.google.com/document/d/1K_J5ljXkVMCWX7B4hTYMeb_u6JLW3a9fQDkFRJw_x60/ ) Versiones [1, Agosto 2014],[1.1, Octubre 2014][1.2, Diciembre 2014][1.2.1 Enero 2015, 1.2.2. Marzo 112015][1.2.3 Abril 062015][1.2.4 Abril 152015][1.2.6 Octubre 262015] Introducción Este documento tiene por objeto ser la guía definitiva de novatos y expertos sobre el uso de cargadores de arranque (principalmente libres) y diseño de sistemas de desarrollo, para PIC micros, recopilando los mejores que se encuentran disponibles en Internet( para 16F, 18F especialmente, pero también para 24F, 30/33F, PIC32), y también brinda referencias sobre la construcción de programadores/depuradores al estilo "hágalo ud mismo" (DIY, y algunos comerciales), así como los ajustes que se deben hacer en el código fuente del usuario (relocalización de vectores, reubicación de código fuente, scripts y comandos del linker, etc.) cuando se usan bootloaders en PIC micros. No se podían omitir las referencias sobre el uso de Eclipse como IDE alternativo para PICs en lugar de MPLABX o MPLABIDE. Figura 1. Boards CEX, la nueva comunidad latinoamericana para sistemas embedded En particular en este momento (2015III) existe la necesidad de orientar a muchos usuarios de PIC18F sobre la migración "sin dolor" de PIC18F(45)2550 a los nuevos PIC18F(45)25K50. Además se prevé que Microchip continuará desarrollando nuevas MCU bajo la política de CIP (core independent peripherals , en especial para los 16F1XXX pero también en PIC18F) por lo

Upload: others

Post on 14-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Las mejores herramientas de desarrollo para PIC

Las mejores herramientas para empezar a desarrollar con PIC Micros (bootloaders, 

programadores, gnu tools...)  Ing. Francisco J. Zamora N. [email protected] Enlace: **  última versión en línea actualizada disponible en googledocs **: (  https://docs.google.com/document/d/1K_J5ljXkVMCWX7B4hTYMeb_u6JLW3a9fQDkFRJw_x60/  ) Versiones [1, Agosto 2014],[1.1, Octubre 2014][1.2, Diciembre 2014][1.2.1 Enero 2015, 1.2.2. Marzo 11­2015][1.2.3 Abril 06­2015][1.2.4 Abril 15­2015][1.2.6 Octubre 26­2015]   

Introducción 

Este documento tiene por objeto ser la guía definitiva de novatos y expertos sobre el uso de                                 cargadores de arranque (principalmente libres) y diseño de sistemas de desarrollo, para PIC                         micros, recopilando los mejores que se encuentran disponibles en Internet( para 16F, 18F                         especialmente, pero también para 24F, 30/33F, PIC32), y también brinda referencias sobre la                         construcción de programadores/depuradores al estilo "hágalo ud mismo" (DIY, y algunos                     comerciales), así como los ajustes que se deben hacer en el código fuente del usuario                             (relocalización de vectores, reubicación de código fuente, scripts y comandos del linker, etc.)                         cuando se usan bootloaders en PIC micros. No se podían omitir las referencias sobre el uso de                                 Eclipse como IDE alternativo para PICs en lugar de MPLABX o MPLABIDE.  

 Figura 1.  Boards CEX, la nueva  comunidad  latinoamericana para sistemas embedded 

 En particular en este momento (2015­III) existe la necesidad de orientar a muchos usuarios de                             PIC18F sobre la migración "sin dolor" de PIC18F(45)2550 a los nuevos PIC18F(45)25K50.                       Además se prevé que Microchip continuará desarrollando nuevas MCU bajo la política de CIP                           ( core independent peripherals , en especial para los 16F1XXX pero también en PIC18F) por lo                           

Page 2: Las mejores herramientas de desarrollo para PIC

que hoy más que nunca se debe estar atentos a estos cambios y sus tendencias con el fin de                                     no quedar rezagados. Las principales ventajas de estos nuevos (2012) dispositivos K radican                         en que los pueden operar como device USB 2.0 sin oscilador externo, tienen más memoria de                               programa (según referencia) y cuestan casi la mitad que los tradicionales 18F(45)2550. La                         desventaja, no son soportados por compiladores como HiTech PICC18, aunque si por MCC18                         (fin de soporte en 2013) y también por XC8 obviamente, pero aunque Microchip recomienda                           migrar a XC8, el modelo de costo de licencia anual del compilador (más de U$1200) en versión                                 PRO es una gran restricción para los hobbistas y la academia, y el disponer de una versión                                 libre (pero que produce código final hasta 4 veces más lento y 4 veces más extenso) no es un                                     buen incentivo para la adopción de este nuevo compilador (que reúne lo mejor y lo peor de los                                   compiladores de HiTech PICC y Microchip MPLABC ). En esta coyuntura, resulta mejor opción                           tal vez trabajar entonces, por ahora, con versión de evaluación (u otras non sanctas) de                             microchip mplab C18 (MCC18 v3.47 última versión y final). Las principales diferencias entre                         MCC18 y XC8 se pueden apreciar en la nota de aplicación  "migration guide" y en muchos                               sitios como por ejemplo  este blog  .  Nota : aún continúa la discusión sobre la migración de facto a arquitectura ARM de 32 bits (por                                 ejemplo Kinetis de Freescale, NXP, ST, TI, ATMEL) dado que los precios de sus MCU,                             particularmente Cortex M0 y M0+, compiten seriamente con los precios de las MCU de 8 bits                               (que actualmente prácticamente solo ha quedado liderando Microchip) pero los superan de                       lejos en rendimiento y tienen un sin fin de herramientas de desarrollo libres o de muy bajo costo                                   (boards de menos de U$15 dólares). Sin embargo para las MCU de 8 bits, en latinoamérica, la                                 disponibilidad inmediata y variada de partes con encapsulados PDIP, operación a 5V,                       inmunidad a ruido industrial ­ automotriz, robustez ante sobretensiones y corrientes,                     programadores de bajo costo (el más económico de ARM cuesta U$60 y en versión educativa),                             diversidad de arquitecturas y dispositivos que se ajustan a cada aplicación, facilidad de trabajar                           en Assembler (35 instrucciones en gama media PIC16F), lo cual facilita la enseñanza a fondo                             de la arquitectura y periféricos básicos en los primeros cursos, para ingeniería especialmente,                         la enorme cantidad de diseños de referencia, ejemplos de código y comunidades que soportan                           proyectos y diseños, todo ello hace que la inevitable migración a ARM se esté dando a paso                                 lento y tal vez en algunas aplicaciones nunca se de. Pero por otro lado la demanda de                                 desarrollos para el IoT (internet de las cosas) y el IoE (internet de todo) obliga a los                                 diseñadores de sistemas Embebidos a dominar nuevos conocimientos y tecnologías que no                       pueden ser implementadas en 8 bits sin sacrificar velocidad, funcionalidad e interconectividad.                       Se prevé por ende que es pertinente replantear el ecosistema de sistemas digitales incluyendo                           a todos los actores (8, 16, 32, 64 bits, MCU, MPU, DSP, SOIC, FPGA…), así como la                                 tecnología de información y comunicaciones, seguridad, sensores, entendiendo que no todos                     deben conocer todo a fondo, ni demeritar el conocimiento ajeno, pero sí seguramente ser                           expertos en algunas disciplinas y tecnologías de su preferencia, y estar dispuestos a proponer y                             vincularse al desarrollo de proyectos por equipos de trabajo y donde cada quien aporta su                             saber y experiencia a la construcción de sistemas modulares cuya complejidad y diversidad ya                           no se puede manejar individualmente ni mediante una única tecnología. En aras de esa                           especialización propuesta, se debe mirar con cuidado la tecnología y herramientas que se                         

Page 3: Las mejores herramientas de desarrollo para PIC

escogen en todo caso, de manera muy atenta a las noticias del mercado digital, pues empresas                               líderes como Freescale y ATMEL han sido adquiridas por otras (NXP y Dialog) y puede suceder                               o no que los productos, herramientas y servicios en los cuales se basa nuestro conocimiento y                               experiencia desaparezcan total o parcialmente del ecosistema tecnológico impactando nuestra                   competitividad educativa y laboral.  Programadores, depuradores ICSP, bootloaders 

Un programador es un sistema que se encarga de descargar o transferir desde un PC (o                               similar) código de máquina proveniente de compilado o ensamblado (y en ocasiones también                         de depurar o permitir la ejecución controlada y condicional de programa) hacia otro sistema                           destino (target) que contiene un dispositivo programable, como un microcontrolador, siguiendo                     los procedimientos de la especificación de programación para el dispositivo, establecidas por el                         fabricante. Actualmente la mayoría de programadores soportan acceso al sistema final (In                       Circuit System­Serial­ Programming  ICSP) a través de un conector adecuado (y ciertas                       1

consideraciones sobre uso de los pines de programación que deban ser reutilizados dentro de                           la aplicación final), para no tener que remover y reubicar desde su placa final los dispositivos                               programables para su programación o actualización. Los programadores/depuradores               soportan una amplia gama de familias y dispositivos programables de uno o varios fabricantes.                           Su costo depende precisamente de la gama de funciones que ofrezca, de su velocidad, y                             especialmente de su confiabilidad ( destinado a producción o a prototipado).  Cabe aclarar que un mismo programa puede ser transferido a la MCU de dos formas: para                               ejecución (run o versión de “producción”) o para depuración (debugging). La versión de                         depuración contiene, además de la funcionalidad del programa de usuario en modo producción,                         código especial que permite la comunicación del PC y el target para ejecutar funciones como                             breaks o pausas condicionales, consulta de registros del sistema o de usuario, entre otros, y                             por ende, suele ocupar mayor tamaño en memoria FLASH y RAM (el formato además suele ser                               un archivo .COF y no el archivo normal .HEX).  Un cargador de arranque ( bootloader ) es una aplicación (parte en PC, parte en target) que                             transfiere directamente el código de máquina desde PC (o similar) hacia el dispositivo                         programable (target), a través de un puerto (serial) estándar de comunicación (COM, USB, SPI,                           I2C, CAN, ethernet, etc.) sin intermediación de hardware especializado de programación, lo                       cual es posible si el dispositivo programable (target) cuenta con la funcionalidad de modificar su                             propia memoria de programa en tiempo de ejecución (la mayoría de MCU modernas lo                           permiten), ya que la aplicación de bootloader corre directamente desde el target. En este                           sentido el sistema admite sólo la reprogramación de memoria disponible en el target, evitando                           sobre escribir el bootloader. Muchos dispositivos antiguos sólo podían programarse en un                       modo especial que se inducía a través de señales de alto voltaje (pulso de programación Vpp)                               

1 Aunque el conector oficial ICSP tiene una sexta señal (generalmente no utilizada o conectada) conviene no eliminarla, ya que una conexión  al revés incidental en un conector de solo 5 pines podría aplicar la señal de alto voltaje Vpp a uno de los pines de programación del micro, dañándolo irreversiblemente.  

Page 4: Las mejores herramientas de desarrollo para PIC

en terminales especiales, pero no permitían la modificación de su memoria de programa a                           través de instrucciones o procedimientos disponibles en tiempo de ejecución de código.                       Algunos dispositivos más antiguos (comienzos de los 90´s, p.e. PIC16C5X), incluso requerían                       programación paralela (en la MCU, no en el puerto PC, caso programador PICStart Plus ya                             obsoleto). Estos dispositivos en consecuencia no soportan un cargador de arranque y solo                         pueden programarse a través de hardware y software especializado de programación. Algunos                       fabricantes suministran una aplicación bootloader pre­programada en fábrica y en bloques de                       memoria especiales diferentes a la memoria de programa del usuario (boot block). Pero                         frecuentemente el cargador de arranque es suministrado por terceros, ocupa porciones de la                         misma memoria de programa de la aplicación de usuario que ejecutará el target, por lo que                               debe ser lo más compacto y veloz posible, debe poder protegerse a sí mismo contra                             sobreescritura accidental o intencional, y debe grabarse la primera vez en el target por métodos                             convencionales de programación (ICSP), antes de su uso sucesivo para reprogramar la                       aplicación del usuario. La técnica de bootloader es también frecuentemente utilizada para                       actualización (remota) de firmware, además de fines de desarrollo y prototipado.  Actualmente también existen sistemas de desarrollo que poseen la funcionalidad de cargador                       de arranque pero para lenguaje de desarrollo diferente a assembler, C o C++. Estos sistemas                             emplean frecuentemente un conjunto de herramientas de desarrollo encapsuladas en una única                       aplicación ejecutable de PC ( framework , para varios sistemas operativos), y basadas en un                         lenguaje similar a C++. Una de las más populares es Arduino (originalmente para Atmel AVR                             ATmega, basada en  Processing y Wiring por el arquitecto colombiano Uniandino Hernando                       Barragán). Existen también clones del framework de Arduino para otras MCU, como las PIC32                           denominada MPIDE y se implementa en los sistemas chipKIT de Digilent, o versiones para                           PIC16F, como el Pingüino. Para el caso de Texas Instruments es popular el framework                           denominado Energia (para la familia Tiva ARM cortex M4).  A continuación (Tabla 1) se referencian algunos programadores, cargadores de arranque y                       sistemas de desarrollo populares (para aprendizaje y prototipos) que se encuentran                     referenciados en Internet para PIC micros (excluyendo por supuesto las herramientas                     profesionales de costos altos como ICD 3, Real ICE y similares recomendadas por Microchip) y                             al final unas reflexiones sobre lo que debería ofrecer una herramienta “ideal” para aprendizaje y                             desarrollo de aplicaciones para MCUs:  Tabla 1.  Cargadores de arranque, programadores y depuradores populares para PIC micro 

Nombre Diseño  Tipo  Enlace  Comentarios 

CEXduino  Sistema de desarrollo 

PIC18F25K50 con USB bootloader y compatible con 

hardware Arduino 

cex.com.co  Diseñado en Medellín     Colombia por José Daniel       Peña y Francisco Javier       Zamora. Soporte en     comunidad ConEXpertos.   Periféricos: acelerómetro, led     RGB, botones,   

Page 5: Las mejores herramientas de desarrollo para PIC

 

potenciómetro, OpAmp, USB,     ICSP. 

CEXnano  Sistema de desarrollo 

PIC18F25K50 con USB bootloader y compatible con protoboard 

cex.com.co  Similar a CEXduino pero       simplificado: solo RGB, botón       desnudo (pads pcb), USB,       ICSP y conectores para       protoboard. Soportado en     comunidad ConEXpertos. 

CEXpk2  ConEXpertos, Clone PicKit2 simplificado 

cex.com.co 

 

Diseño simplificado no     verifica ni establece control       sobre voltaje en la señal Vpp,           ni alimenta el target con Vdd,           pero posee conector para       hardware complementario   que si realiza ello. Proof of           concept, actualmente se     vende sobre pedido     únicamente. Los PK2 no       pueden programar MCU     recientes, Microchip no da       soporte aunque hay un blog         que indica cómo agregar       nuevos dispositivos no     soportados a la base de         datos del PK2. 

Open Source PIC bootloaders 

Sitio Web con información sobre PIC (opensource) 

OpensourcePIC.org 

Información sobre varios     recursos PIC y mejores       bootloaders seriales, usb,     otros, pic16, 18,24,32. 

Pickit 3 Debug Express 

USB, programmer / debugger. 

Comercial.  Microchip + Demo board  

● Pickit 3  ● Pickit 3­ 

Debug Express 

Sucesor de pickit 2, no tiene           clones ­confiables?!­ aún     (2014), soporta practica­     mente todos los PIC       modernos, incluyendo PIC32.     Es más lento que pickit 2 y             tiene menos funciones     adicionales (p.e. carece de       analizador lógico) pero es la         herramienta de bajo costo       recomendada luego del  ICD       3 . Versión Debug Express       viene con demo board de         18F45K20. 

Pickit 3 clones  Clones de PK3 de Microchip 

● Building a PK 3 clone 

(selfclue ++) 

Self.Clue ++ reporta éxito en         construcción en impreso     “universal” y pruebas     protoboard de PK3 clone       según esquemático y     firmware liberado por     

Page 6: Las mejores herramientas de desarrollo para PIC

● Olimex PK3 clone 

(comercial) ● PK3 clone 

chino comercial 

Microchip. Reconocible por     scripting tool y mplabX. Usa         eeprom spi. La versión de         Olimex tiene un precio       adecuado (alrededor de     U$30) y algunos plus, pero         envían desde UK. El PK3         clone chino indicado vale       menos de U$21 dolares       puesto en Colombia, pero       eso sí, recuerde que el envío           puede tardar más de 2         meses. 

USB open programmer  

programador USB HID para PIC y AVR, 

abierto GNU2. V 0.9 

Open Programmer 

Proyecto desde 2007 hasta       presente, código fuente     propio para firmware HID       (18F2550) y PC disponible,       Windows y Linux, GUI y         Consola. Esquemáticos,   tarjetas de expansión según       familias MCU y Vdd de         dispositivos. Autor Alberto     Maccioni brinda soporte por       email. Interesado en apoyar       migración a 18F25K50. 

USB bootloader para PIC18F25K50 

bootloader C18 USB para dispositivos K. 

Foro. 

USB bootloader 18F25K50 

Bootloader para nuevos     dispositivos K, C18, proyecto       para mplabX basado en       Microchip Application Library     (MAL). Blog de Raul de         Pablo. 

USB bootloader PIC18F24K50 

Bootloader en ASM, menos 2K tamaño. 

(Versión cex.com.co basada en éste) 

Bootloader 18F24K50 

Inspirado en desarrollo de       SAKA, japonés, para el       JAKADAPTER. Compatible   microchip HID bootloader. 

Clone Pickit 2  USB programmer /debugger/PIC18Dev

Tool 

● PK2 el mejor? ● junebug 

● pickit 2 clone < U$ 5.00 (India)  

● PK2 clone 3.3V & 5.0V 

● PK2 3.3V compatible AVRdude (Polonia) 

● Connectable UK 

El primer enlace es tal vez el             mejor PK2 clone 3.3 y 5.0 V             hasta el momento (circuit       valley) Su foro tiene soporte         actualizado hasta la fecha       (2014). Junebug es otro de         los mejores clones de pickit 2           que incluye entrenador de       PIC18F1320 además (pero     blueroom electronics ya no       existe desde hace varios       años). Puede ser     manipulado el diseño para       ajustarse a diferentes     necesidades: agregar   socket ZIF y jumpers,       módulos de expansión, etc.       Es la base de la mayoría de             programadores caseros que     se consiguen en     mercadolibre.com.co y en la       “novena”. Lamentablemente   

Page 7: Las mejores herramientas de desarrollo para PIC

el PICKIT 2 no es soportado           plenamente por MPLABX,     solo por el anterior MPLAB         IDE 8.X (descontinuado en       2013) y no soporta todos los           PIC32.. Es posible ampliar       lista de dispositivos     soportados con editor     especial externo (algo     complejo). Es posible reducir       componentes al mínimo     (menos de U$5.00). El PK2         cuenta con una aplicación       propia para windows que le         permite funcionar como     analizador lógico de 4       canales y terminal serial.       Tambien puede programar     PICs sin conectarse a PC         (standalone programmer) si     se instalan memorias eeprom       i2c. El clone de Connectable         en UK brinda un esquemático         muy limpio pensando en       posibles actualizaciones de     MCU a las nuevas partes         18F25K50 de microchip. 

PICkit 2 Microchip PC and MCU source 

code 

Source code C18 and CPP  for PC 

(2005) 

● PK2 Microchip 

codigo fuente liberado (V1) 

● Portar código a 18F25K50 

● PICDEM FS USB 

bootloader portado a 18F25K50 

● Bootloader ASM 

18F25K50 ● Bootloaders 

PIC relacionados 

mikroC ● Bootloader 

18F25K50 para Pingüino 

Grupo de Google con enlace         a código fuente mencionado       (Versiones iniciales de 2005).       Requiere C18 (MCU) y para         versión en PC (PK2 app)         reportan que funciona con       compilador Borland C++ que       puede conseguirse sin costo.       Foros con información sobre       portar código a dispositivos       K. Bootloader en assembler.       Bootloaders para varios PIC       relacionados con mikroC y       C18. Bootloader K50 para       Pingüino. 

Microchip Microstick II 

programador, depurador propio, 

DevTool para ciertos PIC24, dsPIC y 

PIC32MX (PDIP 28) 

microstick II  Excelente herramienta y     costo (U$ 35) para estas         gamas de MCU y DSC. Solo           falta soporte para PIC18 y         factor de forma Arduino y         sería la herramienta perfecta       

Page 8: Las mejores herramientas de desarrollo para PIC

para aprendizaje de toda la         gama de PIC Micros! Solo         programa y depura los chips         mencionados que se     coloquen en el zócalo DIP28. 

ChipKIT de Digilent  Bootloader para PIC32, framework MPIDE compatible 

con Arduino 

ChipKIT.ne t  Framework tipo Arduino     implementado sobre   arquitectura PIC32MX y MZ..       Diferentes placas base, con       shield arduino, y funciones       ajustadas a varios perfiles de         aplicaciones (basico, internet,     industrial, etc). Requiere     hardware programador   adicional para desarrollar     desde MPLAB IDE o       MPLABX. 

Micromite  bootloader y MS BASIC interprete 

para PIC32MX (28 y 44 pines) 

Micromite II  bootloader USB + firmware         BASIC que se puede trabajar         desde una consola serial y         aplicación de PC para       programar. Implementa   todos los protocolos seriales.       FW disponible gratis. PIC32       debe ser programado por       PK3 preferiblemente, o     similar. 

Bootloader dual diseñado por 

Francisco Zamora y estudiantes (OFL 

1.0) 

Bootloader PIC, USB/Serial (18F y 

16F) 

● Fotos ● Esquema ● Manual 

Usuario 

Una placa que soporta       bootloader serial (como Tiny       PIC) o USB (como Microchip         HID o Diolan). Permite       conectar alimentación   externa y la regula, o se           alimenta por USB. Posee       conversor TTL/RS232   discreto con transistores.     Configurable con Jumpers,     posee buzzer, leds, botones,       potenciómetro, socket I2C,     oscilador configurable,   soporta MCUs con PDIP 40 y           PDIP 28. 

Tiny PIC bootloade r  Bootloader Serial (PIC16F,18F y tal vez otros).  El más pequeño y ágil en 

flash:  100 instrucciones! 

Claudiu Chiculita, Rumania 

Para PIC16F, 18F, dsPIC,       PIC24 (ver lista     compatibilidad). Solo 100     instruc­ ciones parte alta de         memoria. El más pequeño, el         más rápido. En ASM. El         único defecto: requiere     conversión USB/Serial y     alimentacion externa, pero     dado que las prácticas de         laboratorio también lo     requieren, no sería problema. 

Diolan PIC18 USB bootloader (comercial) 

Bootloader USB­HID  ● Diolan ● Comentarios 

sobre Diolan Bootloader 

Gratis, enumeración HID,     código disponible en ASM,       Esquemático no disponible     (intuitivo). Producto versión     comercial, encripta firmware     

Page 9: Las mejores herramientas de desarrollo para PIC

opcional pero, key debe       comprarse (p.ej. para brindar       FW de actualización a cliente         y que éste no lo pueda           reproducir). Ocupa menos     2KB de memoria baja de PIC.           Utiliza Enhanced Instruction     Set (EIS) de PIC18, no         soportado por mayoría     compiladores C para PIC. 

Diolan plus 2 bootloader GitHub 

Bootloader USB PIC18F 

Diolan plus 2 GNU 

Código ASM abierto     disponible, basado en     instrucciones convencionales   PIC18F (no utiliza EIS),       funcionalidad de encripción     de FW. Menos de 2KB en           boot sector de FLASH.       Utiliza Bootloader HID de       Microchip en lado PC. 

  USB­HID  USB IR Toy  Modificación, basada en     Diolan Bootloader, para     escanear y reproducir     señales infrarrojas en     controles remotos.   Esquemático disponible. 

  USB­HID (revisiones)  ● Otra versión Diolan  

● Rado´s Web Page 

● Erricous Web 

Otras versiones basadas en       Diolan Bootloader.   Esquemáticos disponibles   aunque probablemente no     sean originales (primer link). 

Microchip PIC 18 USB bootloader 

Bootloader USB­HID, modo bootloader: 

_RB4_ 

● MCPUSB ● MCHP USB 

bootloader ● Compiling 

for a bootloader with MCC18 

Libre, por Microchip. Código       fuente en MPLAB C18.       Aplicación en PC para       PICDEM 2. Uso no es trivial,           requiere manipulación de     archivos HEX antes de       cargar en MCU vía USB.         Microchip USB framework     2.7. Se indica también cómo         compilar código para     bootloader HID en MPLAB       con MPCC18. 

Microcontroller and PLD projects 

18F CDC bootloader  PIC18F2550 CDC assembly bootloader 

Versión no depurada.     Requiere USB ID. Basado       en microchip. Ocupa Menos       de 2K flash. Genera puerto         serial virtual en PC para         comunicación UART sin usar       pines reales en MCU. 

PICKit 2 Clone AU Group Electronics 

(comercial) 

UnderstandingPK2 hardware 

PK2 AU Group Electronics­Blog 

PK2 clone mejorado con       hardware buck converter     para estabilizar voltajes Vdd       y Vpp a partir de Vusb de             mínimo 3 V. No es diseño           abierto, es un producto       comercial. Documentan el     

Page 10: Las mejores herramientas de desarrollo para PIC

hecho de que los 18FxxKxx         tienen especificaciones de     Vpp sensibles (máximo igual       a Vdd para 3.3V o a 8.5V             para Vdd = 5V, que deben           limitarse para no destruir       dispositivo durante   programación). 

  USB­HID, MCHP USB framework 2.7 

picprojects.net   Basado en Microchip USB       Framework 2.7, como el       anterior, pero detalla por       menores y ajustes requeridos       y brinda app de PC opcional           menos complicada. 

Pololu P­ Star 25K50 (comercial) 

Bootloader USB, PC app en GitHub. Modo bootloader: 

_RB5_ 

P­Star 25K50  Aplicación bootloader PC     libre, GitHub, para Windows,       Mac y Linux, pero firmware         propietario, solo disponible al       adquirir dispositivo. Muy     pequeño en tamaño (1       pulgada). Inspiración para     CEXnano. 

Breeze B  Dizzy Enterprises, sist. desarrollo tipo 

arduino PIC18F25J50 

Breeze B  Compatible con expansiones     Arduino y mikroBus (click).       Socket SD. Bootloader USB       2.0 con código fuente y         esquemáticos. 

Pingüino  USB/bootloader/ Arduino Framework 

PIC 18 

tiny 2550  Este bootloader implementa     el framework de Arduino, es         decir, no permite crear código         en ASSEMBLER o C       tradicionales, solo en     lenguaje de Arduino. 

Programador tipo JDM 

(obsoleto) 

Serial, reconocido por software 

WinPIC800, IC Prog y similares. 

(PIC10,12,16, 18 y otros­  No funciona con convertidores USB/Serial, solo COM originales de 

PC o Laptop) 

● JDM2 programmer (business card) 

● Programador Serial tipo 

JDM 

Es un diseño antiguo, pero         de muy fácil construcción,       que generalmente solo     funciona bien en puertos       COM de PC y falla         frecuentemente con   convertidores USB/SERIAL   en portátiles (debido a       insuficiente nivel de tensión       Vpp). Escaso soporte para       nuevos PIC micro. Existen       versiones más modernas     USB, pero el firmware para         PIC18F2550 del programador     no es gratis. Preferible un         clon tipo pickit 2. 

USB/Serial IO board  Convertidor USB/Serial en C# con PIC18F2550 

USB IO board  Detectado como puerto COM       al conectar 18F2550 a USB.         Controla pines IO del micro         mediante comandos seriales.     Firmware y Código C#       disponibles.