Programación de microcontroladores Atmel en Linux (Parte II)


Bueno luego de "cacharrear" con eclipse y Code::Blocks en mi equipo me he decidido por uno de estos dos entornos de desarrollo pero antes de contarles mi elección final voy a presentarles los problemas que experimente en con cada uno de ellos.

En las dos anteriores entradas Programación de microcontroladores Atmel en Linux (Parte I Eclipse) y Programación de microcontroladores Atmel en Linux (Parte I Code::Blocks) publique la forma de instalar estas dos herramientas para que quedaran por decirlo de algún modo listas para desarrollar, así que primero vamos a ver como crear un proyecto con cada una de estas herramientas.

  CREAR UN PROYECTO

 En Eclipse

abrimos eclipse vamos a File => New => Projetc

Se abrirá una ventana en la cual seleccionaremos C Project que esta dentro de la carpeta C/C++
 


Damos clic en Next y nos aparecerá una ventana en la cual le pondremos el nombre a nuestro proyecto y seleccionamos el AVR-GCC Toolchain para compilar nuestro código.


Damos en Next nos saldrá una ventana para seleccionar la configuración del proyecto donde dejaremos chuleados las dos opciones que nos aparecen aunque la que realmente nos importa es la release ya que es en esta donde se generara el archivo .hex (es el archivo que se quema en el microcontrolador).
 


Damos clic en Next y se abrira la ultima ventana para configurar nuestro proyecto en la cual especificaremos el microcontrolador que vamos a usar y la vellosidad que usaremos (el cristal).

Y aquí fue donde se presento mi mayor problema debido a que como pueden ver en la imagen sobre estas lineas no me deja escoger que tipo de microcontrolador quiero programar y es algo curioso ya que si buscan vídeos o información de eclipse a todo el mundo le funciona a la primera, aunque según unas cuantas experiencias creo que se debe a la arquitectura de 64 bits de Linux ya que he tenido problemas con otras aplicaciones como el ZPUino he incluso kicad lo que me hace pensar que si esto se hace en algún sistema de 32 debería funcionar correctamente (si alguien sabe la solución quedaría muy agradecido).

En Code::Blocks

Abrimos Code::Blocks y damos clic en Create a new project y se abrirá una ventana donde seleccionaremos AVR Project.

Damos clic en Go se abrirá una ventana a la cual le damos en next y nos pedirá un nombre para el proyecto una ruta donde guardar el proyecto.
 

 

Clic en Next y nos pedirá la configuración del proyecto donde seleccionaremos la opción Release para que nos genere el archivo .hex y presionamos en next

 
Por ultimo nos pedirá seleccionar el tipo de microcontrolador a programar y damos clic en finish


Al finalizar veremos que CB nos ha creado dos archivos dentro del proyecto


COMPILANDO

Eclipse

Luego de crear nuestro proyecto procedemos a realizar algún código sencillo para probar que todo esta funcionando correctamente, eclipse no crea ninguna carpeta en el proyecto así que tendremos que crear una carpeta con el nombre de source  y dentro de esta creamos un archivo llamado main.cesto se hace dando clic sobre el nombre del proyecto y elejimos la opcion New folder  para crear la carpeta y luego sobre la carpeta creada realizamos el mismo proceso pero no creamos un folder sino un nuevo archivo.

Escribiremos lo esencial para probar si no estro equipo esta compilando como debe ser, el código sera el siguiente
#include <avr/io.h>

int main(void)
{
    while(1)
    ;

    return 0;
}


Este código no hace nada en un micro pero si nos servirá para probar si nuestro equipo si esta compilando, si intentamos compilar antes de guardar lo que hemos escrito nos dará error ya que eclipse ve es un archivo vació así que tendremos que guardar siempre al hacer un cambio en el archivo, para compilar buscamos el icono
Damos clic en la flecha para ver mas opciones y seleccionamos la opción Release
Eclipse empezara a compilar y en la consola saldrá el siguiente mensaje

El código como ya lo dije antes no hace nada pero si no llegara a compilar significa que algo hicimos mal en la instalación de eclipse y las librerías para programar avr por lo tanto tendremos que buscar que es lo que esta fallando.
Si todo sale bien eclipse nos creara automáticamente algunos archivos en el proyecto.
Dentro de la carpeta Release encontraremos nuestro archivo .hex que necesitamos para quemar en el microcontrolador.

En Code::Blocks

Luego de crear el proyecto Code::Blocks nos genera automáticamente un código el cual no hace ninguna acción pero nos servira para compilar y saber si tenemos algun problema en nuestra herramienta de desarrollo, buscamos el icono

presionamos sobre el y si todo esta bien nos saldrá el siguiente mensaje en consola

Sin embargo a mi me marco errores de compilación y es debido nuevamente a que utilizo un sistema de 64 bits y Code::Blocks busca las librerías de 32 bits y la solución de estos errores la publicare en una próxima entrada.

Mi elección

Sin lugar a dudas me gustaría quedarme con Eclipse aunque tiene una configuración un poco mas complicada que la de Code::Blocks para que funcionen nuestros microcontroladores de ATMEL, es mas sencillo para un usuario normal de utilizar y quemar de esta forma un microcontrolador desde Linux sin embargo al momento de escribir estas lineas no he podido solucionar el problema del MCU Type que se genera al momento de crear un nuevo proyecto, aunque me deja compilar código y generar el archivo .hex no estoy seguro de que funcione correctamente en un microcontrolador ya que sus registros cambian.

Por este motivo mi elección es Code::Blocks aunque es un poco mas difícil que Eclipse para realizar algunas tareas, los problemas que he encontrado los he podido solucionar bien sea buscando en algún foro o toqueteando uno que otro archivo.

Sea cual sea el entorno de desarrollo el código sera el mismo y los procesos a realizar serán los mismos.

Comentarios

  1. También tengo problemas al seleccionar el MCU - type en eclipse, espero encontrar pronto la solución

    ResponderBorrar
  2. Hola. Muchas gracias por la información. Tengo el mismo problema, al instalar y probar el Eclipse no me deja escoger que tipo de microcontrolador. La ventana de MCU TYPE: vacía. Agaredezco mucho si ya has confirmado una solución al problema.
    Gracias.

    ResponderBorrar
    Respuestas
    1. Aun no he podido encontrar una solución a este problema, aunque para ser sinceros la verdad no he buscado más información sobre el tema

      Borrar
  3. :( Alguien encontre como hacerlo andar en 64bits?

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

SAFE MODE en PS Vita

Instalar HENkaku ENSO en PS Vita