Esta página trata sobre herramientas para pic en hardware y software tanto para windows como para linux. Aquí podrás encontrar una gran diversidad de programas gratuitos y de ayuda para la programación, compilación y simulación de microcontroladores PIC. Hemos profundizado especialmente en el apartado de linux, ya que actualmente, y cada día mas, se le da mas importancia a este sistema operativo. La información que podréis encontrar en esta pagina, es el fruto de la recopilación de múltiples páginas webs y libros relacionados. PROGRAMADORES − Qué es un programador − Características generales de los programadores − Programador universal SCM MP−UNIV − Presentación de distintos modelos DEFINICIÓN Un programador es una herramienta hardware que traduce información de un determinado lenguaje (hex, ASCII,?) en información que pueda interpretar el microcontrolador para el funcionamiento correcto de la placa que utilicemos. CARACTERÍSTICAS GENERALES − Pueden programar distintos tipos de memorias y microcontroladores − Conexión serie o paralela según modelos − Fácilmente actualizables − Permiten testear circuitos integrados PROGRAMADOR UNIVERSAL SCM MP−UNIV Programador universal expansible por software − Soporta una amplia familia de dispositivos programables − Función de testeo de circuitos integrados digitales − Convertible en un emulador de ROM mediante un opcional soportando memorias de hasta 4Mb ADVANTECH LAB TOOL −48 − Programador universal con zócalo ZIF de 48 pines DIP − Conectado a PC por puerto paralelo − Software para Windows 95/98/2000/NT − Fácilmente actualizable mediante Internet − Gran rapidez de programación (utilizando memoria flash de 8Mb) − La programación se inicia al insertar el componente en el zócalo − No necesita adaptadores para componentes en DIP PROGRAMADOR DE MEMORIA Y MICROCONTROLADORES − Es capaz de programar diferentes tipos de memorias como EPROM, Flash... y microcontroladores como 8051y sus derivaciones − Soporta archivos en formato hexadecimal, binario,etc − Programa dispositivos con encapsulados DIP, QFP, LCC y PLCC − Incluye conversores de formato − Software para Dos y Windows EMULADORES EN CIRCUITO _ Qué es un emulador − Características generales de los emuladores − Presentación del emulador para 80C51 − Más emuladores DEFINICIÓN Los emuladores son herramientas hardware que permiten analizar el comportamiento de determinados microcontroladores. El emulador dispone de una interfaz de salida que tiene el mismo encapsulado que el microcontrolador. El emulador dispone de un software que permite al diseñador controlar la ejecución del microcontrolador. CARACTERÍSTICAS GENERALES DE LOS MODELOS −Pocos pines −Trabajan en tiempo real −Pueden emular distintos tipos de Microcontroladores −Soportan, prácticamente, cualquier tipo de memoria (ROM, RAM, EEPROM) EMULADOR PARA 80C51 − Emula microcontroladores 80C51 y sus derivaciones − Operación en tiempo real hasta 40 MHz − Software para DOS y MS−WINDOWS − Soporta microcontroladores con o sin ROM − 64k de memoria de datos − Memoria de datos con capacidad de mapeo − Conexión serie a PC a 115kbaudios... EMULADOR PARA MICROCONTROLADORES ST − Soporta Microcontroladores ST62 − Emulación en tiempo real − Soporta distintos tipos de memorias, desde ROM de 8KB hasta RAM de 192 B y EEPROM de 128B − Switches y LEDs incluidos en la tarjeta − Conexión serie a PC 115 Kbaudios − Programable en C, PLM y Assembler PHILIPS LOW PIN COUNT 8051s − Emula Microcontroladores Philips de pocos pines − Emulación en tiempo real (velocidades de hasta 20MHz) − Soporta hasta 4KB de memoria − Utiliza tecnología Philips Bond−Out − Software disponible para Windows − Soporte de alto nivel para compiladores de C − Conexión serie a PC hasta 115Kbaudios TARJETAS DE PROTOTIPO − Qué es una tarjeta − Características generales de las tarjetas − Tarjeta de prototipo PICME28/40 − Componentes para el montaje de una placa completa con PICME28/40 − Otros modelos DEFINICIÓN Las tarjetas son herramientas hardware que sirven para realizar la comprobación de los elementos que estarán integrados posteriormente en la placa. CARACTERÍSTICAS DE LAS TARJETAS DE PROTOTIPO − Incorporan fuente de alimentación con circuito oscilador − Conexión al PC mediante el bus ISA − Poseen zona para cableado propio TARJETA DE PROTOTIPO PICME28/40 − Incorpora una fuente de alimentación y un circuito oscilador − Carga directamente el programa desde el PC a la tarjeta a través del bus (en este ejemplo se trata de un bus ISA) − Soporta dispositivos de 28 y 40 patillas como PICMOS'76 y PICMOS'77 − Dispone de una amplia zona perforada para otras aplicaciones Ejemplo Las herramientas que os vamos a mostrar están basadas en los microcontroladores PIC 16F87X. La siguiente imagen nos muestra los componentes de los que consta, así como el sotware que precisa. Son los microcontroladores PIC16F876 y PIC16F877 que podemos utilizar. Consiste en una pequeña y económica tarjeta que incorpora el PICMOS'76. Esta tarjeta está preparada para incorporarse en el producto final que deseamos controlar. Estas tarjetas de memoria son capaces de almacenar los programas de aplicación del usuario TARJETA DE PRUEBAS X84 Programación en circuito (carga directamente el programa desde el PC a la tarjeta a través del bus) − Control de E/S mediante el bus − Posee conectores a todas las patillas del FPGA que lleva instalado − Soporta memoria PROM − Tiene zona de cableado propio − Reloj integrado en la tarjeta TARJETA DE PROTOTIPO VHDL − Programación en VHDL − Insertable en una ranura del PC (este modelo está diseñado para ranuras ISA) − Zona para cableado propio − Posee una zona para cableado propio − Conectores extra para otras aplicaciones − Puede ser utilitzada de forma autónoma, es decir, no necesariamente conectada al PC − Posee un programador integrado en la tarjeta ENTRENADORES PARA MICROCONTROLADORES − Qué es un entrenador − Micro´PIC LAB PLUS DEFINICIÓN También conocidos como Microtrainers. El "circuito entrenador" es un dispositivo electrónico que sirve como apoyo en el funcionamiento del microcontrolador. El diseñador es el encargado de adaptar el modelo a la configuración del circuito entrenador, es decir, de establecer las conexiones físicas entre éste y el microcontrolador. MICRO'PIC LAB PLUS Aquí se muestra el MicroPic Trainer − Permite el entrenamiento y diseño de aplicaciones y protocolos avanzados de comunicación como el bus 12C y el RS−232 − Proporciona los recursos hardware y software necesarios para su desarrollo − Consta de un sistema de desarrollo Micro'PIC Trainer conectado a una tarjeta de expansión de periféricos − Sistema de desarrollo Micro'PICTrainer completo − Manual de Usuario del Micro'PIC Trainer −Tarjeta Micro1PlC Trainer Plus de ampliación de periféricos, completa y conectada al Micro'PIC trainer con cable plano − Manual de Usuario de la Micro'PIC Trainer Plus − Disquete con software de comunicación y control del Micro'PIC Trainer − Disquete con software y rutinas 12C para la Micro'PIC Trainer Plus − Placa de metacrilato para soporte del equipo CONTRUCCIÓN DE UN PROGRAMADOR : Modo de programación de un pic : Para programar un Pic es necesario aplicar una tensión de 13 V a la patilla de reset , para que el pic entre en modo especial de programación . La programación es serie , por una patilla se introduce la señal de reloj y por otra se introducen los datos . Los Pic más modernos pueden ser programados de otro modo distinto , a la tensión de trabajo habitual . Funcionamiento del circuito : El programador elegido , el AN589 descrito en un documento pdf por microchip utiliza el puerto paralelo del ordenador , se ha elegido este programador frente a otros de puerto serie , los tipo JDM , por ejemplo , porque este utiliza una fuente de alimentación externa , ya que absorber corriente del integrado del puerto serie puede ser peligroso , además algunos portátiles no proporcionan suficiente tensión . Además , que sea el fabricante del microcontrolador , Microchip , el que proporcione el esquema es toda una garantía . Este programador permite la programación en circuito , para lo que hay que dejar en todos los circuitos que diseñemos un conector dedicado a recibir los cables que vienen desde el circuito programador . Construcción : Descargar la descripción completa del circuito en pdf ( He observado que algunos navegadores no muestran correctamente el esquema , se 'comen' algunas lineas , por lo que se recomienda encarecidamente descargarse la descripción completa ) ( Esquem del grabado ) La construcción es sencilla , y los componentes son fáciles de localizar y económicos . Se ha utilizado una placa perforada . (Vista superior del programador ya montado ) Como veréis , el modo de conexión del DB−25 es una “chapuza” , se recomienda utilizar un DB−25 para montaje sobre placa perforada , los cuales tienes las patas más largas y se distribuyen en la misma posición en las dos filas . En cuanto al conector de alimentación podéis elegir cualquiera de sección redonda para montaje sobre plana . Para poder alimentar el circuito con un transformador común . Podéis observar en la parte superior del montaje , dos integrados , cuando en el esquema solo hay uno . El autor ha incluido un 7812 para regular la tensión de entrada . Para elevar la tensión a más de 13 V necesarios para programar el PIC se ha incluido una resistencia y un led entra la salida y el común . Se pueden utilizar 78L12 ( 12 v ) y 78L05 ( 5 v. ) que son más pequeños , ya que la corriente es baja . Tanto en el esquema como en el montaje el patillage hacia el micro se describe para un 16F84 , de 18 patillas , si queremos utilizar , por ejemplo , un 16F876 de 28 patillas , solo tendremos que averiguar para ese micro cual es la patilla de masa , de reset , de entrada de reloj ( para programación ) y de entrada de datos ( para programación ) . Para la realización de las pistas utilizar las patas de los componentes , y cuando no sea posible , utilizar cable recubierto de material aislante . (Vista inferior del circuito : detalle de la realización de las pistas ) Software : Para Ms Windows puede utilizarse el IC−Prog , para linux puede utilizarse el pplin , este solo soporta el PIC 16F84 , también puede utilizarse el pp06 descargable desde http://pages.quicksilver.net.nz/sbridger/picp o desde la página del proyecto en sourceforge . Este programador esta disponible para Ms Windows y Linux , no soporta el AN589 , el programador aquí descrito , aunque podemos modificar el código fuente fácilmente . La única pega es que necesitaremos el Borlan Kylix para compilarlo , hay una versión de “estudiante” que puede descargarse , solo son cerca de 90 MB . Si queremos una versión para Ms Windows necesitaremos el Borland C−builder . También se puede utilizar el compilador de C de Borland . LINKS : Aquí tenéis las webs donde podéis consultar más ampliamente la información que os hemos mostrado y, además, hay algunas webs donde podéis encontrar otras herramientas hardware que nosotros no hemos ejemplificado. http://www.jdm.homepage.dk/newpic.htm http://www.todopic.com.ar/utiles/program_memorias_serial/ http://www.redeya.com/electronica/circuitos/prog/prog.htm http://scmstore.com/micros/Emulator/8051/default.asp http://scmstore.com/micros/Emulator/PIC/default.asp http://scmstore.com/micros/Emulator/186/default.asp http://scmstore.com/micros/Emulator/8051/SCMLC51/default.asp http://scmstore.com/micros/Emulator/8051/SCMLC51X2/default.asp http://scmstore.com/micros/Emulator/8051/ST/default.asp http://scmstore.com/micros/Emulator/8051/76x/default.asp http://scmstore.com/micros/PIC/epic.htm http://scmstore.com/micros/PIC/protpic.htm http://scmstore.com/micros/prog/Prog51/ http://scmstore.com/micros/prog/ProgUniv/default.asp http://sprint.iies.es/esp/programadores/labtool48.htm http://sprint.iies.es/esp/programadores/labtool41s.htm http://sprint.iies.es/esp/programadores/labtool148c.htm SIMULADORES SOFTWARE Simulador software − Definición: Programa que reproduce por software el comportamiento del microcontrolador en la ejecución de un programa. − Su empleo no exige ningún hardware y elimina muchos errores que agilizan el desarrollo posterior. Tipos de simuladores y definición − MPSIM −−−−−− Es un simulador de Microchip para los PIC. − SIMUPIC 84´ −−−−−− Es un simulador de Microsystems Engineering, sólo útil para los PIC16X84. − MPLAB −−−−−−− Simula programas en ensamblador. Inconveniente: Para simular en C necesita de la ayuda de otros programas. Ventajas de Simupic´84 sobre Mpsim. − Simupic 84´es más didáctico y profesional que Mpsim. − Simupic 84´tiene bajo coste. − La pantalla de menú principal del Simupic 84´dispone de todas las fases para la confección del software. Simupic´84 − Introducción − Instalación Introducción − Facilidad de manejo. − Reunir en un mismo programa unas elevadas prestaciones y un diseño fácil. − Opera en un entorno de trabajo en el que están integradas todas las herramientas para el desarrollo de un programa. − No es posible el uso de periféricos reales,ya que la simulación es llevada a cabo totalmente por software. Instalación − Instalación no es nada complicada. − El editor y ensamblador utilizados son el EDIT.COM del DOS y el MPASM de microchip. − Si se desean utilizar otros, se han de especificar en el fichero de configuración Simupic.cfg. PROGRAMADORES IC−PROG Este programa es muy recomendado por su gran cantidad de convenientes que tiene. Es conocido por la mayoría de personas que trabajan o están relacionadas con el mundo de los PIC. Se puede descargar gratis en diferentes webs y posee gran amplitud de posibilidades de trabajar con diferentes pics, así como las diferentes memorias con las que también trabaja. CARACTERISTICAS GENERALES − Freeware − Este programa permite programar todos los tipos de circuitos integrados usando Windows 95/98/NT/2000/ME/XP − Tiene la peculiaridad de que se encuentra en ingles, pero este no requiere gran conocimiento del idioma ya que es bastante intuitivo y simple. − Pics que soporta: 12C508, 12C508A, 12C509, 12C509A, 12CE518, 12CE519 12C671, 12C672, 12CE673, 12CE674 16C433 16C54, 16C56, 16C58 16C61, 16C62A, 16C62B, 16C63, 16C63A, 16C64A, 16C65A, 16C65B, 16C66, 16C67 16C71, 16C72, 16C72A, 16C73A, 16C73B, 16C74A, 16C74B, 16C76, 16C77 16F73, 16F74, 16F76, 16F77 16C84, 16F83, 16F84, 16F84A 16C505 16C620, 16C621, 16C622, 16C622A 16CE625 16F627, 16F628 Pull RB4 to GND! 16C711, 16C715, 16C765 16F870, 16F871, 16F872, 16F873, 16F874, 16F876, 16F877 16C923, 16C924 18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458 Memórias: 4−Wire eeproms: 59C11, 59C22, 59C13 I2C eeproms: 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64/65, 24C128, 24C256, 24C512 PCF8572 or 8572 = 24C01 PCF8582 or 8582 = 24C02 PCF8592 or 8592 = 24C04 SDA2506 SDA2516 SDA2526 SDA2546 SDA2586 SDA3506 SDA3516 SDA3526 4C016 == 24C01 GRS−003 == 24C02 GRN−004 == 24C04 GRN−008 == 24C04 GRX−006 == 24C04 GRX−007 == 24C04 KKZ06F == 24C01 BAW658049 == 24C02 BAW57452 == 24C02 M8571 == 24C02 X24C01 Flash Microcontrollers: 89C1051, 89C2051, 89C4051 IM−Bus eeproms: NVM3060 MDA2061, MDA2062 Microwire eeproms: 93C06, 93C46, 93C57, 93C56, 93C66, 93C76, 93C86 93C13 = 93C06 93C14 = 93C46 GRO−001 = 93C46 GRN−001 = 93C46 GRN−002 = 93C46 KKZ01 = 93C46 6005L = 93C06 B22AN = 93C06 P8911 = 93C06 CAT35C102 = 93C56 CAT35C104 = 93C66 CAT35C108 = 93C76 Estas son algunas imágenes del programa en si y las cuales ahora explicaremos: Al arrancar el programa por primera vez se tendrá que configurar las opciones de usuario. Para ello, aparecerá una imagen como la captura que se encuadra arriba a la izquierda, en la cual en el espacio "Programer" seleccionaremos el dispositivo de programación harware que deseemos. Dependiendo de dicho dispositivo deberemos elegir el puerto de conexión "Ports" que aparece en la figura arriba a la derecha, ya sea puerto en serie o en paralelo (Com1, Com2, LPT?). También aparece la opción de retardo "delay" y varias opciones mas que determinaremos. La ultima captura, nos sirve para poder seguir las ejecuciones del programa. Tenemos la opción de hacerlo paso a paso para un mayor seguimiento. Podemos observar que la columna que se encuentra mas a la izquierda esta en color azul, esto es porque dicha columna esta indicando las direcciones de memoria. Las siguientes columnas de color negro van cambiando dependiendo de la ejecución del programa. MICRO PIC TRAINER Es un programa desarrollado por Micro Sistems Engineering Bilbao y especifico para MS2. Se trata de un programa muy sencillo de utilizar, el cual soporta una gran variedad de pics. Ocupa un tamaño relativamente pequeño, y se puede descargar gratuitamente en varias paginas web como por ejemplo www.simupic.com. Otro gran conveniente para los que tengan problemas con el idioma, es que se encuentra en español para moyor comodidad. Para puerto paralelo. Esta es una lista de todos los PICs que soporta: 16C61, 16C62, 16C63. 16C711, 16C715, 16C71, 16C72, 16C73, 16C73A−B. 12C5908, 12C5909, 12CE518, 12CE519, 12CE673. 16C20, 16C21, 16C22. 16F83, 16F84, 16F84A, 16F873, 16F876. Aquí tenemos una captura del programa en si, el cual explicaremos ahora: Con la ventana "buffer de memoria del programa" podemos seguir las instrucciones que el programa va ejecutando. A la izquierda, la columna verde representa las direcciones de memoria y las siguientes amarillas las instrucciones. Micro PIC trailer nos da la posibilidad de elegir en "selección de modelo" el chip que deseemos. Al final de la imagen nos aparecerá el modelo elegido con todas sus características. Algunas de las instrucciones que este programa ofrece son las de abrir ficheros desde el mismo, programar, verificar, leer pic? Tabla comparativa entre los dos programas para la programación de microcontroladores pic, IC−PROG y MICRO PIC TRAINER Sistema operativo en los cuales trabaja IC−PROG MICRO PIC TRAINER Windows 95/98/NT/2000/ME/XP Para MS2 Licencia freeware freeware Idiomas Español/ingles español Complegidad Muy completo simple Puerto Serie/paralelo paralelo COMPILADORES C2C C COMPILER Este es un compilador c para microchip (PIC) y scenix (SX). Trabaja bajo MS Windows 95/98/ME/NT/2000/XP. Esta aplicación esta distribuida como shareware, pero tiene un periodo de prueba del programa de 21 días. El tamaño es de 702kb. Algunas de las características de este programa son: − opciones de optimización. − optimización del código ensamblador. − bancos de memoria RAM, ROM. − Opción de utilizar el código original de C. Lo podremos encontrar en: Internet: http://www.geocities.com/SiliconValley/Network/3656/c2c/c.html El siguiente diagrama muestra los pasos que tiene que dar el archivo c hasta el chip. En la siguiente imagen podemos observar un ejemplo y ver algunas de las instrucciones de las que el lenguaje C se ayuda. Como vemos el programa se encuentra en ingles pero este es bastante sencillo y fácil de entender con un nivel no muy alto. Podemos ver los apartados "File" y "Edit" con los cuales podremos hacer funciones básicas como abrir, cerrar, copiar, pegar entre otras. En el apartado "project" podremos editar y abrir nuevos proyectos. La ventana "Compile" podremos ejecutar la función de compilar, programar, simular el programa,. En la ventana de "Opotions" podremos encontrar funciones de optimación, opciones de compilación así como fuentes y colores para las instrucciones. El apartado de "Help" nos servirá para consultar problemas o posibles dudas que podamos encontrar. HI−TECH PICC Este es un compilador desarrollado en lenguaje C para microchip PICmicro(R) 12/14/16/17 series de microcontroladores. Toda la información de escritura esta soportada incluyendo 24 y 32 bits IEEE, estándar de la coma flotante. Con HI−TECH PICC podemos hacer un completo uso de los PICs además nos da la posibilidad de optimización en diferentes niveles. Una de las características mas interesantes es que trabaja bajo muchas plataformas, de entre ellas Windows, Linux, UNIX. El PICC compiler soporta todo tipo de microchips PIC12xx, PIC14000, PIC16xx y 17xx. Comparativa entre C2C and HighTech PIC C compiler. En la siguiente tabla comparamos dos compiladores. El primero es el C2C y el segundo es high tech PIC C. SI − IMPLEMENTADO; No − NO IMPLEMENTADO; Limitado − POSEE ALGUNAS LIMITACIONES. SI SI High Tech PIC C SI SI (bajo DOS) SI SI SI SI SI Limitada SI No SI Limitada SI Dispone de 10 ejemplos Windows 95/98/ME/NT/2000 DOS Linux Scenix(tm), Microchip(tm) (varios tipos en 3.27) 40 US$ SI SI SI SI SI SI SI Limitada SI 1 ejemplo C2C constantes IDE usuario define la localización de las variables Definición del tamaño Array Automática iniciación de las Arrays Uso de Array con expresiones referencias Elimina funciones no usadas estructura/Unión Soporte del proyecto Versión gratuita Librería ejemplos plataformas Procesadores que soporta Precio DOS Microchip(tm) (various types) 850 US$ Comparación de código La siguiente tabla muestra el resultado tras compilar el mismo fichero con ambos compiladores. De la siguiente tabla podemos observar la RAM y ROM usadas por el ensamblador. iter.c RAM uso ROM uso C2C 13 95 palabras High Tech PIC C 12 98 palabras pictest.c C2C High Tech PIC C RAM uso 10 12 ROM uso 66 palabras 94 palabras El C2C compiler usa la misma memoria RAM y la misma o un poco menos ROM. Editores : gvim Para empezar a trabajar necesitaremos un editor de textos , aunque hay un innumerable número de ellos , he elegido el vim , un editor muy apto para programación . Paso a enumerar algunas de sus principales características : − Esta disponible en cualquier sistema UNIX , LINUX y diferentes familias de BSD , (aunque sea en su versión reducida vi ) − Aunque trabajaremos con la versión con gui ( gvim ) , vim esta disponible para consola , pudiendo ser utilizado en sistemas sin entorno gráfico , en logins remotos ... ya que sus requerimientos de recursos son mínimos . − Dispone de realzado de sintaxis para más de 300 lenguajes y ficheros de configuración , de entre los cuales se encuantra la opción Assembly > PIC (figura1) . − Tambien hay una version para dos y windows . Página del proyecto vim : http://www.vim.org (fig 1. Gvim en un escritorio GNOME bajo GNU/Linux Debian 3.0 Woody ) Compiladores: Podemos encontrar compiladores para C y Pascal , comerciales y de codigo abierto . − Compilador de C CCS (versión Linux ) cuyo precio es de : −125 $ PIC's de 12 bits . −125 $ PIC's de 14 bits . −125 $ PIC's de 16 bits . http://www.ccsinfo.com/picc.shtml − Compilador de C C2C (versión linux ) cuyo precio es de 59'95 $ . http://www.picant.com/c2c/download.html − Compilador de Pascal JAL de codigo abierto ( bajo licencia GPL ) . Puede descargarse libremente desde http://www.voti.nl/jal . El proyecto tiene una replica en sourceforge . Hay varios proyectos en marcha para desarrollar un compilador de C de codigo abierto para linux . Por ejemplo el SDCC un compilador de ANSI C para microcontroladores intel 8051y Z80 que se esta adaptando para trabajar con PIC's . La página del proyecto es http://sdcc.sourceforge.net Ensambladores : gpasm (Gputils) En cuanto a ensambladores tenemos donde elegir : −PTK4L desarrollado por Sergio Acosta , es un toolkit que integra ensamblador , desensamblador y programador de microcontroladores PIC16C84 y PIC16F84 . −GPUTILS : Las utilidades GNU para pic , que incluyen un ensamblador , un desensamblador y un linkador . Son las que utilizaremos por dar soporte a un mayor numero de PIC's . Las Gputils estan disponibles para todos los UNIX/ Linux /*BSD , windows , Mac OS y Risc OS . La pagina web del proyecto es : http://gputils.sourceforge.net/ Los PIC's soportados por las gputils son : El ensamblador gpasm , incluye un completo manual de 30 páginas en formato pdf . El modo de interactuar con el es atraves de la linea de comando : Simuladores : gpsim Ademas del gpsim hay otros dos simuladores que describiremos rápidamente : −NitPic : escrito por Dave Maden , solo simula al PIC16C84 . (nitpic en pleno trabajo) −simulpic : emulador en modo consola que solo emula al PIC16C84 −Gpsim : simulador del proyecto GNU que soporta un número considerable de PIC's . Listado de microcontroladores soportados : PIC12C508 PIC12C509 PIC16C54 PIC16C61 PIC16C62 PIC16C63 PIC16C64* PIC16F627 PIC16F628 PIC16C65* PIC16C71 PIC16C72* PIC16C73* PIC16C74* PIC16C84 PIC16CR83 PIC16F83 PIC16CR84 PIC16F84 PIC16F873* PIC16F874* PIC16F877* PIC17C752* PIC17C756* PIC17C762* PIC17C766* PIC18C242* PIC18C252* PIC18C442* PIC18C452* * Not fully supported (yet). ( Escritorio Gnome trabajando con Gpsim ) Programadores : Hay muchos programas grabadores donde elegir , todos ellos de codego abierto . Podemos elegir el adecuado desde www.gnupic.org . Recomendamos pp06 ( para programadores de puerto paralelo ) que tiene página de proyecto en sourceforge , esta disponible tambien para windows .Aunque el número de programadores hardware es limitado , podemos modificar el código fuente facilmente para adaptarlo a nuestras necesidades . Y picprog para programadores tipo JDM (de puerto serie ) . ( pagina www.gnupic.org mostrando la lista de programadores ) ( terminal interactuardo con pp06 en modo debug para ajustar nuestro hardware ) Diseño de PCB : Para el diseño de pcb tenemos alternativas de codigo abierto , como xcircuit y comerciales como el Eagle . Recomendamos el Eagle , más completo y de mejor presentación . Hay disponible una versión descargable completamente operativa con algunas limitaciones para uso personal . Podemos descargarnos la versión personal del eagle desde su página web : http://www.cadsoft.de Eagle tambien esta disponible para Ms windows . ( Eagle mostrando las características de un PIC 16F877 ) (Xcircuit navegando por sus librerias ) Links de interes : http://www.vim.org Página del editor vim http://www.gnu.es Página del proyecto GNU http://www.debian.com Página de la distribución GNU/Linux Debian http://www.opencd.com Página donde se pueden comprar CD's GPL http://www.gnupic.org Página del proyecto gnupic http://www.yty.net/pic Página en ingles que describe como trabajar con PIC's en Linux . http://www.mozilla.org Página del navegador de codigo abierto Mozilla http://www.es.gnome.org Página de Gnome ( desktop de codigo abierto disponible para todos los UNIX , hasta Sun lo incluye en sus últimas versiones de Solaris ) http://www.sourceforge.net Portal que acoge gran cantidad de proyectos de software libre . http://www.freebsd.org Sistema operativo libre basado en BSD disponible para i386 , DEC , Alpha , PC−98 ( Se esta portando a arquitecturas alpha (Digital ) , ia64 ( intel ), mips ( Silicon Graphics ) , ppc ( apple ) , sparc64 ( Sun ) , x86−64 ( AMD ) . http://www.netbsd.org Sistema operativo libre basado en BSD portado a más de 55 arquitecturas diferentes , entre las que se incluyen hasta consolas de videojuegos . http://www.openbsd.org Sistema operativo libre basado en BSD , con especial énfasis en la seguridad , portado a 9 arquitecturas entre las que se incluyen estaciones de trabajo HP ... Sobre este trabajo : La parte sobre linux de este trabajo ha sido realizada bajo un sistema GNU / Linux basado en Debian 3.0 Woody con kernel 2.4.20 y escritorio gnome . Han sido utilizados los siguientes programas : Gimp : programa de edición fotográfica para realizar las capturas . StarOffice 5.2 de Sun Mycrosystems para la edición de las páginas web . Mozilla 1.2.1 : navegador web . Gvim : para la programación del código html .