Últimos Tutoriales
Chat
Licencia
| Programación de Microcontroladores PIC en C con Ubuntu utilizando el ICD2 |
| Escrito por biblioman |
|
Hardware:
Programador y depurador en circuito ICD2 de Microchip, puedes obtener más información sobre el aquí.
Placa demo de desarrollo PICDEM 2 PLUS, el esquema y toda la información de la placa la tienes aquí.
Software:
SDCC (Small Device C Compiler). Es un compilador para Microcontroladores de código libre que está disponible para diferentes plataformas entre ellas Linux. Puedes obtener más información aquí.
La distribución de Linux que vamos a utilizar como sistema operativo va a ser Ubuntu 9.04.
![]()
Al hacer clic en Piklab se nos lanzará el IDE:
Ahora tenemos que configurarlo, para ello seleccionamos en el menú Programador-Settings…
Donde seleccionaremos la opción de Seleccionar Programador, en la parte derecha donde pone programador en uso buscaremos Programador ICD2 y en la pestaña Selección de Puerto seleccionaremos Serie. El ICD2 tiene dos formas de conectarse a nuestro PC: por un puerto serie (conector Db9) ó a través de un puerto USB mucho más rápido y aconsejable, aquí vamos a ver las dos formas. Si hemos seleccionado la opción del puerto serie y tenemos conectado el ICD2 tal y como se muestra en la figura de abajo, nos saldrá que la conexión es correcta.
![]()
Ahora seleccionamos la pestaña que pone Específico y en Carpeta de firmware tendremos que poner la ruta a la carpeta donde se encuentran los drivers del ICD2, para que el Sistema Operativo se pueda comunicar con el dispositivo Hardware.
Bueno, llegado hasta aquí alguno se preguntará donde están los drives para Linux del ICD2. Pues bien el ICD2 está pensado en principio para que funcione sobre el Software Mplab de Microchip que solo funciona sobre plataformas Windows y por tanto no hay un paquete con los drivers para descargar desde la página del fabricante, pero los desarrolladores de Piklab lo que han hecho es dar la opción de poder utilizar los drivers que en un principio estaban pensados para Windows en Linux. Aunque todo esto pueda parecer complicado vamos a ver qué fácil es: Lo que necesitamos es instalar el paquete de instalación de MPLAB en una plataforma que tenga Windows instalado, si no tienes ningún PC con una partición que tenga este sistema operativo instalado puedes crearte una máquina virtual con Virtual Box, VMware ,etc. ó también puedes instalarlo en Linux a través de wine. Yo lo he hecho desde un portátil en el que aún tengo Windows XP instalado. Una vez descargado el instalador, se instala como cualquier aplicación de Windows. Pues bien, una vez instalado nos vamos al directorio donde se ha instalado y buscamos la carpeta ICD2 según se muestra en la figura de abajo:
![]()
Ahora hay que copiar esa carpeta con todo su contenido y pegarla en nuestro sistema Ubuntu donde queramos, por ejemplo yo la he pegado dentro de mi carpeta personal:
![]()
Ahora solo nos queda seleccionar ese directorio, haciendo clic en el icono que hay en forma de carpeta al lado del campo de texto y pulsar el botón OK para aceptar los cambios:
Y listo, ya tenemos instalado los drivers de nuestro dispositivo ICD2 para que funcione en Linux.
![]()
Nos aparecerá una nueva ventana donde seleccionaremos crear plantilla de archivo fuente, para que Piklab se encargue de hacernos el esqueleto de nuestra aplicación.
![]()
Una vez que pulsemos sobre Finish, Piklab nos mostrara el proyecto creado, en la ventana de edición tendremos que adaptar la plantilla creada a las necesidades de nuestro programa. El ejemplo que yo he creado hace parpadear el led conectado a la patilla RB1 del PIC a intervalos de un segundo. Fijaros en la parte de abajo, ya está seleccionado el tipo de programador que vamos a utilizar y con qué compilador se va a generar el proyecto. Si seleccionamos en el menú Construir-Construir Proyecto… y miramos en la traza de compilación veremos que nuestro proyecto se ha generado con éxito.
El código completo del proyecto lo pondré en la sección descargas.
Bien, si desconectamos el cable RJ-11 que une el ICD2 con la tarjeta de demostración, veremos cómo parpadea el Led a intervalo de un segundo.
CONEXIÓN DEL ICD2 AL PC UTILIZANDO LA CONEXIÓN USB
Si utilizamos la conexión USB, la velocidad con la que programaremos el PIC será mayor, además tendremos más fiabilidad frente a errores de programación. Vamos a ver como se hace:
Abriremos la ventana de configuración del programador ICD2 y en la pestaña Selección de Puerto, seleccionaremos USB y pulsaremos OK, según se muestra en la figura de abajo:
Aparentemente ya debería de funcionar, pero no es así, por seguridad Linux no permite el acceso directo por software a los dispositivos USB.
2.- Nos vamos al directorio: /etc/udev/rules.d, creamos un nuevo archivo y lo llamamos: 026_microchip.rules según se muestra en la figura de abajo.
![]()
3.- Una vez creado el archivo lo editamos y escribimos lo siguiente:
4.- Abrimos la terminal y creamos el grupo "microchip" escribiendo: groupadd microchip
Aquí tienes un vídeo de demostración del ejemplo:
|
| Última actualización el Martes, 29 de Septiembre de 2009 12:41 |
Programación de Microcontroladores PIC en C con Ubuntu utilizando el ICD2















