Probando mikroC para PIC32

Test compilador mikroC para PIC32

MICROCONTROLADORES

Biblioman

2/14/20114 min read

La empresa MikroE ha sacado un nuevo compilador para la familia de Microcontroladores de 32 bits de Microchip. El compilador al igual que sus predecesores está disponible en las versiones para C, Basic y Pascal. De momento está en su versión Beta pero ya esta disponible para su descarga desde la página de MikroE, lo menos que podía hacer era probarlo, aquí tenéis un par de vídeos de ejemplos sencillos que realice con este nuevo compilador para PIC32.

Otro ejemplo basado en una librería para generar tonos musicales, el código fuente y el esquema de conexión viene incluido en los ejemplos que trae el compilador:

mikroC es un compilador diseñado para su funcionamiento en el Sistema Operativo Windows incluyendo Windows 7 en sus versiones de 32 y 64 bits. Se me ocurrió ver que tal funcionaria en Ubuntu a través del emulador Wine, y los resultados fueron plenamente satisfactorios.

El compilador generó el .HEX sin problemas y permitió la depuración software del código fuente de igual forma a como si estuviéramos en Windows.

El siguiente paso sería el programar el PIC32 desde Linux, para ello decidí probar la versión Beta para Linux del MPLAB-X.

Como es una aplicación Java previamente hay que instalar en el PC el RunTime de Java (JRE). Como está incluido en los repositorios de Ubuntu no hay ningún problema. Lo podemos hacer abriendo una consola y ejecutando la siguiente sentencia:

sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts

O de forma gráfica, desde Aplicaciones -> Centro de Software Ubuntu. Buscamos OpenJDK Java 6, le dados a instalar y listo.

Desde la página del proyecto MPLAB-X de Microchip nos descargamos el IDE para la plataforma Linux x86 (yo también me descargue el compilador C32 Lite en su versión para Linux, a ver que tal iba).

Los programas vienen en formato binario (.bin). Para instalarlo en Ubuntu previamente hay que darles permisos de ejecución al fichero, por medio de la consola lo podemos hacer de la siguiente forma:

chmod +x mplabxidebeta32.bin

Si queremos hacerlo de forma gráfica seleccionamos el archivo, pulsamos con el botón derecho sobre él y seleccionamos propiedades, en la ventana que nos sale hacemos clic sobre la pestaña permisos y marcamos el check-box «permitir ejecutar el archivo como un programa».

Una vez hecho esto solo nos queda instalar el programa. Para instalar un programa en Ubuntu con extensión .bin simplemente tenemos que abrir una consola dentro del directorio donde tengamos el programa de instalación y escribir lo siguiente en la terminal:

sudo ./mplabxidebeta32.bin

Y empezará el proceso de instalación. El programa se instalará dentro del directorio /opt y nos creará un acceso directo en el escritorio desde donde podremos lanzar la aplicación.

Al ejecutar el programa por primera vez se abrió sin errores y todo parecía funcionar bien, incluso C32 Lite compilaba sin problemas los ejemplos que traía y generaba los .HEX correspondientes, el problema vino al intentar transferir el archivo .HEX al Microcontrolador, según se muestra en la figura de abajo aparecía un mensaje de fallo de comunicación entre el MPLAB X y el hardware del ICD2:

Este paso es primordial para dar por satisfactorias las pruebas del MPLAB X bajo Linux, de poco sirve que podamos compilar los programas en Linux si para transferir el programa al PIC tenemos que irnos a Windows, para eso se hace todo desde Windows y ya está. Lo primero que pensé es que me faltaba algún driver por instalar o algo por configurar en el IDE. Pero no, todo estaba correcto y como se muestra en la figura de abajo el ICD2 aparece como programador soportado dentro del MPLAB X.

Después de buscar y buscar... gracias a los foros de Microchip descubrí que se trataba de un error de la versión Beta para Linux que está pendiente de resolver. En Windows la versión beta va un poco más avanzada (4.1) y por lo visto funciona sin problemas. Por lo tanto es solo cuestión de tiempo que funcione correctamente en Linux (por algo todavía no estamos en la versión Release del producto).

En cuanto a la utilización del nuevo MPLAB X es bastante sencillo y desde la página del proyecto hay una presentación (en ingles) con muchas fotografías que explica las diferencias que hay entre este nuevo IDE y el antiguo MPLAB de toda la vida.

El entorno gráfico bajo mi punto de vista le falta personalizarlo un poco mas, en la versión Beta actual de Linux (4.0) es clavado a NetBeans (la plataforma de desarrollo con la que se ha creado el programa).

Fuentes de información