Últimamente me estoy metiendo en el mundo de los microcontroladores, me gusta la electrónica y ahí de a poquitos he venido aprendiendo, parte en la universidad aunque lo que se enseña es poco y parte en internet. Como dije al principio últimamente he estado leyendo mucho sobre los PICs, ya tengo un quemador para PICs y este me trajo el software necesario: MPLAB como IDE e IC-Prog como grabador, hasta el momento nada de quejas de los programas ya que me han funcionado bien las veces que los he utilizado.
En Ubuntu he venido utilizando Piklab, un IDE Open Source para el desarrollo de proyectos en PIC muy similar a MPLAB pero más Linuxero ;-) que esta presente en los repositorios de Ubunut, esta diseñado para entornos KDE pero no hay problemas al correrlo en Gnome. El programa soporta muchos quemadores que se conectan por diferentes puertos como el serial y el paralelo por ejemplo, además de muchos quemadores del mercado como ICD2, Pickit2 o PicStart+ por ejemplo. Piklab igualmente se integra y trabaja con muchas herramientas open source como compiladores, debugger o linkers, podemos destacar (Datos extraidos de su web):
Otra importante caracteristica de Piklab es que permite el manejo de proyectos y también el trabajo en pestañas. En conclusión con Piklab podemos editar, compilar y grabar nuestro código en nuestros PICs en lenguajes Assembly o en C.
Para utilizar el programa solo basta con configurarlo según nuestras necesidades, lo primero entonces sería instalarlo:
sudo apt-get install piklab
Una vez instalado lo ejecutamos y configuramos el programa especificando el tipo de grabador que usamos y el programa que compilará nuestros códigos, estos se encuentran en la parte inferior del programa:

Para mi caso el quemador que uso trabaja por el puerto serial, no es un quemador de los comerciales conocidos por lo cual no aparece en la lista, así que la opción que uso es Porgramador Directo (Puerto Serie). Como compilador uso SDCC con el cual me he sentido cómodo, además de soportar PICs de la serie PIC16 y PIC18 soporta otras clases de dispositivos que se especifican en
su web. Otro compilador muy bueno y usado es el
Gputils, una colección de utilidades para trabajar con PICs en Linux, sin embargo la elección del compilador es nuestra desición según nuestras necesidades.
Lo siguiente sería especificar el PIC con el que vamos a trabajar, esto lo hacemos en la barra ubicada en la parte izquierda, para mi caso estoy trabajando con un
PIC16F84A. Una vez especificado todo podemos comenzar a crear el código, creamos un nuevo archivo fuente desde el menú archivo y empezamos a editar el código. Al crear el archivo debemos especificar su extensión (.asm).
Para compilar y construir el archivo .hex nos vamos al menú Construir y seleccionamos
Construir archivo (o
Construir proyecto si estamos trabajando en un proyecto), si no hay errores el programa nos arrojará un mensaje de éxito y nos enviará a una nueva pestaña dónde podremos visualizar el código en formato hexadecimal del archovo .hex, los archivos .hex, .lst y .cod quedan guardados en la misma carpeta que esta el archivo .asm. Si hay errores estos se verán en la parte inferior del programa y no se creará ningún archivo .hex:

Ahora solo quedaría grabar en el PIC el software que se ha creado, lo primero es comprobar que haya comunicación entre el grabador y el programa, para ello nos vamos al menú
Programador y luego en
Conectar, si no hay problemas el programa nos debe mostrar un mensaje de conexión con éxito similar a este en la parte inferior:

Dado el caso de que haya problemas debemos verificar que la conexión física entre el PC y el grabador si esté correcta, y en caso tal probar con otras opciones de configuración. Si no tenemos problemas nos vamos al menú superior y presionamos el botón que dice
Programar:

Si no hay problemas el programa nos debe arrojar un mensaje de Programación exitosa, si hay errores debemos evaluar que el PIC y el grabador si esten buenos. Con el programa también podremos borrar, leer y comprobar los programas que ya existan en el PIC. Una vez grabado el PIC solo queda montarlo en nuestro circuito y comenzar a hacer uso de él.
Como nota final queda decir que piklab no es la unica alternativa que existe para trabajar con PICs desde Linux. Una buena dirección con muchos recursos Open Source para esta tarea es:
http://www.gnupic.org/
Allí hay infinidad de recursos para trabajar con PICs: grabadores, compiladores, depuradores, etc, que no solo funcionan en Linux si no también en otros sistemas operativos y lo más importante: Gratis!