03 septiembre 2014

Iniciando un proyecto con un PIC32

Hace mucho que no escribo aqui, y la verdad es que es imperdonable por mi parte, y más cuando estoy metido en un proyecto que da para muchas entradas...

Por medio de una amiga he entrado en un proyecto de desarrollo de una máquina más o menos compleja, con varios componentes hardware como una bomba, un compresor, sistemas de refrigeración, sondas de temperatura, controles de drivers externos, etc...

La parte que verá el usuario es una interfaz gráfica hecha en Java que corre en una placa Nitrogen (que al final es como un pequeño ordenador), y el control de todos los dispositivos hardware se realiza desde un microchip PIC32 (concretamente un PIC32MX575F256H) montado en una placa que otra gente del equipo ha diseñado para ello.

La parte de la que me encargo yo es de la programación del PIC32. Esto supone un reto, y una forma de volver a acercarme a la parte "hardware" de la informática, aunque como la programación se realiza en C (mejor dicho, un "C" adaptado por el fabricante) no me ha costado demasiado realizarlo.



Ya habíamos hecho algunas reuniones para ir aclarando puntos, pero no recibí las primeras especificaciones hasta finales de Mayo, cuando me tocó ir a Alemania e Italia por cosas de trabajo.

Así que acudí a la página de Microchip (el fabricante de los PIC) para bajarme el entorno de desarrollo (el MPLAB X). Y descubrí, con alivio, que este entorno de trabajo proporciona un simulador que viene muy bien para las tomas de contacto con la herramienta. Evidentemente me bajé toda la documentación que encontré sobre estos micros, así como códigos de ejemplo, librerías, etc...

Y ahí empezaron mis problemas. Descubrí que las librerías que la mayoría de desarrolladores utilizan en sus proyectos con los PIC están descatalogadas para los PIC32, y me tocó acudir a unas librerías de Microchip denominadas  Harmony. Estas librerías aún no se encuentran en una situación estable, e incluso cambian bastante entre una release y la siguiente. Lo que me ha obligado a quedarme atado a una versión en concreto para evitar problemas (hasta hace unas semanas no han sacado la versión "1.0", y cuando empecé con todo esto la versión disponible era la "0.7").

(continuará)


No hay comentarios: